Friday, June 1, 2007

Ever Wonder (in an Andy Rooney voice)

So? have you ever wondered why most software development projects are basically complete failures and yet people continue to work in them and clients keep paying for them and nothing really changes? Well if you do, you aren't alone.

The answer isn't what people generally want to say. Typically they want to say things like:

  • The scope keeps changing
  • The clients are stupid
  • Developers write sloppy code
  • We don't have enough testers
  • We never have enough time to write all the documentation
  • My manager is an idiot
  • We don't have good development processes
  • The client doesn't even know what they want
The truth (IMHO) is not any of those things. The truth is actually something that can be fixed. However, that doesn't mean it's simple or that people can get it done quickly.

Part of the problem is that Software Development usually involves some very smart people. Smart people have are good in many ways, and they are also bad in many ways. Some of the bad ways are:
  • They are too proud, they have pride of authorship and they want it to be done their way
  • They don't always take direction very well
  • Once they have learned things, they typically go back to them over and over, even if they really don't apply (see the Queeg Quart of Strawberries Syndrome which I will explain later)
  • Some smart people don't remember that it's not what you know but what you do with what you know - it's about acting smart, not being smart.
So in many ways, having smart people working on a Software Development Project is actually not such a great thing.

No comments: