Many years ago, I wanted to impress everyone at my new software engineering job. I bought a book about the technology I’d be working with and also contacted my hiring manager and asked him, “What can I do to prepare and get ready?” I wanted to be on the right path, right away. His answer was not what I thought it would be.
Instead of giving me technical tips, he said, “Look at the technology as a customer would. Ask yourself: What do you like about it? What do you not like about it? When would you use feature A versus feature B? Why do they both exist?”
It turned out that while I was looking at things from an internal perspective – asking myself how can I learn a skill that I can apply from a technology perspective – he was telling me to be more externally focused. He was encouraging me to look at it from the outside in, to ask myself: how does a customer look at that product or that service? This article is going to build on that theme, because that is really how you gain incredibly valuable insights into your software products and services.
It’s critical to find this balance between internal concerns — How do we build and deploy our software? — and external concerns — How do customers use our software? What is their experience like? What works well, and what doesn’t?
To me, the true value of DevOps is that it brings these two areas together and harmonizes them, so we gain valuable insights that we wouldn’t otherwise be able to get. Such knowledge and understanding can’t simply be extracted from a book or a training course because they’re going to be unique to your offering and will depend on its characteristics, features, and how customers react to and use them.
So why is DevOps the glue that brings these internal and external concerns together? The response is as you might expect — it’s many different elements. There’s the collaboration between development activities and production or maintenance; tasks that different people and teams used to do but are now increasingly being conducted by the same individuals. I actually strongly advocate the latter option, because that is one of the best ways to gain insights into how customers are using your service. I also strongly suggest that as you look into DevOps’ various processes, tools, automation solutions, and many other great things, always ask: What value do they provide?
Focusing on the customer by fine-tuning operations
Today, you have to be especially relentless in focusing on your customer, innovating quickly, adding new features and capabilities, and, of course, fixing any issues that come up. Before the pandemic, we were already approaching a totally digital economy; now we are almost there. This means things move faster than they used to. This means competitors can easily and quickly copy your business model. Most of all, this means you can’t afford to be complacent; you need to move quickly, and DevOps is going to help you do this.
One of the ways is by streamlining operations, fine-tuning your service, and learning how customers react to and interact with it. How do you do this? Look at metrics, see what alarms are triggered, and observe where patterns exist.
You can learn a lot about your service just from looking through the ticket queue. You’ll see what customers are asking for, what areas don’t work for them and even which aspects of the product/service confuse them or what things didn’t work the way they expected. Those are areas where you can really reduce the friction and make things a lot better for you and your customers in the process.
Focusing on customers by expanding the “bubble”
I’ve worked with engineers, and they typically don’t get as much exposure to customers — or to product managers who are a proxy for the customer — as they would like. It is too easy to get inside of, and stay in, that internal bubble. That’s why we need to expand that bubble so teams are exposed not just to the development of our apps, but also to how we operate them and how we get them into our customers’ hands. That’s where it gets really exciting.
While it isn’t always so clear, think about who your customer really is. That’s who you should be focused on, whether that be through fixing problems or adding new features and capabilities to delight them.