From: Brandon
Not true -_-
6. Predictable Costs and Schedule
7. Allows for Change
8. Improving Quality
I'm aware of the Agile and SCRUM methodologies, and yes, those are advertised benefits… And yes,
#7 is fairly well true, and in turn,
#8 becomes true.
#6 is no more true in the long run than any dreaded Waterfall methodology, however. And if you aren't aware of some of the disadvantages of Agile…
1. No step of Agile involves user testing outside of what the developer does on their own. You have no idea if the product you have completed is even desireable from a consumer standpoint because there are no designated prototyping steps or concepts of Alpha/Beta testing. - This can always be added obviously, but it is not a part of the native Agile indoctrine.
2. Because of the flexibility and allowed evolution of products, you get to a situation called scope creeping. This is when new features are consistently added to evolve with possible desireables and continuously push off the deadline - leading to wildly inaccurate costs and scheduling.
3. Product requirements are bare minimums. This is designed to save time and money on the design process; however, in turn, that leads to horrendous requirement testing and very loose definitions of 'done'.
4. Integration testing is done throughout the development process, which increases the development costs by a fair amount - and has caused many projects to fail.
5. Frequent feature sign off is represented entirely from a business standpoint; Agile is created by business men looking to quantify the software development process. There is no such thing as building a platform, or preparing for code reuse, or building a stable framework for your product as those are not business stories for feature sign off. Agile is very 'business story' oriented, as opposed to good development practices.
6. And my most disliked feature of Agile: due to the inherent public ownership of all products, all developers are typically considered equal and should be aware of the entire development process of every other developer. In teams of 3 and 4, this will not be as big a deal, however when teams reach 8 (or 50 in some extreme cases), you end up with more than half your time being spent in status or planning meetings. All developers are NOT equal, and likewise, not every developer should be treated as the lead engineer of any given project. It leads to vast amounts of wasted time and incredibly boring and tedious times at work.
I could definitely continue on and on with more disadvantages of Agile… But hopefully, these few examples with explanations outweigh his small list.