Once, this software project was zooming right along. Now, it’s nothing but schedule slippage and heartache. Maybe this advice can help you get things back on track.
Sometimes a software development project just splutters and stalls. It isn’t dead, but it’s lost the all-important momentum to keep it moving forward.
Exhortations generally don’t work well, threats work less well, and standing over the team with a stopwatch doesn’t work at all. Above all, you know instinctively, you must leave the bullwhip in the closet.
Stalling comes in a wide range of severity. Sometimes it’s “just” a persistent schedule slip. Sometimes it’s a complete meltdown. Depending on the problem severity, you can apply a number of remedies to get the project going again, from mild to extreme.
Defenestrate the schedule
You undoubtedly created a carefully worked out schedule for the project and its deliverables. This has undoubtedly been reduced to a wall decoration by the factors that stalled the project. Now is the time to face reality and run the schedule through the shredder.
In the event of a major stall, one of the first things to do is work out a new schedule, complete with a new timeline. This is painful, especially if you cannot change the completion date.
There is a tendency to tinker with the schedule instead of changing it wholesale. If you have a major stall, resist the temptation. If the project has gone seriously off the rails, tinkering won’t do the job. The schedule needs a major overhaul and that is that.
Understand why the project stalled and fix it.
Projects don’t just splutter to a stop. They stall for a reason, sometimes several reasons. Your first job is to figure out what’s going wrong.
Two of the most common causes of failure are micromanagement and insufficient resources.
Paradoxically, trying to manage every detail of a project makes it less efficient. It may be time for an attitude check on how the project is being run. You’ve got good people working for you (theoretically) and they don’t need someone staring over their shoulders constantly while they’re trying to work.
Insufficient resources is another common project killer. Whether you lack people, time, or money, if you’re trying to do too much with too little you’re setting yourself up for a project stall – or worse. Look at the project from a resource standpoint and try to get the support you need to make the project work.
Part of finding out what happened and how to fix it is to get everyone together and talk it out. “That way everyone can interact quickly, suggestions and questions can be thrown up, and problems can be knocked down by colleagues,” says Mark Herschberg, CTO of Madison Logic, a B2B data-based lead generator.
Don’t play the blame game
Blaming someone for the problem is both irrelevant and counter-productive. Your goal here is to get the project re-started, not to play pin-the-blame-on-the-goat. (If someone does need to be hung out to dry, do it in private.)
When discussing the problem, avoid fault-finding. Concentrate on the state of things now, not on who did what. Put your energy into working positively toward a solution.
Take a break
“In my opinion, really restarting a stalled project takes new surroundings,” says Travis Vocino, product designer at LiveRail, a Bay area software company. “Take the team on a field trip to a co-working space, even to a park or simply the big conference room.”
Consider a move to Agile development
With lots of small goals and frequent milestones, Agile development is a natural partner to getting a project back on schedule. You might want to try applying Agile techniques to the project re-start.
Agile emphasizes a lot of small milestones and quick turn-around. This not only produces working software quickly but helps overcome the psychological barriers that build up in a stalled project. The downside is that you replace a few larger milestones with a lot of little ones which produces a daunting list of milestones. On the other hand, it always feels so satisfying to cross an item off the list – which certainly adds to a team’s sense of accomplishment.
Agile is like having a long to-do list, says Herschberg. “It can seem overwhelming, especially with all the big tasks but if you start taking care of a few small ones you being to feel you’re making progress.”
Go for low-hanging fruit
One problem with momentum, in teamwork or on sports teams, is that so much of it is a matter of perception. To re-build momentum, you have to change the way others (and team members!) view your progress. If you can convince your team that they regained momentum, you’re about 75% of the way to getting things back on course.
This is a classic good-news/bad-news situation. The good news is that, with momentum, to the team members physical characteristics such as schedules are of secondary importance.
The bad news is you need to implement a change in psychology before you actually get back that momentum. The best way to build the perception of renewed success is to generate some success.
Examine the modules of the project looking for ones that can be completed quickly and (preferably) easily. Successful task completion is a psychological boost for the team and a great way to jump start a project.
“To get momentum back you need to start with some quick wins,” says Herschberg. “Prioritize a few features and focus on those. Let the rest sit fallow. You’ll start to knock off a few items and people will begin to see results.”
This may not be the sequence called for in the original schedule, but then you saw where the original schedule got you.
If possible, leave the superhero suit in the closet.
Finally, don’t panic. (The towel is optional.)
We all have a tendency to try to solve problems by more-than-human efforts. At worst, this leads to a death-march mentality. At best, it is destructive of morale and it produces lower-quality software.
There are times when extraordinary efforts are required to get the project out: working through weekends, asking developers to “get it done faster,” and other management efforts that can result in team disgruntlement. However, if possible, try to avoid them.
Dealing with a stalled project is one of the “challenges” software managers face. It isn’t easy, but it has to be done. The most important thing is to stay positive and focus on the future. Past is past, today is the first day of the rest of your life, and other positive-thinking clichés. After all, they are clichés for a reason.