You've probably heard of a Lean Startup approach to building a business, but what about a Lean DevOps approach to scaling your development team?
To explain the difference between traditional DevOps and Lean DevOps, let's start at a cloud's eye view and work our way down.
The definition of traditional DevOps, as defined by AWS, is:
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes.
Lean DevOps makes a key distinction in the fact that it aims to not just bring velocity to the surface, but also simplicity. As such, Lean DevOps is defined as:
Lean DevOps is a development philosophy that focuses on both velocity and simplicity via a combination of culture, best practices, and workflow automation tools.
Not only is traditional DevOps a major challenge for small companies trying to compete for skilled people, but those same startups also have the most promising opportunity to scale DevOps as part of their organizational structure and culture. In doing so, DevOps can be optimized using a lattice-style team philosophy where generalists and specialists are both leveraged and nurtured.
And Lean DevOps works. The 2019 State of DevOps Report showed that companies who have high performing DevOps programs deploy software not only 200 times more frequently, but also have 2,555 times faster lead times for their projects. In addition, they also recover 24 times faster from failed changes, with three times lower change fail rates.
That equates to not just faster development, but faster business. You’ll reach milestones, OKRs, and goals earlier, and before your competition does. Thus, bringing developer tools into the realm of revenue generation and not just cost savings.
$300B in Lost Developer Productivity
Currently, DevOps is fragmented across innumerable tools and technologies. Developers have also been tasked with workflow automation, but this burns valuable time that could be used to build features for paying customers.
Often you’ll see two main DevOps challenges:
- Many companies struggle to adopt DevOps practices.
- DevOps tools are far more complex than ever before.
That’s why $300 billion in developer productivity is lost every single year within growing development teams.
Technical leaders know that, as their teams grow, it is critical to invest in the workflows that their teams require to work. However, it can be too time-consuming to allocate their critical internal resources.
That’s why a Lean DevOps approach is so important. It allows teams to remain lean, automate repeated workflows, and use tools and behaviors that increase simplicity and velocity.
The 10X Engineer Is Dead
And that’s why the 10X engineer is dead. Or, more appropriately, they never existed. However, a team’s ability to have a 10X impact is still very much alive.
Taking a Lean DevOps philosophy can work the same magic, but instead, focus on making a team of five engineers 2X as productive.
All they need to do is build the right culture, utilize industry best practices, and implement the best tools.
You can also consider building an organizational structure that unblocks your team like a lattice formation (pictured above) or holocracy-style team makeup that promotes a flat organization with limited bureaucracy and decentralized management.
These are frameworks for encoding autonomy, agility, and purpose-alignment into your organization's DNA.
5 Ways to Build a Culture of Delivery
So, how do I move to the Lean DevOps light, you ask? Well, here are five steps to follow while implementing and scaling your lean culture.
- Stick with lean process for as long as possible. Don’t give in until it’s the right moment. Stay lean allows you to move quickly in the early stages of a company.
- Choose boring technology, invest wisely. Take time to pick the tools that increase simplicity in your workflows.
- Onboarding sets expectations. Don’t just drop a new tool at your team’s feet. Implement a rollout plan and lay out the education with it.
- Create a platform for success. Lead by example to live and breath your new-found Lean DevOps philosophy.
- ICE: Impact + Confidence / Effort. Balance your workload by debating with data and leveraging your highest value initiatives.
Take the time necessary to get buy-in for a culture shift from your team. It's never easy, but if you do it right in the beginning the effects will become much more ingrained in your sprints.
Scaling with Lean DevOps
Remember, as your team scales you’ll move from a flatter organization to an Agile matrix one.
This will also affect your team velocity as process complexity increases.
So, as you scale, here are ways to stay within the Lean DevOps methodology:
- Stay flat, fewer managers. Maintain accountability through transparency via tools like Slack and its companion app marketplace.
- Strategic vertical workstreams. Track product milestones in tools like Jira to provide visibility and a longer-term vision.
- Holistic horizontal specialization. Think about research and development, security, and codebase specialization as wide thoughts that span business functions.
- Don’t lose the ability to build a generalist culture. A team of polymaths will aide your problem solving and creative thinking.
At the end of the day, there is no perfect process, but a combination of assets.
Tools with bottom-up adoption, a flat organizational structure to speed things up, adaptability, and a balance between velocity and stability are your targets.
Welcome to the delivery culture of Lean DevOps. Your team will thank you.
To learn about Lean DevOps in video form press play below.