When companies adopt agile internally, they often forget to extend the concepts and values to their partners. You have to look at your outsourced delivery components as part of the process that needs to be included as an extended team. Collaboration, reflection, and improvement is at the heart of agile, and it should look that way from the perspective of all elements in the delivery chain.
With evolving demographics, global connectivity and digitalization, and technology disrupting the traditional business model, it’s unlikely that the current framework for outsourcing work will change. Companies must build flexibility and agility into their organizations to be able to respond to this unprecedented culture shift of challenge and opportunity, and from there, spread these new practices and work models to the outsourced parts of the team.
That explains why companies have started to look toward transitioning to agile methods—to have the ability to do things better, faster, cheaper, and with increased quality. Whether they adopt formal frameworks, become learning organizations, or move to lean approaches, it's all aimed at improvement with the ability to respond to change at scale.
If you’re using an outsourced service provider, how do you get this business outcome? How do you get to a point where you can hand over key parts of how you provide customers value? How do you build trust?
Agile software development is a collaborative game; in fact, agile demands collaboration in order to be successful. That means all participants involved with the delivery of an idea, from concept to a working, in-use product, need to be engaged together in order to thrive in an agile world.
The first thing we ask our clients is when we are going to start collaborative planning sessions. Creating joint operational models is essential because they allow us to fit the context of how we work to how the client works so we get optimal delivery approaches. We also encourage them to invest in “spare” capacity, meaning not planning for 100 percent (or even sometimes 110 percent) resource allocation so that we have slack in our delivery system and can respond to change.
It’s good practice to make sure the client acknowledges how important it is to take the time to create a collaborative working model and invest a week or two into defining how we are going to work together. That will create clarity and shared understating, define a process for how work will move between teams and states, and allow us to create a culture for success.
Companies outsource for many reasons, cost advantages being one, but also the inability to allocate people to a problem internally. If the vendor/partner relationship is poorly run, adversarial and competitive in nature, driven by large batches, not collaborative, and relies on documentation over communication, you are bound to have lengthy lead times, hidden queues, and poor quality. Nothing will fix that until you take a systems view and look at the outsourced components as part of the process that needs to be included as an extended team—not just a way to save a few dollars. The only way to deliver value fast is by having all elements and activities required to push an idea to income aligned with the same goal and mission.
Clients adopt agile internally but often forget to extend the concepts and values essential to successful enterprise agility to their partners. I would contend that without that mindset, you may get marginal improvements, but you will never change the game. You might even end up countering the benefits from an agile transition.
Going forward in an agile transition with a client means trusting each other to deliver. That means there will no longer be competitive bidding wars that lead to strict contracts with no allowance for flexibility. It means moving to collaboration over contract negotiation and banning fixed-scope, fixed-cost, and fixed-time “agile” projects.
We took this approach with one client on a critical data center migration. By extending the team view to truly incorporate the offshore team, the results have been awesome—and able to be replicated.
Agile is not about adopting practices in isolated client silos and passing work to vendor silos, then back again. It's about that end-to-end view, parallelism, adaptive planning, a growth mindset, and working collaboratively—not settling with the current state, but always looking to improve it. Collaboration, delivery, reflection, and improvement is at the heart of agile, and it should look that way from the perspective of all elements in the delivery chain. Even in product development, you are only as strong as your weakest link. When we work as a collaborative unit, we succeed.