16 Ownership and maintenance

 

This chapter covers

  • The importance of proper system maintenance
  • Accountability as one of the key factors in building and maintaining a healthy machine learning system
  • The “bus factor” and the tradeoff between teams’ efficiency and redundancy
  • The fundamental importance of properly arranged documentation
  • The deceptive appeal of complexity
The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility and avoids clever tricks like the plague.
— Edsger Dijkstra

Throughout the last 15 chapters, we have tried to keep this book organized as an extended, in-depth checklist that you can always refer to at any stage in the design of your machine learning (ML) system. But these seemingly obvious recommendations are harder to follow than you may think.

Building an ML system from scratch and especially operating an existing solution is a process so complex and all-demanding, we’re guaranteed to stumble, blunder, hit a few bumps, and compromise some of the principles on our road to bringing value to a business. Being imperfect humans, we are also aware that sometimes we may allow ourselves to ignore some of our own tips.

16.1 Accountability

16.2 Bus factor

16.2.1 Why is being too efficient not beneficial?

16.2.2 Why is being too redundant not beneficial?

16.2.3 When and how to use the bus factor

16.3 Documentation

16.4 Complexity

16.5 Maintenance and ownership: Supermegaretail and PhotoStock Inc.

Summary