As a project manager at a software vendor for financial solutions, your manager asked you to develop certain list of features. Market has changed and we need to quickly respond with new release in four months. Your manager, he is right, wanted a plan with weekly status report. You can only use 3 developers from the product as the core developers, while the rest if required, you should look for in other products or hire. You’re Scrum savvy; you want to provide reliable commitments. HOW?
1. From your experience a team can deliver 32 story-points per 2 weeks sprint. Being uncertain, as you will need to add new resources who have not worked together, you reduced this figure by 50% to 16 story-points/ sprint. In other words, the team can deliver 16*8= 128 story-points in 8 weeks (4 months).
2. You held three lengthy meetings with the product manager and core development team. The size was 500 for the whole features. No priority, all features must be delivered in 4 month
3. You will require 500/128 ~ 4 teams to deliver the work. It’s a conservative estimate based on high uncertainty. This uncertainty stems from the fact you need to mobilize resources from other products because no band-width available for resources under the product of focus.
4. You came back to your manager with requirement of 4 teams each having 5 people working for 4 months. It’s 80 person-month of worth of effort. This is in addition to the time of the product owner, yourself and internal customers. The total effort reached 90 person-months. Your manager appreciated the basis of your estimation. However, the budget is enough for 50 person-months. What to do?
5. Back to the iron triangle. You have fixed budget, fixed schedule and fixed scope (the requirements).
The triangle base cannot be drawn as the dimension of the budget is less than the estimated budget.
6. At least you now know the budget. Your manager did not like to tell you the available budget as he knows that you will tend to fit within regardless of how small the budget you may need. Now, he had to tell you as you are over-budget.
7. The risk mitigation you put in step-1 of 50% is one of the parameters you might like to adjust. You decided to reduce this figure to 25%. This makes the team supposed to deliver 24*8= 192 story-points in 4 months instead of 128. This will reduce the teams to 500/192 ~ 3 teams. Your action to encounter this increased risk is to have each member of the core product as the senior member of each team. This person can transfer knowledge to the rest of her team. Also, you planned to have these three key members to meet 3 times weekly for integration across the three teams. You will appoint one member for creating the daily build for software produced from from the three teams.
Teams 3 teams Team size 5 members Team velocity 24 story-points/ sprint Total backlog 500 story-points Sprint length 2 calendar weeks Sprints count 500/(3*24) ~ 7 sprints
8. The previous step has reduced the budget by:
a. Cost of one team for 4 months = 20 person-month
b. For the 3 remaining 3 team they will work 0.5 month less which will result saving of 0.5*3*15= 22.5
This will bring the estimated budget to 90 – 20 – 22.5= 48.5 person-month. You chose not to reduce the allocation of the internal customer or product-owner. You wanted to have them as much involved as possible. More important than meeting the schedule within budget is to deliver the right product with highest quality possible.
9. You agreed together to have only one bi-weekly large sprint review meeting attended by users and product managers in addition to team members. You wanted to use this as opportunity for integration and resolving over-lapping, in –addition to cut down the time required for three separate meetings.
10. You are just on budget with not very little room for contingencies (1.5 person-month). You sat with the core team and product manager and revisited the features list. You partitioned the features according to technical skills, business domain and interfaces. Different technical skills were identified as required. You identified the risk of waiting time for certain skill if a team requires performing a story while the skill is missing. You together decided to choose other team members each have two technical skills.
11. The developer creates unit test cases before coding for himself or for another team members. She programs the user story to pass the test cases. The skills are different as you need skills in Java, DB2 and PHP. You also need to have User Interface Designers. You decided to have two User Interface Designers as shared resources across the three teams.
12. The next table shows the stories and their size in story-points. There is a logical development sequence based on understanding of functionality. However, all stories are required. The stories are established to include only the minimal features. If you divide total size by velocity, this gives you 7 sprints. You want to be comfortable from up-front that you can meet the budget.
13. You agreed with the product owner to update the product backlog after before start planning of the second sprint such that no user story is larger than 20 story-points. Therefore, one team can complete the largest user story in one sprint.
14. You decided to have an 8th sprint having the core developers (3) for integration and final quality assessment.
15. You went back to your manager with facts, agreements among the team, and a plan. For her, she wanted to know the velocity after the first sprint. The strong representation of the customer in this project have left the risks to the team.
This up-front planning effort took about two days. The next sprint plan is planned for four hours. The teams should have more flexibility due to the reduced sizes of user stories.