Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Meir Lehman wrote [1] extensively about software lifecycles and evolution, and came up with what he called "laws". Most of them should be familiar to HN readers. To sum up as succinctly as I can: programs in use undergo continual change; as a program is changed, it becomes more complex; the quality of the system will degrade over time unless rigorously maintained.

He also wrote that over time a software system, through dynamics of the programming process, the rate of change tends towards being statistically invariant. This is because, he said, the team involved in the system, including not just the developers, but also the users and others, have a finite ability to maintain understanding of the system, and excessive and too-rapid change outpace the ability of the people to maintain understanding.

A Sixty North blog post[2] provides some interesting graphs showing the measured effects of Lehman's laws, including one showing that after 5 years, almost 2/3rds of the code is written by people who joined the team after the original team members left.

1 Metrics and Laws of Software Evolution - The Nineties View https://ieeexplore.ieee.org/document/637156

2 https://sixty-north.com/blog/predictive-models-of-developmen...




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: