IV&V • Assessment Services • Program and Project Management

The Agile development life cycle is a more adaptive way of approaching software development. Unlike the more traditional Waterfall development method which uses strict process phases, the Agile method allows for flexibility and its main goal is to deliver working software as quickly as possible.

The full Agile software development lifecycle includes:

Concept - Projects are envisioned and prioritized

Inception - Team members are identified, funding is put in place, and initial environments and requirements are discussed

Iteration/Construction - The development team works to deliver working software based on iteration requirements and feedback

Release - QA (Quality Assurance) testing, internal and external training, documentation development, and final release of the iteration into production

The most definitive part of the lifecycle is the Iteration/Construction phase. Multiple iterations take place as the software is developed “piece by piece”, much like the assembly of a puzzle. As this is such a crucial element in the overall cycle, this step has its own 5-step process.

Requirements - Define the requirements for the iteration based on the product backlog, sprint backlog, customer and stakeholder feedback.

Development - Design and develop software based on defined requirements.

Delivery - Integrate and deliver the working iteration into production

Feedback - Accept customer and stakeholder feedback and work it into the requirements of the next iteration.

Like all methodologies, Agile has its benefits and its drawbacks. Seeing as the continual collaboration between the customer and the project stakeholders is a necessary requirement for success, be sure this will be possible within your environment. You will want to hold consistent meetings, conduct live demos and share as much feedback as possible through each iteration. Keep this in mind as you decide if Agile is the right fit for your next project.