Laws of Software Evolution

# · ✸ 83 · 💬 45 · 11 days ago · two-wrongs.com · thunderbong · 📷
The software I encounter most is software that interacts with a changing world. It's software that needs to adapt to other software, but critically, it needs to adapt to its users - to people! People change their attitudes and processes in response to the environment, and the software needs to adapt around that.11 This is ultimately a good thing. In almost any human behaviour change, there is a software system that will struggle to accept it, because software is not good at improvisation. Based on this, Lehman formulated some laws of software evolution. This was in 1974, before companies had started with the practises Andrew Kelly discusses, so the idea of software needing continuous maintenance may be older than exploiting finished software for more profit. Software exists to support a real-world task, and as the real world changes, the software must change with it or become increasingly less relevant. When problems are solved with quick hacks, the second law of software evolution is accelerated, and thus maintenance will cost more and more as time goes on.
Laws of Software Evolution



Send Feedback | WebAssembly Version (beta)