What is Agile Methodology? Part 02: Iterative Development




Some concepts are best understood by comparing them with other concepts. And to get a better understanding of Agile, you need to know what the Waterfall methodology is!


No, I'm not talking of the waterfall with water. I'm talking about of the ways followed for making software. Every software development takes place in five stages - Conceptualize, Design, Develop, Test, Release. And in the waterfall model, the development does not move back to a previous stage once a particular stage has started. For example, if software development moves into the testing stage, it will not go back to the developing stage. It is somewhat similar to step waterfall... once water has moved down, it isn't going back up.



Now, it has been a big issue that the customer or client keeps changing their requirements, and this not help in a model which isn't flexible. Here, Agile methodology comes to the rescue. It suggests to develop products in an iterative and incremental manner and keep incorporating feedback received from the customer/client.

Assume a customer comes and asks to make the painting of a massive war. In the iterative approach, you first make the pencil sketch of the image. You make a quick pencil sketch with the outlines of some 10-12 people fighting with each other. You take feedback from the customer who says that he actually wanted to show large troops in the image. So, you rub off your previous creation and make another pencil sketch showing a war scene with 10-12 regiments instead. The customer is happy and asks you to make an oil painting of the same which you do.



Think what would you have done if this was the waterfall model. You would've made an oil painting with snipers and tanks and the customer would have been unhappy as he wanted an older war image. Hence, you saved a lot of time by following the iterative model in which making changes is possible even after the development work has started.

Comments