Lately there has been much talk of agile development in the IT industry. Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, and continuous improvement; and it encourages rapid and flexible response to change.
Agile development is based on a series of 12 principles which include many Lean philosophies like collaboration and communication.
- Customer satisfaction by early and continuous delivery of valuable software
- Welcome changing requirements, even in late 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 realizing work may not need to be done—is essential
- Best architectures, requirements, and designs emerge from self-organizing teams
- Regularly the team reflects on how to become more effective, and adjusts accordingly
Compared to traditional software engineering, agile software development mainly targets complex systems and projects with dynamic, non-deterministic and non-linear characteristics, where accurate estimates, stable plans, and predictions are often hard to get in early stages. But, many organizations use the agile approach for smaller scale development projects as well.
Clear benefits of the agile process include:
- Stakeholder Engagement
- Transparency
- Early and Predictable Delivery
- Predictable Costs and Schedule
- Focus on Business Value and Users
- Enhanced Quality
The benefits of agile software development make a compelling case for why you should consider it for your next development project.