Monday, November 29, 2010

Software Senescence Engine

Companies, like individuals, have an inverse relationship between money, time, and age. When your company is young, you have lots of time and little money. Although it feels like there's very little time at all because you're continually struggling to prevail in the market, there's actually a great deal of time available for problem-solving, and very little cost to solving problems. When your company becomes more established, the cost of solving problems goes up; while there's more money around, there's very little time left, and it becomes very difficult to spend time productively. Time must be tracked and accounted for, designs must be agreed on, and untested ideas don't get done. This is how the rot starts.

  1. It's not important until money is verifiably lost because of it. You won't often lose a major customer over something that they can easily work around, and after those workarounds are built they'll actually be part of the pressure against your fixing it.
  2. No one can really verify losses over 'the death of a thousand cuts'. When those workarounds outweigh themselves and cause failure, when the proof of concept doesn't go well, when customers just don't like the look of this solution any more... no one problem will be called out. It takes too much time to explain, and no one really wants to sound unreasonable (or be yammered at for hours because they're complaining about things that are easy to work around).
  3. Small stuff builds up until a startup comes along and eats your lunch.

No comments:

Post a Comment