Machine Learning: The High Interest Credit Card of Technical Debt

Eugene Davydov
Dietmar Ebner
Vinay Chaudhary
Michael Young
SE4ML: Software Engineering for Machine Learning (NIPS 2014 Workshop)
Google Scholar


Machine learning offers a fantastically powerful toolkit for building complex systems quickly. This paper argues that it is dangerous to think of these quick wins as coming for free. Using the framework of technical debt, we note that it is remarkably easy to incur massive ongoing maintenance costs at the system level when applying machine learning. The goal of this paper is highlight several machine learning specific risk factors and design patterns to be avoided or refactored where possible. These include boundary erosion, entanglement, hidden feedback loops, undeclared consumers, data dependencies, changes in the external world, and a variety of system-level anti-patterns.