Introduction
Traditionally, people developed software project in a very
linear approach called Waterfall. An example of using the waterfall method in
software development is the progress flows steadily downwards through the
phases of requirements, design, implement, testing and maintenance. However,
some people who advocate Agile argue that the waterfall model is a bad idea in
practice because they believe for a non-trivial project to finish a phase
before moving to the next one is impossible. Those people believe Agile provide
with more fixability.
Pick the right one
In order to know which approach should be used in a
particular project, you should understand the difference between using Agile and the waterfall in the given areas below:
Requirements/Change
You should ask yourself whether or not the requirements are changing
constantly. If the requirements are changing constantly, you should consider
Agile than the waterfall because Agile allows you to add more requirements as
well as dropping others.
Experience/Resources
Does developing this software require new skills and
technologies? Do you have experience implementing it? If you have a stable environment,
then you should consider using the waterfall.
Customer Involvement
Customer involvement is essential to the success of a
project. If you are able to get continuous feedback so that you can keep
making changes based on their feedback, you should use Agile.
Timelines
Do you have fixed due date for your project? If you are flexible
with due date, you should use Agile. However, if you have restrictions due to financial
requirements or calendar restrictions, you should consider the waterfall.
Conclusion
My recommendation is always consider the areas above and pick the right one for your software development. Some people like to analogize Agile with innovation and the waterfall as a cookbook. I personally love this analogy. Overall, Aligle(innovation) allows your progress to go back and forth but the waterfall(cookbook) doesn't as when making a pumpkin pie, it is awkward to first bake the whole pumpkin and then start the processes of smashing it and adding milk and spices.
Excellent read Tin! I like how you broke down the methodology of each project approach. The layout is nice with the color coding and the unbiased advantages of both the agile and waterfall comparisons were informative to read. Also the waterfall method involves a testing phase towards the end while the agile approach relies on testing the different pieces as they are being developed. This aspect of course has its own pros and cons. I especially like your pumpkin pie analogy in the conclusion. Very funny and true.
ReplyDelete