Scrum, XP (Extreme Programming), FDD (Feature Driven Development), AUP (Agile Unified Development), and Kanban are some of the more advertised agile methodologies that have a vast amount of information available on them.
The most popular and widely implemented agile methodology is Scrum. From a Project Management perspective, Scrum involves iterative releases, which we call Sprints. These are releases planned by clubbing requirements together and maintained in a Backlog.
Usually, the sprints are planned for about 2 weeks to a month based on the complexity of requirements. A few organizations, mostly the smaller ones however have shrunk their Sprint Cycles so as to improve agility of their releases. The author was involved in one such organization and depicts his experience, the challenges and the practices followed to meet such challenges.
The issues to be addressed for super quick sprint releases are :
1) Are requirements clear to be delivered within 2 to 3 days ?
2) Is the estimate for time appropriate?
3) Is the scope per sprint appropriately accounted for? If the requirements are not packed appropriately, and if there are slippages, is the sprint cycle appropriate to plan for cost efficiencies?
4) Is the team competent enough to deliver at short cycles?
5) Can the Quality team gear up to test the implementation within a day, and do they have competent resources to do so?
6) Are all the risks known for meeting super quick deliveries?
7) What communication systems are deployed to take care of super quick sprints?
8) Is the team having systems complete with the required hardware or software in place? Is the IT / Networking team geared up to meet the challenges in case of an eventuality?
9) Finally, is the Project Manager having a complete grip on the deliveries and is able to tie the plan and the team together?
Requirements understanding and analysis are very important and the daily standup meetings are where the same are discussed and clarities obtained from the Business owner.
No work is taken up until the requirements are completely clear and signed off with the Business owner / customer. A Requirements Management tool is used so that the entire team is aware of the clarifications sought and the responses. Moreover, it helps in maintaining history of the requirements.
In Scrum, the estimates are obtained directly from the developers, based on their perception. Usually, to reduce risk, the efforts for simpler tasks can be directly obtained from developers. The larger tasks may have to be divided into sub-tasks, distributed and estimated separately and thereafter compiled.
Here, the project manager needs to review the estimate religiously before sharing with the business owner. The project manager needs to validate that appropriate effort is going into each sprint to improve cost efficiency of releases.
Overview of quality checks and tests
For quality checks, it would help to have automation of testing – unit , system and regression testing so that releases are quickly tested and deployed. While, one can use sprint meetings, and emails for task allocations, the intelligence of the tools can be utilized.
All risks need to be evaluated thoroughly among the team so that the risks can be mitigated or handled as they appear.
Deployment practices like including Automated deployment tools would improve the speed of releases further.
Finally, it would depend on the Project Manager to keep the motivation and manage efficiencies within the project team including distribution, redistribution and prioritization of work, use the team’s time judiciously, and play the integrator’s role efficiently. The PM should show the necessary urgency to see that all obstacles are handled and the releases are achieved as planned.