This is an excerpt from The Art of Agile Development, Second Edition. Visit the Second Edition home page for additional excerpts and more!
This excerpt is copyright 2007, 2021 by James Shore and Shane Warden. Although you are welcome to share this link, do not distribute or republish the content without James Shore’s express written permission.
Build for Operation
- Programmers, Operations
Our software is secure and easy to manage in production.
The fundamental idea behind DevOps is simple: by including people with operations and security skills as part of the team, we make it possible to build operability and security into the software, rather than adding it as an afterthought. This is building for operation.
That’s really all there is to it! Include people with ops and security skills on your team, or at least involve them in your team’s decisions. Have them participate in planning sessions. Create stories for making your software easier to monitor, manage, and secure. Discuss why those stories are important, and prioritize them accordingly.
Don’t save operations and security stories for the end of development.
Don’t save operations and security stories for the end of development. It’s better to keep your software ready to release. (See the “Key Idea: Minimize Work in Progress” sidebar.) As you add more capabilities to your software, expand your operability to match. For example, when you add a feature that requires a new database, add stories for provisioning, securing, monitoring, backing up, and restoring that database as well.
What sort of operations and security needs should you consider? Your teammates should be able to tell you. The following sections will help you get started.
...to continue reading, buy the book!
In this Section
- Build for Operation
- Threat Modeling
- Paranoiac Telemetry
- Metrics and Observability
- Monitoring and Alerting
- Cargo Cult: The DevOps Team
- Alternatives and Experiments
- Further Reading