The Agile Manifesto states that in agile development you value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Plan-driven is all about determining the nature of a software product up front and then building contracts, documentation, infrastructure, etc. around those ideas. Agile says “we can figure it out as we go, because requirements and needs change.”
Agile was the “hip” thing for development companies to do for a long time after the internet boom in the early 2000s. It focused on getting something to market as soon as possible to capitalize on all the new and exciting things going on with computing. Arguably, this is still true today with mobile app development.
While agile is great for building evolving software, that doesn’t mean it is perfect for all scenarios. That also doesn’t mean you can’t include some agile practices in a plan-driven environment. Development methodologies that are adopted by teams and organizations are often highly customized to fit the project and team.
Software Process and Methodologies