Agile Software Development Methodology

The capability of rapidly and efficiently adapting to changes is known as agility.

The purpose behind developing agile development methodology was to have agility which was missing in traditional waterfall models, it was waterfall model that inspired agile methodology.

Agile software development is based on iterative and incremental development. Agile methodology uses continuous stakeholder feedback to produce high quality consumable code through use cases and a series of short time-boxed iterations.

Agile methodology has four key features:

1. Stable code,
2. Continuous stakeholder feedback,
3. Cross functional and Self-directed teams,
4. Sustainable pace.

In agile there are small time-boxed iterations of 1-3 weeks and each iteration involves the full development cycle including requirements analysis, design, coding, testing and acceptance testing.

After this the working product is demonstrated to the stakeholders.

The team structure of agile is usually cross-functional and self-directed and takes full responsibility of the tasks for particular iteration.

Team size is typically small(5-10 people) to make team communication and collaboration easier.

Daily scrums meeting(only 10-15 minutes standup meetings) are held to see the team progress and any blockers.