You’ve just started a small software project with just one programmer or a small team. You’ve read Peopleware and Joel and your specifications are so lucid they bring a tear to the eye. You think you’ll be done in a couple of months.

This is how to screw up.

  1. Don’t enforce high standards from the start. Tell yourself you’ll mention any sloppy work ‘later’ when things ‘kinda work’.
  2. Micromanage. Whatever you do, don’t chunk tasks into interesting, self contained problems and certainly don’t trust the programmer to work out a good solution by himself. Got a little technical knowhow? If you can make enough highly specific suggestions you might just be able to atrophy his creative thinking completely.
  3. Ignore gaps in your programmer’s skills; treat every task equally. Demand feats he finds impossible without offering training and motivation.
  4. Be a bottleneck. If you’re lucky you’ll completely drain the momentum from the project.
  5. Don’t communicate every day. It only serves to maintain the sense of urgency, and nobody has ever needed forum to resolve issues before they escalate.
  6. Allow your programmer to ignore good testing practices. Also, make sure you test his work for him, so he never feels that quality assurance is his responsibility.
  7. Never set clear, reasonable deadlines.
  8. If by some freak chance you do set one and it is missed, never talk through the why and how.
  9. Never, ever, ever communicate the impact of your coder’s hard work on the business. Keep it abstract, you wouldn’t want any perspective to creep in.

What have I missed?