Thursday, February 17, 2011

Poor Software Developers - Pull the Plug Early

There's an old adage in software development that I refer to all the time:

The first 90% of development takes 90% of the time. The remaining 10%, takes the other 90% of the time.

I used this when I taught software engineering.  And I use it all the time now when I get the kind of message that I received:

I'm looking for a web developer to continue work on my website.  It's currently in beta.  I used a company in India to develop the site, and it's mostly done.  But they weren't quite able to get it finished.  Then I found a local developer but it was a truly awful experience.  At this point, I have very little money left, which makes finding someone even more of a struggle. 

My experience is that most often you will find that the project has gone through many of the Symptoms of a Weak Development Team in these situations.  And I say that the most common symptom is:

The team seemed to get a lot done early on, but now it just seems like it is taking forever to get it “done.”

So when you get a note about a project that's "mostly done" - you immediately get worried.  Usually, once you begin to look at what's really going on, the code is a bit of a mess and the system has a lot of work left to get to an actual "done" state.  You may even have as much time left to get it "done" as it took to get it "mostly done".

Normally, when I get this call, it's pretty far downstream (as in this situation).  The funds have been used up on the existing development.  And the person is trying to get it from mostly done to done with little additional cost.

The problem is that doesn't match with reality and likely they need to find more dollars.  Recovery from this situation is hard.  I wish I had a better answer.

But I thought I at least needed to do a post that made a few suggestions on how to avoid this situation:

  1. Keep your Eyes Open for the Symptoms of a Weak Development Team 
  2. Hire a Part-Time CTO, Technology Advisor, or Acting CTO to help you keep an eye on what's going and increase your chances.
  3. Pull the Plug Early - poor developers who exhibit symptoms of weak development will not become good. 

This actually reminds me of another adage:

No one ever tells you they fired someone too early.  They often tell you they fired someone too late.

8 comments:

Will said...

don't you mean the first 90% takes up 10% of the time, not 90%

Cliff Allen said...

You've highlighted several of the biggest challenges for would-be Web entrepreneurs.

One of the key benefits for entrepreneurs in attending networking events is to find quality, committed people to complete the team.

It's difficult for the non-technical people on the team to understand how true the formula is: 90% + 90% = launch. This is another reason the team needs an experienced CTO before any development is done.

Tony Karrer said...

@Will - that probably would have been a better way to have said it, but it's maybe funnier that it adds up to 180% - software is often underestimated. I actually try to give us developers more credit and say the first 90% takes half the work and the last 10% takes the other half (see my prior post). But I've put in the actual adage from someone at Bell Labs if I'm not mistaken.

Cliff - great to hear from you. We should connect at some point - not sure how we aren't seeing each other at those exact kind of networking events.

I will say that entrepreneurs who are non-technical meeting developers at networking events can lead to Founder-Developer gaps. Get the experienced CTO to advise you.

I used to be more shy about this, but now feel like I need to say it more loudly to help entrepreneurs avoid these very painful situations.

Tozer said...

Truth is, this situation is taught in basic PM courses. If you look at the project timeline for projects ranging from IT to construction, you see a flat line going into a steep upwards curve going to flatline. Resource planning on most projects do NOT account for this.
I do think this situation is exasperated in software engineering but is not uncommon across multiple disciplines in multiple industries.

fschonholz said...

Tony:

As we discussed many times, there is a problem that a lead developer can not solve and that is strategy and setting projects right from the start. However, as we have also discussed, a full time proper CTO also does not make sense at early stage companies.

Your suggestion of a part time CTO or a CTO in an advisory capacity, is the beginning of solving the problem you describe.

MicroSourcing said...

It has to do with how employees pace themselves when working on a project. When they think most of the work is done, they tend to take it easy.

Griffin Caprio said...
This comment has been removed by the author.
Griffin Caprio said...
This comment has been removed by the author.