How should I assign resources to my Agile team ?
The waterfall teams known for built in component teams. These component teams are separate specialized teams for requirement analysis, design, coding and testing. These teams produce bigger chunk of work at a stretch and do the handover of the work to the subsequent specialized team. This kind of behavior produces lot of latency and delay in the process and reduces the ownership mistakes that surfaces during the later period of development. Moreover, the specialized component teams often involves in “throwing it over the wall” behaviors. The recommendation is that Agile teams try forming feature teams being cross functional in nature to fix the problems that arise out of component teams.
Agile feature team comprises of the requirement analysis, design, and coding, testing responsibilities within the same team. This team will work on whole end-to-end customer feature focus. Planning, coordinating and doing work are greatly simplified in feature teams. Handoff and delay wastages are dramatically reduced leading to faster cycle time. Learning increases and organization can focus on delivering high priority business value features. So an Agile team must contain everyone like developers, testers, designers, data architects etc. This team requires working on a specific product feature end to end. The Agile team includes cross functional team members plus Product Owner and Scrum Master
Some of the important traits of Agile feature teams are
- Small teams with full time team members five to nine in one team
- Stable teams may stay together for several years and jell well to achieve high performance
- Self-Organizing teams that do not require the overhead of managers, since they coordinate among themselves a lot, which is quite simple.
- Empowered: the team make their own decisions
- Cross Functional teams that contain everyone on the team to work on end-to-end functionality
- Interdependent on other teams for information and on senior management for support
- Continuous Collaboration exists between them to achieve the goal
- Shared and collective ownership and accountability as a team towards the goal.
- Everyone in the team are generalized specialists
- Accept change in requirements as a routine part of their job
- Have their own set of working agreements on how they want to work as a team
- Have distributed leadership across the organization
- Cross competent and preferably collocated
- Have complete autonomy of the work they want to do and constantly engaged in innovating something new that delights the customer
It is recommended that the Agile feature teams work with one product Owner and one Product Backlog. The Product Owner is the customer representative of the team. A Product Owner with high product knowledge and business analysis experience may be hired and put into the team. In the same way, the Scrum Master is a facilitator and servant leader of the team who should be assigned to the team, during the initial phases of the team. Avoid someone dual role, the Scrum Master and Product Owner for the same team. Avoid having a part time Scrum Master or the Product Owner for the team, since the value from the roles is not fully utilized by the scrum team.
In waterfall each phase has a group of specialists. For instance, requirement specialists in the requirements phase, design specialists in the design phase, and developers in the implementation phase. The requirement specialist would be only being on the release in the beginning-she was only allocated in the requirements phase. Since Scrum is not waterfall and there are no phases. The same team members allocated in the beginning will balance the resource need till the end of the release. Hence no phase wise resource allocation in Agile.