A team can’t “become Agile” in a vacuum. The covenant that management and the surrounding organization makes with the team needs to become agile as well in order for the team to be effective. This post concerns the obligations of management to an agile team.
1. Scrum Master/Coach
The Scrum Master is an essential role—a combination of teamwork champion, process guide, and team moderator. On a new team, the role may need to expand to that of trainer and coach.
Cheat: Overloading the Scrum Master with other team responsibilities (e.g., business analyst, technical lead). Assigning the role to a manager or team member who lacks the aptitude, inclination, or training to be effective.
2. Product Owner
Similarly, the Product Owner is a vital role demanding a deep understanding of the product domain—user needs, and feature/time/risk value tradeoffs—as well as the ability to envision and communicate a winning solution, and the authority to make the tough decisions.
Cheat: Designating anyone (e.g., an IT manager) as Product Owner who lacks the judgment and organizational standing to resolve disputes among diverse and factious business stakeholders. Or providing so little support to the Product Owner (e.g., business analysts) that she has no time available to share knowledge and guide the team.
3. Value prioritization/increment clarity
Beyond having a Product Owner to speak to prioritization by value, management needs to acknowledge that product features actually have different priorities. Each product increment must be defined lean, clearly, firmly, and timely – or it becomes a bottleneck to the team’s development. Converge on best value: build something, get feedback, and adjust the features as needed.
Cheat: Indulge stakeholders, allowing their “should have” features to become “must have,” bloating the next release and its delivery risk. Change features in mid-implementation in pursuit of the misguided ambition to “get it right the first time.”
4. Scope and/or schedule flexibility
Ultimately, adopting an agile approach is synonymous with management adopting an agile view of value, risk, and project management. Don’t confuse plans with reality. Usually, we flex scope to meet deadlines; but if the planned date was arbitrary, tradeoff schedule for “impact” value.
Cheat: Don’t expect to adjust plans to reflect knowledge discovered. Develop incrementally, but demand delivery of the originally planned (but always poorly understood) scope by the original deadline.
5. Development environments
To deliver new features rapidly and frequently, the agile team needs to build and test quickly and painlessly. To create the feedback loop that enables an agile team needs to develop quickly and safely, the team must continuously build-deploy-test in multiple environments (e.g., separate build, integration, pre-production, and production) throughout the project’s duration.
Cheat: Starve the team of the dedicated physical/virtual computing resources they need for tools and testing and tempt them to take dangerous shortcuts or waste time on manual workarounds.
6. Cross-functional team/autonomy
Form cross-functional and self-organizing teams, possessing the skills to address any aspect of the solution, giving them the autonomy to respond quickly and flexibly to problems or new information.
Cheat: Put “functional efficiency” above project performance—force projects to depend on upon centralized groups that control data engineering, testing, configuration/build management, tool administration, or production deployment.
7. Consistent organizational behavior
Management must lead renegotiation of expectations and interactions between the team and other stakeholder groups (e.g., business units, security, quality assurance, project management office) to achieve corporate goals in these areas while preserving agility.
Cheat: Pretend stakeholder groups can impose their existing process interactions on agile teams without hampering team agility.
8. Common team space
To communicate, coordinate, and collaborate in concert, a team needs a to work side by side in an open, common space surrounding their (physical) sprint board.
Cheat: Given online “agile life cycle management” tools, pretend that locating team members in “nearby” cubicles or even working remotely is just as effective.
9. Team stability
Strive to keep team membership stable and even maintain successful teams intact, project to project.
Cheat: Move, replace, and/or add team members without allowance for even short-term disruptions in overall team performance (from repeated forming and storming, a la Tuckman).
Dedicate team members to the project; protect them from outside distractions.
Cheat: Assign team members to multiple projects part-time, or interrupt them frequently with other high-priority work, without expecting any degradation in performance across the entire team.
In the best case, an experienced and accomplished agile team will find ways to compensate for or work around any management cheats, suffering only tolerable reductions in their flexibility and performance. However, a new team will more easily lose heart. When a team’s commitment to the project is no better than management’s, don’t blame Agile.