As organizations transform into agile development shops, they quickly realize there is more to delivering business value than creating software.
It’s about building software that runs in production. You can only achieve business value when users apply the software as intended.
There lies the problem: Traditional agile development focuses on shippable code, not released code. IT teams are incentivized to continually change the software, always focusing on new features, enhancements, and fixes.
Meanwhile, operations teams are focused on maintaining application stability and reliability. This is where a strategy can help.
If you’re currently experiencing any of these eight issues with your traditional software development process, a DevOps strategy could be right for you:
#1 – Release delays from feature completion to feature deployment (usually more than two weeks)
Traditional agile teams focus on delivering features at the end of sprints. Operations teams often queue up multiple teams’ sprints and bundle them into production releases. This adversarial gating process means it can take weeks, if not months, before developed features are available for your users.
#2 – Inability to mature agile beyond individual teams
Teams are myopically focused on their own work and not the work of the entire enterprise. Feature development is not celebrated for what IT delivered, but for what a team delivered. This makes it difficult for cross-team collaboration to occur. Many agile programs fail in this fashion, which served as a key driver in the development of the Scaled Agile Framework (Safe) methodology.
#3 – Inability to perform activities within sprints and team releases such as security validation, compliance, performance testing
These forms of testing often occur after a sprint is completed and stories are marked as “done.” The challenge is the following: Any findings during these activities artificially exaggerate feedback loops and invariably create unplanned work.
#4 – Failed attempts at continuous integration, continuous testing, and continuous deployment
Any failed attempt at continuous anything shows that an organization values workflow automation, but often lacks the expertise or culture necessary to make it work – or stick.
#5 – Poor quality releases due to bad quality, unmanaged configuration changes, and poor release management practices
Any process that is inconsistent or requires significant human intervention is prone to recurring “intermittent” problems. “Recurring” because there are always issues, but “intermittent” because they are seldom the exact same problem each time. This breeds a belief that all challenges are one-offs. However, inconsistency is the true root cause.
#6 – Lengthy incident response times, both in identification and resolution of issues
Lengthy response times are symptomatic of internal silos that result from poor coordination and collaboration between development and operations teams.
#7 – Inability to deploy upon feature completion
Similar to the points above, the inability to deploy an individual feature means that intellectual capital is sitting in a code repository, depreciating in value over time. This allows the possibility of a competitor to beat you to the market. This also prevents the organization from achieving the earliest business value possible, negatively impacting ROI.
#8 – Lengthy lead time from product ideation to the beginning of team work
The inability to release quickly has an unintended side effect in that it lengthens the time it takes for a team to start working on a business partner’s need. The more time a team spends on “cycle time” – or the time it takes to complete work once started – the greater the slowdown in the backlog. Think of this like a traffic jam without an apparent cause. A simple slow-down causes a backlog that slows down all work.
The longer it takes to complete work, the longer it takes to start work, the longer it takes to realize business value – and the more it breeds impatience and dissatisfaction.
Keep that from happening. Implement a strategy today.
Where to Start?
Now that you know more about DevOps, how do you get started? Here’s how:
- Understand what it is
- Identify your objectives
- Build your business case for implementing DevOps
- Redesign your IT processes
- Design and adjust team structures
- Learn what common tools can support your team
- Foster collaboration, cooperation, and active sharing among your teams
The Phoenix Project Business Simulation Workshop
With your business and technology teams at odds, you’ll need a cultural shift for DevOps to work. Read a related blog
The Phoenix Project Business Simulation Workshop can help. It’s a learn-by-doing workshop in which teams work on challenging issues within a simulated environment. The goal: To learn how to apply DevOps principles and values.
Each participant will play a role with specific tasks, responsibilities and authority. The facilitator will provide support and instructions and help the team reflect on their experiences and what they have learned. More on the workshop