Lehman's Laws of Software Evolution

A Study Guide for Postgraduate Electrical Engineering Students

Introduction

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.

The Eight Laws of Software Evolution

Click on any law to see its detailed explanation. Each law includes a specific connection to electrical engineering applications.

Law I

Continuing Change

A system must be continually adapted or it becomes progressively less satisfactory in its environment.

EE Connection: Firmware in embedded systems (e.g., IoT devices, industrial controllers) requires continuous updates to address security vulnerabilities, hardware changes, and new communication protocols.
Law II

Increasing Complexity

As a system evolves, its complexity increases unless work is done to maintain or reduce it.

EE Connection: Power grid management software grows more complex as renewable energy sources, smart meters, and distributed control systems are integrated.
Law III

Self-Regulation

System evolution processes are self-regulating with distribution of product and process measures close to normal.

EE Connection: Development of signal processing algorithms follows predictable patterns where performance metrics (e.g., processing speed, accuracy) tend to cluster around expected values.
Law IV

Conservation of Organizational Stability (Invariant Work Rate)

The average effective global activity rate in an evolving system is invariant over product lifetime.

EE Connection: Teams developing firmware for medical devices or automotive systems maintain consistent productivity levels despite changing requirements and technologies.
Law V

Conservation of Familiarity

As a system evolves, all associated personnel must maintain mastery of its content and behavior to achieve satisfactory evolution.

EE Connection: Engineers maintaining legacy SCADA (Supervisory Control and Data Acquisition) systems must understand both the aging hardware interfaces and modern software updates.
Law VI

Continuing Growth

Functional content of a system must be continually increased to maintain user satisfaction over its lifetime.

EE Connection: Software for electronic design automation (EDA) tools must continuously add support for new semiconductor technologies, design methodologies, and verification techniques.
Law VII

Declining Quality

The quality of a system will appear to be declining unless it is rigorously maintained and adapted to operational environment changes.

EE Connection: Without updates, embedded software in automotive systems can become incompatible with new infrastructure (e.g., charging stations, V2X communication) or security standards.
Law VIII

Feedback System

Evolution processes are multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement.

EE Connection: Development of control software for robotics involves feedback loops between simulation, hardware testing, algorithm refinement, and user requirements.

Categorization of Lehman's Laws

Lehman categorized his laws into three types:

This categorization helps understand that software evolution is influenced by technical, organizational, and process factors simultaneously.

Knowledge Check Quiz

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?

Conclusion: Relevance to Electrical Engineering

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.