In my recent post called “Agile Antipatterns Are Easy to Spot, Hard to Change”, I listed ten impediments that prevent agile development from working well in a corporate setting. In a series of posts, I’ll offer suggestions for dealing with these impediments starting with the first antipattern.
- Protecting the organizational structure over the team structure
Agile teams should include all the skills needed to build and deliver the software. That typically includes experts in the business domain, user experience, software design, software construction, software testing and system packaging. Outside experts can be brought in to help but the challenge is often one of timing. The experts may not be available when the team needs them and that wrecks havoc with project timing. For that reason, the use of experts outside the team is discouraged.
While many managers will agree on the need for multi-disciplined teams in principle, they insist on maintaining administrative control over their people. So for example, the test engineers work on the project team but they must report status to their manager. They are also held accountable for following corporate procedures and reporting standard corporate metrics.
This means that team members must serve two masters. Administratively, they report to an organizational structure. Project-wise, they report to the team (including the Scrum Master and the Product Owner on a Scrum project). This can create an awkward situation and place team members under undo stress.
What do you do?
First, educate! The admin managers need to understand how the team intends to operate and what agile metrics the team intends to track. Don’t assume anything. Help them understand what will happen and why. Negotiate for a mutually agreeable way to operate.
Next, keep the admin managers informed. Invite them to the daily standups. They may not have the time to attend but it’s important to extend the invitation. If they do attend, allocate time after the standups (not during) to answer questions and get feedback.
If they cannot attend, send them status updates even if it’s simply a picture of the status board. Consider setting up a 30-minute meeting with the admin managers every two weeks to provide information and solicit feedback as you continue to educate.
Lastly, plan ahead. Whether the above measures work or not, a team member is likely to be pulled off the project at some point to address a crisis situation on another project. This is an inherent risk in matrixed organizations. Accept the risk and develop contingency plans for managing it.
Don’t put the organization ahead of the project team but don’t ignore the organization either. Seek out a win-win situation.