160 likes | 737 Views
Lehman’s “Laws”. Change is inevitable As systems change, complexity increase & structure degrades In large systems, evolution controlled not by management decisions, but by organizational factors. Evolution is fairly constant, generally unrelated to changes in resources
E N D
Lehman’s “Laws” • Change is inevitable • As systems change, complexity increase & structure degrades • In large systems, evolution controlled not by management decisions, but by organizational factors. • Evolution is fairly constant, generally unrelated to changes in resources • Rate at which new functionality can be introduced limited [Lehman & Belady (1985)] Ch.27 - Software Change
Forms of Software Maintenance • Repairing software faults (17%) • Adaptation to new environment (18%) • Addition/modification of functionality (65%) [Leintz & Swanson (1980)] Lesson: Plan ahead! Ch.27 - Software Change
Costs of Software Maintenance • Higher costs due to: • Team (in)stability • Contractual failings • Staff skills • maintenance is less “sexy” • System structure degradation Ch.27 - Software Change
Reaction instead of “proaction” • Emergency bug fixes age system unnecessarily fast • Fixing the fault (at any cost) is highest priority • Cleaning the mess up afterwards ends up as (too) low priority Ch.27 - Software Change
Wrapping Legacy Systems • Keep old system, but wrap new (distributed) components around it • Legacy system stays on legacy environment • Offloads work, increases traffic support Ch.27 - Software Change