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


MIT SDM Systems Thinking Webinar SeriesDaniel J. Sturtevant

Daniel J. Sturtevant
Ph.D. MIT and MIT SDM Alumnus

Download the presentation slides

Date: May 6, 2013

About the Presentation

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.

Attendees at this webinar will learn about the process and findings of a study in which Dr. Sturtevant:

  • measured architectural complexity across a large commercial software codebase as well as the different costs incurred by the firm that developed and maintained it;
  • estimated the multi-dimensional cost of complexity, which included increased defect density, depressed developer productivity, and increases in morale problems and staff turnover: and,
  • discovered that differences in architectural complexity could account for 50% drops in productivity, three-fold increases in defect density, and order-of-magnitude increases in staff turnover.

In this webinar, engineering leaders and other attendees will learn how they can use the tools and techniques outlined above to better position themselves for managing the technical debt in their large systems. By measuring architectural complexity and linking that information to important cost drivers, firms can better understand the cost associated with architecture problems and estimate the ROI of refactoring efforts aimed at improving a system’s design.

About the Speaker

Dan Sturtevant, Ph.D., is an SDM alumnus and graduate of the MIT Engineering Systems Division doctoral program. His recent work has focused on modeling complex socio-technical systems using network, system dynamics, agent-based, statistical, and other computational techniques.

Dr. Sturtevant is the CEO of Silverthread, Inc., a firm that helps organizations assess business risk, productivity, and complexity in software codebases and development organizations. Prior to cofounding Silverthread (with Professors Carliss Baldwin and Alan MacCormack of Harvard Business School and MIT SDM Senior Lecturer Michael A. M. Davies), Dr. Sturtevant spent many years in the software field where he built Linux-based supercomputers, conducted research and development in cyberwarfare, and helped manage a companywide effort to drive modularity into the source-code for a family of software products. He also cofounded Emtect Solutions, a consulting firm that uses enterprise architecture and system dynamics techniques to address education and workforce issues. Clients have included the Business-Higher Education Forum, the Office of Naval Research, the Bill & Melinda Gates Foundation, the Hewlett Foundation, the city of Louisville, KY, Edmonds Community College, and the Manufacturing Industrial Council of Washington State.

About the Series

The MIT System Design and Management Program Systems Thinking Webinar Series features research conducted by SDM faculty, alumni, students, and industry partners. The series is designed to disseminate information on how to employ systems thinking to address engineering, management, and socio-political components of complex challenges.