Does software development evolve?

Salon: A unified theory of software evolution (via Slashdot). The upshot is that software development (a) goes much more slowly than a linear rate; (b) is driven by various feedback loops including market demand, internal debugging, and the whims of individual developers; (c) can be characterized as a tradeoff between debugging and growth. The author of the theory, Meir Lehman, characterizes the issue as managing entropy.

While this doesn’t seem groundbreaking on the surface (heck, even Microsoft has figured out the last point), it’s a fact that escapes most managers of software development efforts, often with disastrous consequences (remember Rhapsody?). It’s also funny that, even in a surface examination of this question, you run into the most painful problems with software engineering: how do you measure software development? how do you manage the trade-off between specifications and adapting to the unknown?

(phew) for a minute there I lost myself

Currently playing in my skull: Radiohead’s “Karma Police.” I dropped a course on Friday that I thought didn’t look promising, and that I thought I didn’t need. Over the weekend, I got paranoid and checked my requirements again. Good thing; it turned out I needed the course after all. I got in early Monday and was able to pick up my drop form and shred it before it got processed. Score one for paper-based processes. I complain about them being in place, but there aren’t many information systems that are designed to allow that much time for second guessing.

I never really understood “Karma Police” and am not sure I do still, but yeah, for a minute there…