Part of our work in the Domain Consulting team is to advise Cyara customers on their Agile/DevOps journeys. Something we've seen among many Cyara customers, and more broadly, is the constant pressure to innovate. Technological innovation continues, but that doesn't mean organizations are equipped to handle it. In fact, quite a lot needs to change before they can truly innovate at the speed of technological advancement. Chief among these is funding structures and outsourcing models.
In the first post of this series, I outlined some of the barriers to innovation in terms of funding models, and suggested some ways to overcome them. In this post, I will examine the barriers represented by outsourcing models.
The Drawbacks of Traditional Outsourcing Models
One of the key findings of the 2018 State of DevOps Report is that elite DevOps performers rarely adopt outsourcing for development, testing, or operations. In fact, the report found that outsourcing actually hurts performance. The report states: “While outsourcing can save money and provide a flexible labor pool, low performing teams are almost 4 times as likely to outsource whole functions such as testing or operations than their highest-performing counterparts.”
The typical model for outsourcing is transactional, and it’s managed by procurement, or vendor management, who tries to offload risk to the outsourcer. Contracts define fixed prices, timelines, and scopes. The challenge with these traditional models is that they create friction—every time there’s a change, it needs to be negotiated through a change management process, which introduces delays, and is fundamentally at odds with Agile and DevOps. Due to the friction, this outsourcing model leads to the batching of work, resulting in high-value features being batched with low-value features. The result is that high-value features have to wait for low-value features to be completed before they can be released. This can be costly, as an example about the Maersk container shipping company given in the State of DevOps report shows. In that example, the cost of delaying just the 3 top features was around $7 million per week. Any cost savings from outsourcing here were far outweighed by the cost of delays.
Alternative Outsourcing Models
Outsourcing is an essential part of every IT organization’s toolbox, but it needs to be done right. I don’t think there’s any organization out there that can staff all the specialist skills they need to meet peak demand, so they need outsourcing. But if it’s not done right, rather than adding flexibility and reducing costs, it ends up doing just the opposite! We need models that are more flexible so they can achieve the outcomes organizations want, and don’t introduce delays or unnecessary costs. There are 3 different models I’ve seen developing that have a variety of benefits, and may work better in Agile and DevOps environments.
1. Resource Augmentation
In this model, the organization has scrum teams made up of product owners, scrum masters, testers, developers, and so on. They supplement headcount with outsourced resources who become part of the scrum teams. This enables the organization to acquire skills that don’t exist in house, or to increase the team’s capacity. All of the risk is worn by the organization in this scenario. This model works well for situations in which an organization wants to retain its IP (because it is a core differentiator), but is less valuable for legacy or commodity systems.
2. Fixed Cost and Timeline with Variable Scope
In this model, an organization might hire a whole scrum team to do 4 sprints for them, for example. The hiring organization would provide a product owner to decide what the scrum team is working on and the scope, and to do feature prioritization. Here, there’s a little more risk worn by the outsourcer because they have to deliver enough value within that timeline to make it worthwhile to continue with the product. This is a more mature approach. No fixed scope means there is more flexibility in this model, and there is also less risk of friction and delays because it is less likely the organisation while have to resort to using change management process. Ultimately, this model is more in line with the agile value of customer collaboration over contract negotiation than the resource augmentation model.
3. Shared Outcomes
This is the most mature model, as it requires both the organization and the outsourcing partner to be quite mature in the Agile/DevOps model. Here, an organization might have a team that has come up with a new concept, but they know they have resource constraints. So they give their desired outcomes to their outsourcer, and the outsourcer looks at the value that can be created. The outsourcer is an active participant, and is paid on the outcomes, not the cost of labor. For example, for a project with a $6 million value, the outsourcer would get a defined percentage of that $6 million. For this model to work, there needs to be a high level of trust and maturity because you have to define the baseline and agree on improvements. You're also putting a lot of trust in your outsourcer because you're telling them what you see and want to address in the market. They play a big part in addressing the need, and a lot of the output is outside the organization’s control.
Part of successfully achieving this level of outsourcing maturity is education: the teams involved need to understand sourcing and vendor management, as well as pitfalls of legacy outsourcing models, and the benefits of newer, alternative outsourcing models.
Does your organization benefit from outsourcing?
To learn more about how Domain Consulting can help you, contact us, or get in touch with your Account Executive.