Saturday, August 24, 2013

The Red Queen Problem in Software Development

I was listening to one of The Job's internal meetings the other day, and the CEO was talking about how we needed to do things better and faster than ever.  I got angry, because this is exactly the thing that is screwing up everything in the tech industry - nobody wants to do the right thing, because that would take longer and might allow some other company to actually be the first with a crappy product in that niche.

Then I read Drew Crawford's "Of Wizards and Magical Machines", and damned if he didn't capture some of the things I wanted to say here.

Software has come to be seen as something easily changed, taking no time to alter and configure.  Management thinks that a bar napkin counts as requirements, and there is no need for clarification or details - we can pull those out of thin air and it's the developers' fault if the guesses are wrong.

(I have a paranoid theory that software company management hates the developers because development is the only phase of the software life-cycle that cannot be skipped, and we developers continually whine that we need more time to create the castles in the sky that they think up)

But we can't always be faster - the problem takes a finite amount of time to understand, and another finite amount of time to analyze, and only then can we start to develop it correctly.  No amount of Agile process will remove that time.