Making Good Software

A blog by Alberto G (Alberto Gutierrez)

Written by Alberto Gutierrez

October 6th, 2009 at 5:47 pm

Planning killed the software star.

with 5 comments

This is how planning usually happens: Fred, the project Manager, spends weeks creating a really cool, colourful Gantt Diagram, then, it is presented to the team which show some concerns so Fred does a few changes and the plan gets approved… as the time goes by, the plan gets more and more outdated BUT amazingly Fred doesn’t blame the plan and he even keeps pushing people to follow it.

This dynamic, which is obviously wrong, is sadly a dynamic that lots of teams still follow; these teams are blinded by the plan. Blinded teams forget that they main purpose is to ship the best solution as possible, not to follow a plan.

A plan should be used to

  1. Evaluate the risk of not delivering on time. If my deadline is in two months, and my high level estimate shows a figure of one month, then I can relax, if it shows two months, I will have to look the estimation in more detail.
  2. Have a high level expectation of the next deliveries.
  3. Help communicating the different stakeholders. In your project may be involved Marketing, some management, the customer… A plan always helps communicating by setting the expectations.

A plan shouldn’t be used to

  1. As a contract that details the specifications of the product and their deliveries. If you see your plan as a contract, you won’t be ready to accept any change, and change management is fundamental for software development.
  2. As a one-off big activity performed at the early stage of the project.
  3. As a tool to press developers to deliver in unreal deadlines.

Make everyone understand that the plan is just a tool not the end.

This is the most important thing to do, when the stakeholders see the plan as an end, or a contract, the project usually ends up having the different parties not collaborating at all.

Continuous planning.

“In preparing for battle I have always found that plans are useless, but planning is indispensable”. Dwight David Eisenhower.

Planning adds a lot of value to the team, instead of BPUF (Big planning up front) keep planning every day and revisit your original estimations as needed.

Don’t detail your planning further than one week ahead.

Detailing more than one week of work ahead is almost impossible, so just don’t do it, also, bare in mind that: detailed planning and high level planning usually are equally accurate.

5 Responses to 'Planning killed the software star.'

Subscribe to comments with RSS or TrackBack to 'Planning killed the software star.'.

  1. Last paragraph: *bear* in mind. No one’s getting naked over this topic, I hope.

    But yes, overplanning is a huge mistake.


    6 Oct 09 at 8:21 pm

  2. […] This post was mentioned on Twitter by Cameron Westland. Cameron Westland said: – Ship the best solution possible, not the best plan. […]

  3. very useful info. some people think the plan must stand still and be achieved at any cost. it is just a guideline that people should remember and try to get, but there are always difficulties that should be pre-entered into the plan


    8 Oct 09 at 4:45 am

  4. […] A plan shouldn’t be used to

    1. As a contract that details the specifications of the product and their deliveries. […]

    But that’s how you determine how much a project is going to cost. If you can’t plan beyond a week, how are you suppose to tell your customer how much a project is going to cost if it will indeed take months?


    8 Oct 09 at 1:49 pm

  5. Hi Andrew!
    That’s actually an excellent question, “how can you determine how much a project is going to cost?”, by your comment I guess that your opinion is: by planning it upfront, well let me tell you that doesn’t work… The problem is that to make a perfect estimation, is necessary a perfect and unchangeable description of what needs to be developed, and that, except if your NASA, is impossible, and not desirable.

    So… Am I saying? “It is impossible to know how much is going to cost a software development” YES, but indeed this is actually something I wanted to talk on my next post which I hope I will have ready by tomorrow, so please keep tuned in the blog 😉

    And thanks for your comment!!!

    Alberto Gutierrez

    8 Oct 09 at 2:37 pm

Leave a Reply