Week 2 Class 4 Thu Sep 07 Posted: Sep 07
Agenda
Exercise 3: Lehman's Laws
Write at least a one-page document answering the following questions about Lehman's Laws. You can refer to my notes, and the original Lehman's papers.
The Essence of Evolution Discuss the significance of Lehman's first law, "Continuing Change." How does the assertion that a system must continuously evolve to maintain its usefulness relate to the dynamic environment in which modern software operates? Provide any real-world examples that you can to support your argument.
Complexity and Decline Lehman's second law, "Increasing Complexity," suggests that as software evolves, its complexity increases unless work is done to maintain or reduce it. Evaluate the long-term implications of this law on the maintenance and sustainability of large software systems. How does this law correlate with the principle of technical debt in software development?
The Inherent Limitations of Software Evolution Expound on Lehman's "Law of Declining Quality" which asserts that the quality of a system will appear to be declining unless it is rigorously maintained or adapted. How can organizations preemptively address the issues underscored by this law? Discuss with the help of real-life case studies that you can where ignoring this law led to significant setbacks.
Feedback and Adaptation Reflect on the "Feedback System" law, which posits that software evolution processes are multi-level, multi-loop, multi-agent feedback systems. How does this law underline the importance of feedback in agile methodologies and DevOps practices? Analyze its implications for modern software development teams that prioritize continuous integration and continuous delivery.
The exercise is due at 3:30 pm on Monday, Sep 11