Don’t Let Your Software Project Be (Charlie) Sheen’d

Charlie Sheen’s meltdown on national TV reminds me of project team meltdowns that I’ve witnessed. Charlie has experienced major successes. His television series, Two and a Half Men, is hugely popular by any measure.

He gets the lion’s share of the credit for the show’s success but there are several other terrific personalities on the show including Jon Cryer (Alan), Angus T. Jones (Jake), Conchata Ferrell (Berta), Holland Taylor (Evelyn), Marin Hinkle (Judith) and Melanie Lynskey (Rose).

It’s a real team effort. The teamwork is no different from any software project I’ve ever worked on. So what went wrong? Charlie turned his focus to himself not the team’s. The show is on hiatus and nothing is getting done.

Software projects can also meltdown

Software teams can experience a similar fate. It usually plays out something like the following:

  • An unexpected event occurs and takes the team by surprise.
  • Some team members freeze, not knowing what to do next.
  • The project loses focus and misses deadlines as the team becomes dysfunctional.
  • The project manager tries to adjust the plan.
  • The adjustments don’t work because they are too little, too late.

It’s easy to see how the above scenario could unfold on a waterfall project. The plan is big and bulky. It takes time to change it — too much time. Often, these waterfall projects are shut down. Management re-groups, re-tools and re-staffs so the project can kick-off again (often under a new name).

Agile projects manage risk better

Can this happen to agile projects too? Of course. Agile projects are not immune from failure, even failure that results from unexpected change. Though when properly executed, agile projects are more adaptable. They can respond to the unexpected faster and improve their chances of adjusting successfully.

How? Daily meetings, minimal detailed plans (current sprint only), highly synchronized team members, frequent deliverables, and working software throughout the project.

The same scenario might play out like this for an agile team:

  • An unexpected event occurs and takes the team by surprise.
  • Some team members freeze, not knowing what to do next.
  • The team meets and decides whether to complete the current sprint or abort.
  • If they decide to complete, work simply continues.
  • In either case, the product owner adds new stories and removes obsolete ones from the backlog.
  • The team re-prioritizes the backlog and uses it to define the next sprint.

No approach will guarantee your team’s success but lightweight, agile techniques will reduce your risk and improve your odds.

As for Charlie Sheen, I hope he gets his plan together. I like the show.

Updated: March 1, 2011 — 10:35 pm