Agile Software Development

Home What We Do Software Development Agile Software Development

Agile Development

Agile development is a software development approach that emphasizes shorter delivery cycles with frequent customer collaboration and faster responses to change (less rigid plans). It favors working code over more disciplined and rigid documentation and tool-based software development methodologies (see the Agile Manifesto).

Kanban is a framework for Agile development that visualizes workflow with a kanban board in order to balance demand with available capacity and bottlenecks. Scrum is another framework that offers iteration techniques (called “Sprints”) and requirements management with “User Stories”.

The Agile Alliance provides a the following 12 principles represented in the Agile Manifesto for successful implementation of Agile development.

  1. Customer Satisfaction through early and continuous delivery of valuable software
  2. Embrace changing requirements. Agile processes harness change to give customer a competitive edge
  3. Frequent delivery of working software. Shorter timescale deliverables
  4. Daily cooperation between developers and business analysts through the lifespan of the project
  5. Build projects around motivated individuals and provide them with the environment and support needed to get the job done
  6. Face-to-face communication is key to effectively conveying information between team members
  7. Working software is the primary measure of progress
  8. Agile processes promote sustainable development. Any project is maintainable indefinitely
  9. Continuous attention to technical excellence and clean code standards
  10. Simplicity — the art of maximizing the amount of work not done — is essential
  11. The best architectures, requirements and designs emerge from self-organizing teams
  12. Teams reflect at regular intervals on internal effectiveness and make adjustments accordingly

Agile is a powerful methodology to build great software to achieve business objectives with a flexible and often faster, less costly approach.

See the 32 best practices and approaches from the General Accounting Office report about adopting Agile. Agile development relies on the adherence to clean code standards by developers.