My favorite metaphor … restaurantsImagine that you are at a restaurant. As a customer, you interact with the host, the server, the food and drink, and the dishes and decor. It’s unlikely that you’ll see or be very aware of what’s going on in the kitchen. But it would be wrong to say that you don’t care about the kitchen. You likely care about the cleanliness of the kitchen. You appreciate it when the food comes out quickly. And you’re more likely to come back if the chef has time to create thoughtful and unique specials.
In product development, we tend to think in terms of a wall between the inner workings of an application and the outer, customer-facing side. The inner workings are the work of engineers, and the outer workings are the work of UX designers, interaction designers, and others.
But, if you take a step back, it becomes clear that this line is not a clear one, and that the way an application is built affects usability as much as the outward-facing aspects. How quickly does the software work? How smoothly? How gracefully does it recover from errors? For a customer, the kitchen is as important as the service.
The perceived barrier between engineering and product carries over into the work of teams. We create divisions so that we don’t step on each other’s toes. Engineering says “just tell us what you need” and takes it from there. Product lays claim to the outward-facing aspects and is told not to meddle.
Neither of these views really gets the job done, and the worst outcome is that critical backend work — technical debt removal, refactoring, testing — becomes hidden from view. These goals don’t show up on the roadmap. They aren’t part of a bulleted list. And DevOps teams tend to work on these critical aspects under the radar for fear that the time needed to do them will be grabbed for other priorities. Or, companies sit on debt and delay addressing these issues because they believe that at some later point they’ll have the time.
But product folks need to understand that this all contributes directly to the end-product. It is crazy to turn a blind eye to it. Your next epic might very well be a technical debt workdown, or a test coverage sprint. Not only does the craft of DevOps contribute directly to the overall user experience, but awesomely supported and appropriately architected software empowers you to release product. It’s the foundation that allows you to ship fast and fearlessly and gives you the freedom to experiment and create.
So take a whole-team approach to product development and expand your view of what “customer-facing” means. Don’t let your unsung heroes to go unsung. Embrace the craft of DevOps and seek synergy with an awesome customer-facing UX team. Encourage people to be transparent about what they’re working on. Keep in mind that many of the great products you love are great because of DevOps and a dialed-in process.