Tuesday, February 5, 2008

Saving Projects in Crisis

Why does a company (or a team) decide to use Scrum? Adopting Scrum means implementing change, and fairly substantial changes to boot. It brings bad news to the surface and forces management, the team and everyone else to confront their own weaknesses and shortcomings on a monthly basis. Why would anybody want to do that?

There are obvious symptoms of projects being in trouble: Missed Deadlines, Cost Overruns, You haven't had a release in a year. Management or the customer is losing confidence in the project. Staff turnover. Threats and ultimatums. Escalations up the management chain. All are sure signs that things are not right.

But there are also subtler warning signs: "I have been asking for that feature for months!" "We need exact specifications." The project leader curses when her cell phone rings. These are early signs that communication is breaking down and worse problems could follow.

You adopt Scrum because you want a genuine improvement and you know that you need to change. If you are happy with the status quo, you don't need to change, and you don't need Scrum. But if your software development projects are in trouble, and (even your own) success is on the line, then you will be willing to make the commitment to Scrum.

How to make change happen - Bulldozers

When I took over the WLC project, the relations between customer and supplier were very strained (to put it diplomatically). The customer had banned my predecessor from the project. (I'll explain about "letter bombs" in another post. Then again, maybe not). My approach was "there is a new sheriff in town." Here are the rules, Play by them! jp noted that there was a certain irony in the this approach. After telling the team "As of today, you are going to be self organizing", can I really expect them to simply say "yes sir!"?

Blaise Rey of Wibas calls this "the bulldozer approach" and managers who implement change this way "bulldozers". Apply the change. Get an improvement. Don't worry about collateral damage (political resistance). And don't worry about whether the change is sustainable, either.

In this case, the bulldozer or sheriff approach did cause some issues with customer. He felt that his wishes & requirements had not been heard. Now he was being restricted by the rules of Scrum to only being able to tell the team what to do once a sprint. And in the sprint planning meetings, there were time boxes, so the Scrummaster kept cutting him off. He felt like he wasn't allowed to talk!

For this project under these circumstances, I still think the bulldozer approach was the right way to go — we could have discussed for months whether to try Scrum or not. The customer needed to see firm leadership and quick results.

But before moving forward, the team's consent was essential. Without it, the project would have gone nowhere.

After 2 or 3 Sprints, the advantages of Scrum became clear — deliveries on time, better quality, better control — so the conflict evaporated and the collaboration became much easier. The customer quickly realized that he had much more control than before, that he was being heard, and this made him much happier.

Important learning: Emotional Problems in a project are often the result of factual issues which haven't been dealt with. When the factual issue is resolved, the emotional issues resolve themselves as well.

How to make change happen - Coaches

When implementing organizational change, the collateral damage caused by the bulldozer — political resistance — is often the seed of its own failure. A gentler approach is essential.

Just about a year after the WLC project, I was asked to help another floundering project. I felt that Scrum would help this project too, but the circumstances prevented a major disturbance in the workflow. So I built on the team's know how and the Scrum processes to determine the way forward.

We started at the end. The "end" of the Scrum process is the Sprint Retrospective. Well, actually a loop has no end, but the Retrospective connects the functional review of the previous Sprint with the planning step of the next Sprint. The Retrospective is a workshop which follows a simple structure:

  • Facts - what happened? Each Team members tells about the high and low points of the Sprint
  • Positive - what aspects worked well
  • Improvement - what could be done to improve the project
  • Control - who has the authority to make each improvement (inside/outside team)
  • Prioritize - what are the top priorities

The retrospective gives everyone a chance to talk about what happened. Everyone identifies room for improvement. Nobody is given the opportunity to just whine. The most important improvements are prioritized first.

The obvious result is two lists, one for the team, one for the Scrummaster (who deals with the rest of the organization). The less obvious result is agreement among all the parties on what to do next. So we start by building a consensus on how to move forward. And this consensus usually identifies things that we can fix using Scrum, so the foundation has been laid for genuine change and improvement.

I call this the "coach" approach. Build the team. Get them committed to the goals. Move forward as team. This is foundation of success.