Archive for May 28th, 2010

May 28th, 2010

Project Smell: Project Fibrillation

by Tim Cull

Maybe it’s my (ancient history) background as an EMT, but I like to use medical metaphors to describe some common themes in software projects. If you liked my post on application guarding you might like this one, too.

Many of us have been on a project that seems to be alive with frenzied activity, but none-the-less isn’t going anywhere. To me, this sounds so much like the medical condition ventricular fibrillation that I’ve decided to dub the project version of it “Project Fibrillation.”

When someone has a “heart attack,” what they are actually experiencing is ventricular fibrillation. Their heart hasn’t stopped beating–quite the contrary their heart is alive with frantic electrical activity. The real problem is that the electrical activity has become uncoordinated such that when some cells in their heart muscle are squeezing with all their might, other cells are simultaneously relaxing. The net result is their heart expends a great deal of energy but doesn’t actually move any blood anywhere, kind of like a three-year-old wildly kicking in a swimming pool when learning to swim. All the frantic heart activity quickly uses up energy in the heart muscle and since blood isn’t moving properly that energy isn’t replaced. This negative feedback cycle quickly leads to cell death.

Sound like a project you’ve worked on?

Projects that are just getting themselves into trouble can enter fibrillation if they are not careful. A fibrillating project is one that spends much more energy on non-productive activities than it spends on productive activities. For example: