MIT System Design and Management Presentation

How to Analyze and Visualize a Large, Interconnected Software System: A Study of Fedora 20 with Lessons for All by Dan Sturtevant, PhD., and Dave Allan Presented on January 26th, 2015 – YouTube video of presentation available here, presentation slides here When working inside a system of enormous scale, people often understand only the part with which they are involved. As long as the whole system is sufficiently modular, people tend to believe they can construct reasonably reliable mental models of their component and how it interfaces with others. However, this is not always safe; research shows that hidden structures can interconnect components of a complex system at higher levels, causing organizational problems that are difficult to see, understand, and address. Fedora 20 is composed of more than 2,500 interconnected software packages developed and managed by globally [...]

Technical Debt in Large Systems: Understanding the Cost of Software Complexity

Technical Debt in Large Systems: Understanding the Cost of Software Complexity by Daniel J. Sturtevant Many modern systems are so large that no one truly understands how they work. Because these systems exceed the bounds of human understanding, different design teams must work on separate chunks, glue their work together, and hope that the whole thing behaves as expected. In this process, high-level architectural design patterns (such as hierarchies, modules, and abstraction layers) play an important role. By keeping complexity under control, they give systems the ability to scale, make them more able to evolve, and reduce the likelihood of unexpected side effects or integration problems. View [...]