What does excellence mean?
DevOps excellence is adopting best processes, practices, tools, and technology to get better at getting better. When executing any project plan, you have choices – 1) You’re moving fast and don’t have time to think about how you’re getting there, or 2) you methodically plan for scale and growth and how to build quality in, and execute your plan in a stable yet speedy way. You get quick feedback; in case of failure, you recover fast.
Excellence adds rigor to engineering execution. If you want to scale and have engineering double or triple in size, you need to build excellence into the process and culture.
How to execute
How do you come to an agreement on what excellence is going to look like at your organization?
Excellence in engineering requires focus on four areas: people, process, technology, and tools. You must practice it throughout the whole lifecycle of software, from inception to end-of-life. You build in excellence. You want to train your teams in modern ever-changing technologies and provide them with appropriate tools. Agile scrum methodology provides the right process to enable efficient execution with retros and continuous improvement. Automation is at the heart of excellence, while manual processes contribute to inefficiency. You want to automate your tests, CICD, infrastructure, and everything else that your computer can handle.
4 pillars of excellence plan
Predictability, productivity, quality, and security are four pillars that make the foundation of a great engineering excellence program.
Productivity and quality go together. Quality is the most important goal for your product. But you also want to deliver features fast and efficiently. You want to deliver predictably, and last but not least, you want to build in security.
How do you measure quality? A good quality product means a customer has fewer problems using your product. Quality means they see you being responsive to problems when they occur. Quality means your product performs well and delights them. They’ll call support much less because the product works easily for them, and they’ll stay with you as a loyal customer. These are the business outcomes engineering wants to achieve.
These are lagging indicators that show you are building the products and experiences that customers want and enjoy. Productivity is visible when you are delivering new features faster, and you are releasing multiple times a day. Your builds are efficient; they run automation to test quality, and they deploy. Predictability comes when you have the right planning process in place and monitor the say-do ratio (plan versus actual). You add your fourth pillar of security with a good program in place, with tools and training and regular scans of your code. Adopt these four pillars in your program, and you will release high-quality secure products with speed.
Ask the right questions at every stage
It is important to connect your production feedback to your development teams. Some questions to ask here: “Is anybody using what I’m creating?” “Are customers running into issues often?” “How do I fix those problems fast, and do I have the right data?”
For efficiency and productivity, we train people to ask, “Do I have the right requirements?” “What can I automate?” “What’s the right level of automation?” “What tools can help you build that automation?” “When should I run it?”
You can determine your own excellence all day long with internal metrics, but your customers must see the results. For example, we do code reviews, and we adopt best practices like test triangle and measuring our coverage – all of that is internal enablement to get to our goals. We must do all that. But at the end of the day, you’re doing that so you can get that one most important metric: delighted customers.
As the world starts getting back to normal post-pandemic, do not take your eye off this excellence game.