Are You Ready?
DevOps is growing as a movement and a philosophy with good reason. It focuses on using practices that emphasize collaboration and communication that enable building, testing and releasing applications rapidly, frequently and reliably.
Process improvement, automation and culture change are central to success; however, not everyone is ready to embark on the DevOps journey. Are you?
If you’re frustrated with your organization’s ability to release valuable features to customers based on your expectations (or your boss’s) or simply embarking on your own DevOps Transformation, you may want to read this.
In this article I’ll highlight three key concepts:
- The business and organizational benefits of a DevOps approach to Product Development.
- The components needed to reap the rewards of DevOps.
- Suggestions for how to disrupt your development life cycle (DLC) approach for better results.
Why Commit to DevOps?
The DevOps approach brings together four teams that are traditionally disparate in larger organizations – operations, software development, quality assurance and testing.
While each area has their own role to play in a typical DLC, I’ve seen how instead of collaborating to drive team success, the focus tends to be on the individual deliverable measured against ‘when’ it is delivered to the next phase. Often this ‘set and forget’ mentality doesn’t realize the deliverable through to the required definition of ‘done’.
This old school behavior is on its way out, driven by increasing pressures to improve Customer Experience and Bottom Line results in an increasingly competitive landscape.
Microsoft’s Bing Team is a prime example of a team embracing DevOps and yielding it’s benefits.
“The culmination of the platform and developer experiences is referred to as Continuous Delivery (or simply “Agility”), and when we began to make the leap to Continuous Delivery we not only changed the way our developers write code – we fundamentally altered the way our business operates. Regardless of organizational size, we believe this is a journey worth taking.” – Bing Experimentation and Testing at Scale
Just like Microsoft, embracing DevOps brings each team together, systematically, so that every group is more successful by everyone achieving the goal together.
Your DevOps goals should drive a production-first mindset that ensures:
- a standardized set of environments
- decreasing the failure rate of new releases
- shortening lead-time between releases
- a faster mean time to recover between releases
Ideally, a DevOps approach creates an environment where the organization can release more valuable software faster (or even on a continual rollout basis). Faster, healthier cycle-time can equal more revenue, market share and competitive advantage, as well as more satisfied and loyal customers and employees.
Our Approach to DevOps
We take the best of Agile, Lean thinking and human-focused design, and incorporate them into our approach to helping clients evolve their teams into a cohesive DevOps shop.
Essentially, we’re introducing a new way of working that fits your organization, your team, your values and your business and customer goals.
There are four main pillars that we build client DevOps recommendations around:
- Before you start, ensure the program has full support from an Organizational Change Management perspective
- The cultural change must start at the top and should be a frequent ‘guest’ during milestone meetings to provide updates on status, what’s coming next and, most importantly, why it matters.
- Standardizing What Works
- Aligning and reducing cycle times through gathering systems and establishing standards end-to-end.
- Automating What Works
- Automate build and deployment processes aka Continuous Integration
- Embracing the Retrospective between Iterations
- AKA Continuous Improvement
- Leverage Process Failure Mode and Effects Analysis (PFMEA) & Corrective Action / Preventative Action (CAPA) as tools to drive execution control discipline and avoid recurring issues.
Ready to Adopt DevOps?
As Stephen Covey is quoted, “Seek first to understand and then to be understood.”
Before considering the advanced techniques involved in being an effective DevOps machine, you need to understand your current state environment and competency.
In Lean thinking, this process of understanding is called Value Stream Mapping. It helps you visualize how the process, technology/tooling, data/intelligence and people flow (or not flow) to deliver value to your customer.
This holistic view of your product allows the right focus on what to do first based on the quantitative and qualitative impact a particular gap or failure incurs in your current state. Then, it’s down to applying the right techniques to solve the problems by priority.
Start Disrupting Now
Disrupting the status quo is never easy. However, unmotivated and fractured software teams can cause enough pain (mental and monetary) that makes change more appealing.
Creating a culture that’s supported by streamlined and reliable DevOps can mean the difference between being number five in the market and number one. Freeing up your most valuable resource to innovate vs. renovate is key to that accomplishment.
My hope is that you gleaned some new courage and concepts to help your organization deliver rapid IT solutions through the DevOps philosophy and practice.