Working in IT field and have not written a single post about IT!! Oh. That is bad. Here comes my post about the wonderful AGILE methodology!
Let us start with basics. What is a methodology? It is simple. Just imagine that you are going to prepare a great dinner in March for your guests. What will you do? Won’t you plan and figure out an action plan? That is methodology. The dinner you are going to give to the guest is the release of your product to the customers.
One of the traditional methodologies is Waterfall model. What is the difference between it and agile? Starting from January there are 3 months for the D Day. As per waterfall model, you will plan the menu, build and work on your culinary skills and finally display them on the D Day. Guests will taste your dishes! Sounds risky. Isnt it? Whereas in agile, the three month duration is broken down into six periods known as iterations. Say for the dinner you have planned to make three dishes(sweet,pizza and ice cream) ,decorate the dishes, clean the dining room and arrange for small gifts. Each of these six constituents is mentioned as story. If you take the story of preparing pizza you can further break it down as preparing the base, deciding about the topping and finally cooking. These three activities are known as tasks.
Each story has an owner. You can say that a story is completed only after it is accepted by the owner. Say the guests for your dinner are your mom’s friends. Now tell me who should own the stories regarding the dishes? Your mother knows her friends’ requirements and expectations. So she is the owner of the story. Only after she accepts your pizza it can be delivered to the guests. In business, the owner of the story is Product Manager as he is an interface between the customer and the product. (There are few exceptional situations in which Lead or the developer must own the story. Any guesses? )
For each iteration, a specific story and its tasks are taken. Usually iteration lasts from 5 to 15 days. Say in the first iteration you will prepare pizza. At the end of the iteration you will have a demo session. The higher authority, say your mom will experiment your product i.e the pizza and give feedback. If your pizza is accepted then you can move to the next iteration. Say it could be preparing sweet. You can start with the tasks in next iteration only after getting acceptance for the first iteration task. Here comes the first advantage. Once you are done with the first iteration and got acceptance it’s sure that your guests will get a nice pizza satisfying their requirements for sure even though they might not get the sweet or ice cream. In business say, you have committed for three new features to the customer. By the end of first iteration, you are sure that one feature is completed and it can be delivered to the customer!
Consider this scenario. You are not able to prepare the pizza by first iteration itself. You need two more days to finish it. This is known as spill over. The task you have planned for nth iteration has spilled over to n+1 th iteration. Usually cause and impact of spill over is scrutinized carefully. Say if it is due to some unprecedented change in requirement or due to the inclusion of some other much more important task then its justified. If it is due to the faulty task estimation then it needs to be addressed immediately. You have wrongly committed to deliver pizza in 15 days.
Now imagine this. For fifth iteration you have a assigned a task for your little cousin. He has to add nuts to the ice cream that you are going to prepare and put it inside the freezer. His task his dependent on your task of ice cream preparation. Only after you have prepared the ice cream he can add nuts and put it inside freezer. You are the producer of the story “ice cream preparation” and he is the consumer of the story. Say if you have not produced ice cream and deliver it to him by 5th iteration,then he is said to be blocked. Blocked is a dreaded term as it not only points that you have not completed the task but in addition to it some one else is also not able to do his task due to it.
I will explain the implementation of agile methodology in projects, the most important and much used term,tools used, and the nuances involved in agile methodology in my next post. Until then try to figure out and let us know the type of story which must be owned by the developer.


Recent Comments