artiface/artiface/ AgileDevelopmentMethods


Agile Development Methods

During the 1990s, a number of lightweight software development methodologies evolved, such as Rapid Application Development, Unified Process, Dynamic Systems Development Method, Scrum, Crystal Clear, Extreme Programming (often abbreviated as XP), and feature driven development. The Agile Manifesto was written by a number of pioneers of agile development in 2001.

The Agile Manifesto

The 12 principles of agile development

An Overview of Agile Development

Most agile development methods break things down into small chunks of work that can each be completed in a short, predictable time frame, generally a small number of weeks. These are often called sprints. The aim is to have something working by the end of each sprint. “Working software is the primary measure of progress.”

Face to face communication, rather than phone, chat or email, is considered the most efficient means of communication. Having everybody together around a whiteboard reduces the time it takes for discussions to go back and forth between involved developers.

Each team has a customer representative, agreed by stakeholders to act on their behalf, and who is committed to being available to developers to answer questions.

The main feature of agile, as compared to e.g. waterfall, is the short feedback loop and adaptation cycle. Developers feed back reports on progress and issues to each other on a daily basis, along with what they intend to accomplish each day.

Tools such as continuous integration, automated unit testing, and techniques such as pair programming, test-driven development, design patterns, and others, are often used to improve quality and enhance agility.

Extreme Programming

We shall conclude by summarising one form of agile development known as Extreme Programming. Extreme programming was developed by Kent Beck during his work for Chrysler during the 1990s. This was a period when object-oriented programming supplanted the procedural programming paradigm, and the need arose to prioritise time-to-market and to react to rapidly changing requirements.

Rules

Coding:

12 Practices

Continuous integration

Coding standards