Why be Agile?
I have been repeatedly asked why agile is better than traditional approaches. The most succinct answer I have is that agile software enables you to build the right software at the right time. Agile is not about in-depth analysis and design that leads to a detailed work breakdown structure that predicts on what day of the year eighteen months in the future a team will deliver a certain set of features. Agile is about continuous prioritization and customer review to ensure that meaningful features are delivered when they are ready and when they are needed.
The ability to make significant changes to design and behavior throughout the evolution of a system is perhaps one of the biggest differentiators of software development from other engineering disciplines. And because we can, we should, and usually do. This allows organization who embrace agile principles to have agility in how their business execute as well. Being agile implies applying approaches and processes that maximize an organization's effectiveness in creating software. Agility is not a chaotic undisciplined approach to hacking software. If this is what you are doing, you are not being agile, you're being stupid!
Agile software development approaches promote high levels visibility, predictability, and quality. Visibility is achieved through frequent, regular team status checks and product demos. Predictability is achieved through continuous monitoring and updating of the project backlog and burn-down. And quality is maximized by embracing test-first approaches eliminating the "over-the-fence" paradigms of legacy software development methodologies.


Comments
Post a Comment