By Chafin Bryant, Senior Engineering Manager, Capital One
I’m a curious technologist and a passionate people leader at Capital One. Although we’re one the biggest financial services companies in the country, we’re a tech company at heart. We use tech in powerful ways to grow and compete.
Since joining Capital One five years ago, I’ve been helping streamline our software operations using the latest agile methods and tools. I lead the company’s Enterprise Jenkins platform team that works to automate software delivery, increase operational stability and improve the developer experience.
It’s a massive effort. Our DevOps group supports a developer community of close to 7,000 engineers on a platform running more than a half a million Jenkins automation pipelines and some 50,000 build, test, deploy activities every day. We oversee the entire platform with just a small team, which is possible because we’ve adopted DevOps principles, tools and the flexibility and efficiency those processes give us.
Tips and Tricks
What’s the secret to a successful DevOps journey? We’re still a work-in-process, as every company is, but here’s a few best practices that have helped us along the journey.
1 – Adopt a disruptive and fail-fast mindset. Try new things and be willing to try something else if an idea fails. Having a fail-fast attitude and accepting that not every idea is going to work out is a key success factor. This allows you to be nimble and quickly find a solution that’s going to work for you.
2 – Aim for consistency. There’s a saying attributed to the Navy SEALS that goes something like this: “Slow is smooth and smooth is fast.” That’s a great strategy for achieving DevOps success. Make a goal of consistently achieving your quality gates, even if your cadence isn’t rapid at first. If you can create consistency, then you can make that process quicker and you can scale it.
3 – Embrace the cloud. Capital One is cloud-first, which helps us avoid the pitfall of running out of resources just when we need them the most. Provisioning new tech capacity can take months of planning and implementation, which slows innovation. Cloud infrastructure enables our teams to build and destroy thousands of resources every hour and scale with ease when we need more capacity.
4 – Centralize tooling. Want your development teams to get more efficient? By centralizing DevOps and delivery tooling, our teams no longer need to develop and manage their own tools in different silos. This reduces duplicate efforts and increases resource reuse and collaboration. Some of the enterprise functionality that CloudBees CI provides, like granular role-based access control and support, helps our teams provide tooling for the entire enterprise in a centralized, managed, standardized and yet flexible way.
5 – Architect for scale and growth. As you start your DevOps journey, think about where you’re planning to go and build your systems to match. “Begin with the end in mind,” just like Stephen Covey says in his classic book “Seven Habits of Highly Effective People.” Too often, organizations start projects with the idea that the scale is going to be fixed. Then when the project takes off, you run into an architectural wall. If you’re early in your DevOps journey, think about how you’re going to grow so you can make sure your tooling and processes are poised to grow in step.
6 – Set a high quality bar, then automate your controls. How do you achieve consistently high software quality? Start by thinking through all the development processes you’re currently running, then set a quality bar to ensure you’ll meet the highest expectations for your software. Then, work to automate each of those quality controls and gates to reduce human error and simplify audit and compliance. You may need to rethink and reimplement your existing manual/human controls, but in the long run this will make the process better, faster and more consistent.
7 – Start somewhere. Where do you begin? Take one identifiable thing you can improve, make it better, and then do it again and again. Others will begin to notice you’re making a difference and you’ll start to build organizational momentum. It’s like a playground merry-go-round. You push hard at the beginning to get it going, but as it goes faster, it actually starts to pull you along.
To learn more about how DevOps is helping Capital One transform – and how his teams are flexing during the pandemic -- listen to Chafin’s keynote presentation at CloudBees’ recent event, Financial Services: Future Proofing Your Digital Transformation Strategy.