1.3. The Production-Readiness "Process"

Production readiness is all-encompassing. It includes everything to do with your system and ensuring that you are ready for development as well as live service through all of your processes and practices. It is not actually a formal process. It is really just a collection of foundation principles for successful software development and implementation, including:

  • Good preparation

  • Good execution

  • Good delivery

These are all just umbrella terms that encompass many discrete and varied tasks, although they all play a vital role in the production readiness process, which simply underpins these primary success factors by specifying the steps — prepare, execute, and deliver (see Figure 1-8).

Figure 1.8. Figure 1-8

"Why do you need to prepare? Just do it!" Although this might seem like a good idea, racing ahead unprepared can cause major issues further down the line. There's no point in hiring a bunch of developers when there aren't enough development machines for them to work on. Similarly, it would be dangerous to start development on an application when the architecture and frameworks aren't sufficiently in place or the designs are inadequate. There's clearly a balance to the amount of upfront preparation that should be performed on a project, iteration, or task. However, the preparation really does need to consider what must be in place and what ...

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.