19 What It Means to Scale

The term "scale" can mean different things in different situations. In this chapter, we clarify what we mean by scaling and how the kernel approach guides scaling in different situations. Specifically, the reader will be shown

  • that software engineering goes beyond just programming and what else it involves;
  • the various dimensions of scaling (for instance, increase of the software complexity and the relevance of additional requirements);
  • the challenges to scaling and dimensions to scaling (i.e., zooming in versus scaling up or reaching out); and
  • the role and importance of continuous learning within development teams.

After studying this chapter, you should be able to

  • list and explain the key challenges to scaling;
  • explain with examples the meanings of zooming in, scaling up, and reaching out as the three key dimensions of scaling;
  • explain the importance to learn, modify, and enhance the chosen practices; and
  • compare the modern approach to scaling with the traditional approach to scaling.