The diagram illustrates how the water-fall method has approached software development. There were 5 main steps in this namely requirement gathering, de-sign, implementation, verification and maintenance. In this case each step follows the other till the entire application is developed and deployed.
The above diagram depicts software development using spiral methodology. The significant points of differentiation here is that it allows scope for risk management at every step of the development cycle.
In the case of iterative processes small portions of the software are developed and tested for faults. These are particularly helpful when you are developing software for clients who are not clear about their requirements.
So what exactly is the Agile Manifesto?
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
1. Individuals and interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.” (Source: http://agilemanifesto.org/ )
Basically the main drawbacks of conventional software development process were identified and a process called agile was developed. Some of the principles behind the Agile Manifesto[6] are as follows:
1. Customer satisfaction by rapid, continuous delivery of useful software
2. Working software is delivered frequently (weeks rather than months)
3. Working software is the principal measure of progress
4. Even late changes in requirements are welcomed
5. Close, daily cooperation between business people and developers
6. Face-to-face conversation is the best form of communication (co-location)
7. Projects are built around motivated individuals, who should be trusted
8. Continuous attention to technical excellence and good design
9. Simplicity
10. Self-organizing teams
11. Regular adaptation to changing circumstances
(source: http://agilemanifesto.org/principles.html )
Agile methodology tries to be adaptive rather than predictive. What this means is that while other methodologies planned the whole process in the start, agile methodology welcomes change. Agile promotes disciplined project management, frequent inspection and adaptation, teamwork, self-organization and accountability and a business approach that aligns development with customer needs and company goals.
Agile believes in breaking down the task into small increments which last typically from 1 to 4 weeks. At the end of each iteration a working product is de-livered to the stakeholder (client). The client is free to give any modifications or changes he requires at this stage. These changes are then incorporated into the software and displayed to the client after the next iteration with that iteration’s portion too. This iterative period is called a sprint. Typically a team is called a scrum. The team size is kept small deliberately to facilitate better communication in the team. It consists of a scrum master who acts similar to a project manager, the product owner (the clients) and the team who do the analysis, design, implementation, testing and deployment. Typically a scrum master will only facilitate in the scrum meetings which happen every day. The tasks for every sprint are known as sprint backlog and are frozen for the period of the sprint i.e. this set of requirements cannot be changed till the sprint is complete. Once the deliverable for that sprint is done we can show it to the client and he will judge whether any changes are to be made in it. The deliverable at the end of every sprint is a working and potentially shippable product increment.
There are five types of meeting which take place in a scrum which act as keys to facilitating further development.
Daily Scrum Meeting: This generally happens every day at the same time. The agenda is a discussion of what the scrum members have done throughout the day and what they plan to undertake the next day. The problems being faced by the members are also discussed and analyzed. The duration is typically 15 minutes.
Scrum of scrums: This allows the different scrums within the project to discuss what the team has done since the previous day.
A chosen candidate attends this meeting on behalf of his/her scrum. The topics are the tasks which are handled by each scrum, their progress and problems. Also any issue with other teams is discussed here too.
Sprint Planning Meeting: This happens at the start of every sprint. It is approximately an 8 hour meeting where the activities for the sprint are decided. The sprint backlog once prepared, the deliverables and the time taken to develop them are decided upon too.
Sprint Review Meeting: The work done in the sprint is reviewed and displayed to the client. It lasts for approximately 4 hours. Feedback from the client is taken and changes are incorporated in the next sprint.
Sprint Retrospective: The team members dwell on the previous sprint and come up with what went wrong and what went right. They try to find ways to improve upon their work.
As is clear from the above description, agile methodology is all about ensuring high quality products, tailor made to fit the client’s needs in a very efficient and timely manner. Unlike all the previous models, the high level of interaction al-lowed in agile ensures the product meets all the clients‟ expectations. Also it allows a great degree of flexibility.
And as there is no specific hierarchy in the team every member of the scrum feels a sense of responsibility and ownership for his product. This helps bring out the best in them. It’s little wonder then that many firms are switching to this methodology and its clearly emerging as the way to go in the future.
Kshitija is currently busy with an MBA from IIFT. Prior to this, she was working in Patni CS for a good 3 years in Mumbai. She did her B.E in Electronics and Tele-communications from Mumbai University. Basically, Mumbai is the keyword here. Her unrequited love for Mumbai may be injurious for her future endeavors in other parts of the country.
No comments:
Post a Comment