Awesome Conferences

Wasting one million dollars

"Done" means "launched". It isn't "done" until it is launched. It annoys me to hear people say a project is "done... now I just have to launch it". It isn't done if it isn't in production.

There are a few reasons for this: people think that launch is "the last 5 percent of a project" but often 80 percent of your time will be consumed by this last 5 percent.

Also, you aren't "done" until other people are benefitting from your work (in business speak... "it is delivering value"). Written code has no business value. Launched code does.

You can rig this in your favor. Structure your project as a MVP (minimum viable product) launch followed by a series of mini-launches, one per feature. This way your written code stays unlaunched for the shortest amount of time. An MVP release might be just the main webpage and placeholders for every feature. However it forces you to go through all the launch tasks: setting up the web servers, load balancers, databases, and so on. These things can take a lot of time. Oh, and if there is a separate dev team and ops team, your ops team can start developing their runbook now, not the day before launch. This makes operations suck less.

Which brings me to a story about wasting one million dollars...

I once saw a project with a plan to launch after 2 years of development. After 1.9 years the SREs were needed for a higher priority project. The incomplete project was abandoned and the efforts of 5 SREs for 1.9 years was forgotten. Do the math... that's about a million dollars that Xxxxxx wasted.

If they had launched an MVP after a few months and then kept building on it (as I had recommended) Xxxxxx would have seen some benefit of the system. However they ignored this advice (I think someone used the term "trouble-maker" to describe me) and they went off to build their new system.

The goal of the project was to replace a legacy system that was missing one important feature, then use it as a platform for a number of new features. I don't mean to gloat, but after my warnings were ignored, I spent a little time making a gross, hacky, quick-and-dirty, version of the important feature and added it to the legacy system. I launched it, and the users were 90% happy. The 2-year project was going to fill in that last 10% of happiness... for a million dollars.

As far as I know the legacy system was used for a number of years after this.

Perhaps the success of my quick hack helped justify abandoning the bigger project. Management had to pick a project to kill so they could have 4-5 people for a higher priority project. Maybe the quick hack made the legacy system "good enough" and helped justify killing the project. Maybe this spared some other project from being killed. I wonder what that project was.

I'm sure the legacy system has become obsolete by now. I don't know or care. I do, however, care that a bunch of excellent SREs had their work thrown away... which must have been demoralizing.

Lately I've been thinking a lot about applying MVP-style project management everywhere. It just makes more sense. Once you've experienced it in one place, you can't help but want to do it everything: system administration, relationships, home repair, etc.

To that end I have one piece of advice: Rush to launch something... anything... and build on it. Reduce the scope to the minimum; avoid the temptation to add "just this one last thing" before you launch. Do this even if it is only usable by a small fraction of the users, or only helps a particular special case. People would rather have some features today than all the features tomorrow. Tomorrow may never come.

Posted by Tom Limoncelli in Management

No TrackBacks

TrackBack URL:

5 Comments | Leave a comment

Great post!

A note about the project cost (and I think I may have learned this from you, so apologies if it's old news) : I'd be willing to bet your numbers are conservative. The total cost of one smart employee is 2.5-3x salary, but the opportunity cost of a misused smart employee is far greater. It takes $250/hr or more for each lights-on butt in a seat, but for every hour they could have been making you money you lose an amount I've seen estimated at $600-$1000, and that doesn't even consider the cost of disgruntlement and mass exodus, let alone the emotional damage.

This is great advice. I wrote something about the 80/20 rule a while back that follows this same model and I have experienced similar issues with projects that were not build to be extendable and scalable. Thanks for writing this.

in science and research they call it "least publishable unit" for enough data to produce figure in scientific paper. Also there is a smaller "least fundable unit" which is like half-figure, maybe with less repetitions than required for paper (n=3 instead of n=10) that shows general case and proof-of-principle for writing grants and ask boss for extra spending.

You know what they say about trouble-makers don't you??

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man."
-- George Bernard Shaw

"I like relentless pests. You have to have them -- especially relentless pests who are normally right."
-- Tony Trahar, CEO, Anglo American

And of course:

"Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so."
-- Douglas Adams

Furthermore, moving ahead incrementally may well reveal all sorts of problems that might not have been observed until much later in a project's development. It is much easier to revise or even cancel a project before it passes management's "too big to fail" threshold. Once over this threshold is where the big bucks really get squandered as corporate egos and careers get threatened.

Leave a comment