What is Agile?
Agile software development is a group of methods in which requirements and solutions evolve collaboratively between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, quicker delivery, continuous improvement, and encourages rapid and flexible response to change. Its an iterative process.
Principles for Agile
Agile Manifesto depends on 12 basic Principles:
- Customer satisfaction by rapid delivery of useful software
- Welcome changing requirements, even late in development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Self-organizing teams
- Regular adaptation to changing circumstance
After reading these principles I hope you can well image where your company stands in terms of Agile methodology. If you meet even 6 of the above principles on paper in your organization then I believe you can achieve other 6 also.
My View Point
We talk so much Agile but are we really ready and tracking the progress of the project. Scrum Meetings is one of the finest method to track the progress but how effective the meeting and the master is? User stories helps in agile as you can develop the stories of current sprint and plan next sprint based on the upcoming stories. Important thing here is that User Stories are not Tasks. Keep a track or maintain a traceability matrix to meet the scope in budget and in time. So the crux of story for Agile is “Iterative” and “Incremental” as everything is continually revisited .