CMU Silicon Valley welcomes Forrest Shull

Date/Time: Tuesday, September 29, 2015, 4:30 pm (PT) / 7:30 pm (ET) 

Location: CMU Silicon Valley Campus: Bldg 23, Rm 109/110

Managing Technical Debt in Software Systems

The metaphor of technical debt acknowledges that software development teams sometimes accept compromises in a system in one dimension (for example, modularity) to meet an urgent demand in another dimension (for example, a deadline), and that such compromises incur a “debt.” If not properly managed, the interest on this debt (in the form of increased cost of rework) may accrue, hampering system stability and quality and impacting the team’s ability to deliver enhancements at a pace that satisfies business needs. Managing technical debt is an increasingly critical aspect of producing cost-effective, timely, and high-quality software products.

This talk presents recent research done by the Software Engineering Institute to make the Technical Debt (TD) concept more actionable for software developers and managers. We will briefly outline the different types of debt that have been proposed in the literature, where debt is typically used to refer to a wide variety of quality issues, before articulating a more concrete scope. Based on the results of a survey of over 1800 software developers and architects, we look at the state of the practice regarding TD management and its implications for research. Finally, we present data showing that TD, once identified, is indeed associated with certain pernicious outcomes for projects. Based on the survey and quantitative data, several recommendations for practice are provided, along with initial thoughts on a solution for improved tool support.

Dr. Forrest Shull is Assistant Director for Empirical Research at Carnegie Mellon University’s Software Engineering Institute (SEI). His role is to lead work with the US Department of Defense, other government agencies, national labs, industry, and academic institutions to advance the use of empirically grounded information in software engineering, cybersecurity, and emerging technologies. He has been a lead researcher on projects for NASA’s Office of Safety and Mission Assurance, the Defense Advanced Research Projects Agency (DARPA), the National Science Foundation, and commercial companies. He is a member of the Board of Governors of the IEEE Computer Society. From 2011-2014, he served as the Editor in Chief of IEEE Software, during which time he launched a new digital multimedia edition of the magazine, leading to thousands of new subscribers. He is the co-editor of the Guide to Advanced Empirical Software Engineering.