Imagine the startup scenario: a new company with bright plans. If the company needs to have a web presence (and what company doesn’t?), chances are they will hire team of top notch programmers to craft a set of applications to start the business on. The team works furiously for a year, dealing with all of the ins and outs of the business space and at some point requirements start to slow down. The company starts making money and the users get used to the web interface and they react violently to major changes. The company establishes itself and establishes a market. They are going to make money no matter what they do with their website. Development goes into maintenance mode. The original set of programmers start looking around and saying “I don’t want to work on this!” They dust of their resumes and join the next startup. Not everyone leaves, of course. Some people are happy about the reduced pace. They get comfortable and they deal with bug reports and the odd feature request.
That scenario plays itself over and over again across the
business world. Startups need to deliver
software quickly. They need to carve out
a niche. But, if you’re in a business
where you can get some guaranteed returns once you line up a good set of
customers, the value of software development goes down. It just doesn’t matter much any more.
A decade ago, Microsoft was a textbook example. In the beginning, software mattered at Microsoft, a lot. They competed on every field that they could, but once they nailed Windows and Office, it seemed that they really didn’t have to write code any more to make money. In many industries, that state of affairs can last a long time. But, invariably the competitors come. What happens then? At the moment when it is most critical to write new code, a company finds that it can’t. Why? Its development skills have atrophied. The developers that built the edifice are gone or off in management and the ones that are left just aren’t used to designing new software.
So, how long does it make sense to develop software? I have a friend who says that over time the
best companies will discover that it is critical to maintain that capability
and they will do whatever they can to keep it going. It’s the
My prediction is that we’ll continue to see this cycle
in software development and the rewards will go to the companies who can kick-start their
development when they need to. It's hard work. Often it seems harder than maintaining a development culture.