I would like to share my understanding of Agile methodology.
In the traditional waterfall model, the development process is step-by-step. Meaning, we do not go to the next step of development, until the previous step is approved and signed off. This can sometimes be problematic, especially when, during QA/testing phase, if a defect is found, that turns out to be a design flaw. It is too expensive to go back and change the software design and rewrite it.
In contrast, Agile development is a continuous cycle of Design-Code-Test. The development cycles are shorter. In ordinary terms, instead of having a huge laundry list of deliverables, to be delivered in 18 months, Agile method will have 3 shorter lists of deliverables, delivered every 6 months.
The process to implement the Agile methodology is called 'Scrum'.
The development cycle is broken into sprints. Each sprint is typically 2 weeks (it's a general norm. It can be longer than that. Sprint shorter that 2 weeks does not make much sense). Each project team member is given a specific task and deadline. Based on that, he/she has to break it down into subtasks. At the beginning of each sprint, each team member has to come up with a list of (sub)tasks that he/she is planning to perform in that sprint, and send it to the scrum master (a person, generally a senior team member, or someone from PMO).
Every day, a scrum meeting is arranged, typically early morning. The scrum master asks each person about the progress of his task(s), any issues that stop him/her from completing it. That way, the overall progress of the project is tracked on a daily basis, and problems, if any, are detected immediately.
No comments:
Post a Comment