Designing Features from a DevOps Perspective
IN THIS CHAPTER
Designing systems with DevOps in mind
Architecting for change
Documenting design decisions
Adopting DevOps is a commitment to infecting every person, process, and product with the core philosophies of DevOps. The software your team produces is in many ways an artifact of the values and principles of your team. If they don’t embody the methodology, neither will your technology.
One of the key missteps of a product team is to bring engineering into the design process too late. You’ve already ensured that everyone at your organization is aware of the product, understands the core business objectives, and has been involved — or made to feel welcome — in the planning process. Your colleagues have collaborated in the brainstorming process, offered suggestions, and come to appreciate which features are most critical to the products success.
Don’t let that information sharing stop when the designing of the system begins. Yes, decisions must be made, and sometimes it can feel like there are too many cooks in the kitchen. I’m not suggesting that you hold a democratic vote every time you come to a fork in the road. Hierarchy ...