A Study Guide for Postgraduate Electrical Engineering Students
Lehman's Laws of Software Evolution describe how software systems evolve over time. Formulated by Meir M. Lehman and his colleagues in the 1970s and 1980s, these laws are based on empirical observations of large software systems, particularly IBM's OS/360 operating system.
For electrical engineering students, understanding these laws is crucial because modern electrical systems increasingly depend on complex software - from embedded systems in power grids to firmware in communication devices and control software in industrial automation.
This guide presents all eight laws with explanations and connections to electrical engineering contexts.
Click on any law to see its detailed explanation. Each law includes a specific connection to electrical engineering applications.
A system must be continually adapted or it becomes progressively less satisfactory in its environment.
As a system evolves, its complexity increases unless work is done to maintain or reduce it.
System evolution processes are self-regulating with distribution of product and process measures close to normal.
The average effective global activity rate in an evolving system is invariant over product lifetime.
As a system evolves, all associated personnel must maintain mastery of its content and behavior to achieve satisfactory evolution.
Functional content of a system must be continually increased to maintain user satisfaction over its lifetime.
The quality of a system will appear to be declining unless it is rigorously maintained and adapted to operational environment changes.
Evolution processes are multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement.
Lehman categorized his laws into three types:
This categorization helps understand that software evolution is influenced by technical, organizational, and process factors simultaneously.
Test your understanding of Lehman's Laws with this short quiz:
1. Which law explains that software must be continually adapted to remain useful?
2. Which law is most relevant to the challenge of maintaining expertise in legacy electrical systems?
3. What does Law IV (Conservation of Organizational Stability) imply about software development teams?
For electrical engineering postgraduates, Lehman's Laws provide critical insights into the long-term behavior of software-dependent systems. As electrical systems become more software-intensive (smart grids, IoT, autonomous systems), understanding these evolutionary patterns becomes essential.
Key takeaways:
By applying Lehman's Laws, electrical engineers can better anticipate and manage the lifecycle of software-intensive systems, leading to more robust, maintainable, and adaptable solutions.