There are several challenges that come with managing outsourced development. In today’s digital age, it’s more important than ever for companies to partner with the right vendors and drive continual improvement by proactively steering software projects. However, HfS Research and KPMG’s State of Operations and Outsourcing 2017 study recently found that not even a third of the VPs and below who are managing outsourcing engagements view them as being very effective at making their operations more flexible and scalable.
But there are ways IT leaders can turn things around and bring balance to their vendor management approach. Based on our work with many global IT organisations at the leading edge of vendor steering, the four most important dimensions for driving operational excellence are:
1) Accelerating speed
There are usually at least a couple quick wins you can achieve when taking a data-driven approach to managing outsourced software development. The first of these is reducing wasted effort on things like defect fixing or unnecessary hand-offs within a single request. Defect fixing might be high because a vendor completely misunderstood the business requirements and had to implement it again. When spotted, these troublesome patterns can be tackled early on to help speed innovation.
Another opportunity is to improve scalability. When there’s a knowledge monopoly, it can take longer to fully onboard people. Conversely, if there are too many new developers fiddling around in the same code unit, that can become a nightmare as well, so you should keep an eye on the percentage of business logic that exists in your most active code units. Take the time to get rid of bottlenecks, buffers and unnecessary cycles, and you’ll streamline vendors’ development processes for greater velocity.
2) Boosting productivity
While many organisations measure productivity as input, output and throughput at the application, project or team level, this dimension is actually the least valuable to focus on when it comes to vendor steering. That’s because the majority of outsourced projects are fixed price, so all the downside of low productivity already falls onto your vendor. Even with outcome-based engagements, though, you can find ways to adjust certain key levers. For instance, better estimation on the front end will help you know if you’re getting a good deal from the vendor, and setting realistic benchmarks with the team can ensure that they hit the optimal balance between speed and quality.
On the other hand, with a time and materials project or an internal team, productivity is very relevant. Identifying and eliminating hotspots can make a huge difference in the amount of functionality your developers are able to deliver. For example, managers should monitor efficiency metrics like how much time is spent in complex code, real lines of code produced or the average amount of business logic added per developer.
3) Improving quality
When it comes to improving code quality, IT organisations should hone in on error rates, maintainability and extensibility. It’s important to know that the code produced by vendors has proper test coverage and hits your complexity and documentation benchmarks. Another quality measure that’s worth keeping an eye on is an outsourced team’s refactoring effort. Consultants typically recommend that IT invests 5 per cent of its development budget in refactoring to pay down technical debt and keep it from becoming a bigger cost down the road. In addition, you should monitor KPIs for the number of developers per code unit, increases in cognitive complexity or undocumented logic or scattered code changes.
4) Decreasing risk
Too many companies delude themselves into believing they can simply outsource away development risk. They think service-level agreements and time and error penalties will protect them from the natural risk of IT projects, but that’s simply not the case. To mitigate these issues before they become problematic, you should closely track your people-related risks, code-related risks and project-related risks.
For instance, be aware of experienced developers leaving the team and new developers joining, because unhealthy levels of team churn will slow down projects and impact code quality. For project risk, look at the code’s commit history alongside project milestones to help you spot red flags. Vendors frequently sandbag their timelines in order to protect themselves from tough penalties for missing deadlines, so make note if they seem to get a slow start to projects, have a flurry of activity at the end and do add-on work after the project deadline. If so, it’s good to address those issues head-on and work with your outsourcing partners on better forecasting going forward.
Common vendor steering pitfalls to avoid
Of course all of this takes time, commitment and well-negotiated contract terms. It can be easy to fall into the trap of over-focusing on a single, easy-to-measure dimension at the expense of the other areas discussed above. Some development organisations tend to emphasize things like speed and productivity, while they overlook quality and risk. However, in isolation, those approaches end up prioritising cost over quality. Effective vendor steering requires you to control all the dials for speed, productivity, quality and risk.
This might be difficult, since when you’re just starting to bring transparency to software development work, you often have very inconsistent measurements (if any) across different vendors, teams, projects, programming languages, etc. “Compared to how much outsourcing has evolved over the years, ...the measurement and management of outsourced services is still in the dark ages,” says Saibal Sen, president of Zenesys Consulting. By adopting new, sophisticated analytics solutions that shed light on both developers and their codebases, companies can gain better intelligence with which to drive vendor steering initiatives and easily predict key areas of concern or opportunity.
Oliver Muhr, CEO, Seerene
Image source: Shutterstock/Wright Studio