Benefits of Each Model
Waterfall:
•Sets expectations up front for cost, schedule.
•Requirements must be validated and exit criteria must be met before proceeding to next phase.
•Customer can focus on other things in the meantime.
•“Measure twice, cut once”means less potential for rework.
Agile:
•Continuous delivery and feedback cycles (iterative and incremental development).
•Changing requirements are welcome.
•Early testing and continuous integration.
•Customer collaboration and acceptance of each feature as it's developed.
Gone Bad of Each Model
Waterfall:
•Oversights and flawed design don’t become apparent until the end
•Testing at the end introduces more risk
•“We must be done testing because the ship date is today!”–the Testers
•“Just document a work-around. I’m already on another project and don’t have time to fix this.”–the Developers
•“This is what I asked for, but it’s not really what I want.”–the Customer
Agile:
•Mini-dictatorships
•Death marches to meet iteration commitments
•Lack of automated testing means that “potentially shippable”could translate into “potentially a big buggy mess”
•Cowboy coding
•No documentation whatsoever
•“You’ll get it when you get it.”–the Team
•“You’re self-organizing—you figure it out.”–the Project Manager
For me both of model have their own functions, depends on the project and the way we manage. Some common themes that always let the system go wrong is:
•Communication failures
•Lack of proper testing
•Lack of training
“The discipline dealing with what is good and bad, and with moral duty and obligation”
-Merriam Webster definition

0 comments:
Post a Comment