...

/

Key Principle: Automate Repetitive Activities

Key Principle: Automate Repetitive Activities

Learn about the software development activities that can be more easily automated.

ABOUT THIS CHAPTER   Delivery is the activity in which the rest of the development process comes together. As such, delivery provides a useful lens through which to discuss several aspects of more effective Agile development.

In this chapter, I refer to both delivery and deployment. “Delivery” refers to preparing the software in every way needed to make it ready for deployment but not actually deploying it. “Deployment” refers to taking that last step to put the software into production.

The last step required to get to delivery is integration. In Agile development, the goal is to have both continuous integration (CI) and continuous delivery or deployment (CD). CI and CD are cornerstone practices of DevOps.

Continuous integration is not literally “continuous.” The term is used to mean that developers are checking code into a shared repository often—typically multiple times per day. Likewise, continuous delivery does not literally mean “continuous.” In practice, it means delivery that is frequent and automated.

Software development activities tend to flow from more open-ended, creative, nondeterministic activities, such as requirements and design, ...