In Sprint Planning, there is typically no consideration for individual capacity. The team commits to the stories for the sprint. This article explores some of the real world situations that arise when teams have specialized skills.
Specialists ExistIt is a fact that people in the IT field specialize in areas they find interesting and fun. Some people choose to become a Database Architect, User Experience Designer, QA Tester and so on. We need to respect these career choices people have made.
However, we can advise people to broaden their skills and grow their market value. For example, a Tester could be motivated to also learn coding skills that may be used in automated testing and development. A UX Designer could be convinced to broaden his skills and do some front end development. Whatever agreement is reached, it must be win-win.
PlanningWhen specialists are part of a team, they need to be consulted in the planning phase. From a timing perspective, the sequence of the tasks necessary to complete a story needs to be planned. Discuss this with the team and reinforce the cross functional aspect of scrum.
When we consider the above statement, we can begin to review our options. Testers can be involved in authoring User Stories and Acceptance Criterion. They can also work with developers and author unit tests.
BA's can help develop test scripts and help test the stories as well. Developers can help with requirements and testing. The goal is to spread the skills across the Sprints so the individual capacity of a team member is not a factor when planning.
CapacityWhen the skills of the team are balanced, individual capacity does not need to be considered in Sprint Planning. If this is not the case or if there are tasks that only a given specialty is qualified to perform, we need to consider individual capacity. For example, if we have one Database Architect on our team and he is the only one who can do database work, we need to be sure we do not overbook him when we plan.
Some tools have capacity planning built in. The screen shot below is Rally's capacity planning approach.
If your tool does not support this capability, you will need to use spreadsheet magic.
General AdviceRegardless of the skill composition of the team, the following points are worth considering:
- Individuals on the team should not be allocated to other projects. There are many studies1 that show how inefficient task switching is.
- The team succeeds or fails together.
- The team decides on the details for executing the sprint and is Self Organizing in that regard.
- The team should sit together in one large open work area2 with easy access to whiteboards, projectors and small rooms or pods for small team meetings.
- Scrum and Cross Functional Teams vs Specialists (Conversation Thread)
- Question on Cross Functional Teams in Scrum (Conversation Thread)
- The Scrum Team Role (Blog)
- The Unreasonable Effectiveness of Cross Functional Scrum Teams (Blog)
- How can an agile team be truly cross functional when team member have different skills sets (Blog)
- Balancing Team Needs and Functional Lines (Blog)
- The Cost of Task Switching - Human Task Switches Considered Harmful (Joel on Software), The Multi-Tasking Myth (Coding Horror) , Is Multitasking More Efficient? Shifting Mental Gears Costs Time, Especially When Shifting to Less Familiar Tasks (American Psychological Association)
- Agile Work Areas - Team Room (Blog Martin Fowler), Team Room Article (Agile Alliance), Team Room Article (Mountain Goat Software), Microsoft Team Room (Video)