Quote of the Day – The Optimism of Software Developers

Software developers at all levels tend to be optimistic – you have to be to build big things

Chris Roberts, EuroGamer interview

In my experience, developer optimism is the true state of affairs on every software project, big or small, and I can think of a few on which I have worked that wouldn’t have been started had we known up front how long they would take.

One of the tricks in managing software projects is understanding that the estimates that software developers give often need to be decoded to understand what the real number is likely to be.

There is an old saw about software project estimates that says you should take the time a developer says a task will take, double it, then go up a unit of measure.  So if your dev says it should take a day, you should assume it will be delivered in two weeks.

Of course you can’t develop a project plan that way.  If all your developer time estimates add up to a month and you say the project will take two years, you’re going to get fired.  And, in any case, with any software project you’ve probably been given the feature list and the deadline in advance, so you really have to start stack ranking features by importance to know where to focus.  Of course, marketing will rank every feature as a “1” so good luck there.

Still, if you know your team you’ll know how to interpret estimates.  You’ll know who chronically underestimates and who has other tasks that might interfere with the project.  I used to work with one dev who was always spot-on with his estimates of how long it would take him to finish any task.  The problem was that he was the key database guy on a product that was completely database driven, so spent more than half his time debugging field issues and helping out with new installations, tasks always deemed more critical than project work.  So his estimate of a day of effort for a task would be correct, you just wouldn’t know when he would have a day to focus on it.

And don’t even get me started on having a dependence on third party libraries and such.

Anyway, this is why most companies keep their projects vague and under wraps until they get close to launch.  Maybe a company will put out a road map with some general milestones, but even those tend to fall over beyond a six month window and get swept under the rug to be forgotten.

So running a project where you’re trying to do everything out in the open in front of customers… that way lies madness.  It would be nothing but outsiders kibitzing, asking for updates, and holding you to account for everything you’ve ever said would be a feature.

I am not sure why anybody would subject themselves to that.

8 thoughts on “Quote of the Day – The Optimism of Software Developers

  1. Isey

    That’s an amazing tracker. I have long given up on SC as launching in my lifetime, but the energy and time put into that tracker almost makes it worth sending money to CI just to watch it move forward! (or not…).

    Like

  2. Wilhelm Arcturus Post author

    @Isey – My first thought on seeing that was a wish that the project manager on one of my projects would make something so legible. He allegedly tracks everything in Microsoft Project, but we’re never allowed to see it so I have no idea how the project is going or even what the features are at times.

    Still, I would be horrified to hand a customer that level of detail and have them bust my chops about it constantly. Features come and go and not all of them make the cut.

    Finally, given how much money has been collected already, I am not sure any donation manageable by mere mortals would move the needle in any noticeable way. I am in for $30 and hope that someday that will get me access to a finished game.

    Like

  3. Carson

    “I am not sure why anybody would subject themselves to that”

    Hey, for $150 million, I’ll put up with an awful lot of kibitzing, asking for updates, and being helding to account for everything I’ve ever said…

    Like

  4. KazDragon

    Software Dev here – can confirm. One of the reasons behind this optimism is that a lot of devs don’t realise that software has *diseconomies* of scale. Where you might buy a single jug of 4 pints of milk and pay the equivalent of 3.5 individual pints, if you buy 4 units of software, it might cost the same as making 6.5 units individually. Buying 8 units of software might cost the same as 17 individual units.

    So in our estimations, if we think that a task looks like it’s twice as much work as some other task, we should estimate twice as much effort, right?. No, it’s probably at least three times as much.

    This is one of the many reasons that some modern estimation techniques (e.g. planning poker used in Scrum) use Fibonacci numbers as their growth scale.

    StarCitizen is a really, really large and ambitious project, and they should be lauded for it. But I don’t think that anyone that works in software is surprised by how long it’s taking.

    Like

  5. Gevlon

    @Wilhelm: he got a nice house on the beach and executive level salary for himself and his wife (which can be illegal). I don’t think he gives a damn about the project as long as the two of them are paid.

    Multiply by two and add a unit? So Star Citizen was promised to complete in 3 years, so it’ll be done in 6 decades. I hope the backers were less than 15 or have extraordinary lifespan.

    Like

  6. Wilhelm Arcturus Post author

    @Gevlon – He got himself a job basically, and one where is often loudly criticized and called a liar. If his plan was simply to defraud, he could have/should have done it a lot more quietly. From the outside looking in, I do not like the way he has run his company. He has apparently never met a feature he didn’t like, and I will admit there is the air of the huckster about him at times. But he’s hired a lot of people to write a lot of code and let people use bits and pieces of it, so something is being done. I’m not willing to say he doesn’t give a shit, but if he came to me, personally, and said I could save the project by giving him a thousand dollars, I’d tell him no.

    As a development model I am much more a fan of Elite: Dangerous, which ran also ran its Kickstarter in 2012, which has been available for almost three years now, and which has added features over time rather than trying to deliver everything they could dream of in one single package. I can’t play it worth a damn, but it has been there and playable all this time.

    Also, that “double it and go up a unit of measure” prediction model only works for individual developer estimates. Since a project like Star Citizen is made up of many developers, not all of whom are on the critical path, you could probably shave at least a decade off of that 60 year estimate.

    Like

Voice your opinion... but be nice about it...

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s