I’ll bet it’s happened to you. You’re working on a software development project that runs into trouble. The project could be on a long, slow decline or some unexpected event may have blindsided the team. Either way, the project is late and your team is in trouble. Now it gets worse.
The news spreads up the management chain like an explosion at the bottom of an elevator shaft. Middle, senior and even executive managers are eager to solve the problem. Have you ever heard the phrase, “I’m from corporate and I’m here to help.”? Just what you need.
I’m not suggesting that management intervention is always bad. In fact, I’ve witnessed many good managers help teams by clearing technical roadblocks and administrative obstacles. These actions enable the team to focus on solving the problem(s) and not get slowed down by ancillary tasks.
Unfortunately, I’ve also witnessed many poor managers. They schedule weekly or daily status meetings that only take up valuable time. Or, they do nothing more than demand weekly or daily status reports. Not only does the team need to solve the problem(s), they also need to allocate time for preparing status updates. These steps simply apply pressure, create more work, and cause anxiety.
When this happens to one of your projects (and, eventually, it surely will), here are a few agile ideas to help you get through it:
1. Establish control. Your management team is not going away. If they sense that the project or the problem is out of control, they will establish a command-and-control structure along with rules and procedures you’ll have to follow. Don’t let that happen.
It’s important for you and the team to define the steps toward a solution such as:
- Understand the problem and assess the situation.
- Explore courses of action and decide on an approach.
- Implement a sequence of actions to solve the problem.
You get the idea. The details will vary with the situation but the general technique is the same.
2. Ask for help. Your management team wants to help but they may not know what to do. Be clear about what the team needs and what your management team can do to assist.
- Do you have the right tools and equipment? If not, ask for them.
- Do you have the right people? If not, clearly state what skills are needed.
- Are there normal business processes that you’d like to circumvent temporarily? If so, lay it out.
If the problem is relatively small and localized, you may not need anything and even if you do, you may not get it. If the problem is large and widespread, be assertive. Get what you need.
3. Assign a team representative. Have one person report status for the team. Make it clear that the rest of the team will be focused on solving the problem and cannot be disturbed.
- The spokesperson should be a senior member of the team or the team’s manager.
- Daily (internal) team meetings (like Scrum standups) are likely to be a good idea.
- A team status board (like a Scrum board) showing tasks, assignments and current state may also help.
Be sure that the spokesperson communicates openly and honestly. There is a tendency to sugar-coat management reports. Don’t. Tell it like it is and maintain control.
There is no better time to be agile than during a time of crisis. Do you have any ideas to add?