Software development outsourcing is a strategy known to all IT departments and embraced by many. When we meet with business and IT leaders, we find that some companies have attempted to use outsourcing as a software development strategy, but the results were dissatisfying (and - sometime disastrous).
We dug deeper into low-performance software outsourcing and found that the root cause of issues was NOT caused by the outsourcing partner. The surprising conclusion was: internal factors at the client company ultimately prevented success
Article originally published on CIO on March 14, 2018.
We believe there are common “warning flags” that help a company proactively remove barriers to successful software outsourcing. These 15 Risk Areas can be categorized along 3 dimensions:
At a meta-level, business risks are those places of vulnerability that lie outside the technology or the project execution disciplines.
The tie-in between the needs and priorities of the business and the capabilities of the supporting software cannot be overstated: it’s critical, essential, non-negotiable. For years, IT leaders attended conferences and read dozens of articles (often forwarded to them by business executives) on the topic of “business and IT alignment”. Yet, in recent years, we have come to the realization that the separation between business and technology is really a false dichotomy. It’s as silly to talk about aligning IT as it is to talk about aligning a leg or arm with the rest of the body. IT is an integral part of a healthy, functioning business just as operations, sales, and logistics are critical.
We also include important aspects of the Customer-Outsourcing Vendor relationship as considerations for business risk mitigation.
Therefore, you’ll introduce risk when you undervalue the importance of business-oriented elements in the composition of an outsourced software development project.
Business Risk #1 - Undefined Metrics
Peter Drucker - arguably the father of modern business management - famously said: “If you can't measure it, you can't improve it”.
Key players (business and IT) must be clear on “What does success look like?” Your company must always begin with the business opportunity to deduce the “worth it factor” for investing time and money into developing software. The business opportunity should be quantifiable. For example:
The business objectives should be described in terms that can be quantified - and measured in evaluating the software development outcomes. These objectives become your North Star in navigating a successful project.
Risk will be introduced if you’re unclear or not unified as to which elements (capability, functionality, components) of a software solution matter most.
For companies using iterative development and deployment techniques (“Agile Sprints” for example), it’s imperative to have a sequence of work product that’s shaped by priorities the business areas have endorsed.
A concept often overlooked in software development, especially with iterative production releases, is the concept of the “Minimum Viable Product” (MVP). Companies should be highly attuned to what the end-users value most in features and capabilities of a software solution. Too many software releases (including commercial software) have been met with a “So what / who cares?” response from users.
Software development is full of compromise and negotiation. Working with an outsourcing partner is no exception. Priorities should be fully understood - and agreed upon by the business community, IT staff, and the outsourcing development partner.
Leaders set the tone for their teams and are ultimately the “culture keepers”. If senior managers, don’t reinforce the importance of a system development initiative by words and actions, then it’s foolish to presume their department stakeholders will participate in ways that show commitment.
“Lack of Executive buy in and sponsorship” long ago was identified as a key reason for enterprise system project failure. Executive sponsors are irreplaceable in their necessary roles in change management decisions, goal affirmation, and conflict resolution.
Sometimes a third party outsourcing partner is set up for failure because they aren't engaged by your company employees in ways necessary for accomplishing the tasks you’ve assigned them. Key business stakeholders, such as subject matter experts (SMEs) are essential for healthy software development outsourcing. Too often, a key person is tapped for the project with little-or-no consideration given to how they’ll commit time to the project without assistance to keep non-project commitments on track. Risk is introduced into software development outsourcing projects - or any “IT project” - when the time and energy to achieve success is viewed by business stakeholders as “NMP” (not my problem).
Other times, perhaps the methods and rhythms of collaboration are not clearly understood or, perhaps the default communication method is impractical. Many of us can’t be reached consistently by ad-hoc, unannounced calls to our office phone, but will be very responsive to instant messages or emails.
In Agile and other highly iterative software development methods, rapid interaction is doubly important for the project’s success. But, regardless of the development methodology, lack of team engagement equals high risk of failure.
We encourage companies to embrace the mindset of “covenant” versus “contract” - and “partner” instead of “vendor”. Business partners are in a covenant together - striving for a common goal. In contrast, third party vendors are simply expected to ship goods or provide a service for a predetermined price. That doesn’t work for custom software development where requirements are constantly changing.
Partnership begins with selecting the right outsourcing firm to partner with. Of course they need the right technical skills. But, they also need to demonstrate a style that’s compatible with your own. Sometimes “compatible” means they’re methodical - like you. Sometimes, it means they’re MORE methodical and systematic in their approach, in order to keep you honest.
Business partners need to know and appreciate knowing intimately the project success criteria and potential barriers to project success. Your “win” and their “win” should be the same.
Developing and deploying application software is complicated. Working with an software outsourcing partner has numerous benefits, but also adds complexity. Don’t allow the potential for failure, or suboptimal completion to creep in by ignoring signs of business risk in your project. Be risk averse - be critically self-aware of these 5 risk areas and take steps to mitigate, or avoid them completely.
Want a more in-depth analysis of the 15 risk indicators, technology risks and management risks? Check out the rest of our four part software outsourcing series featuring Part 1: 15 Risk Areas for Software Development Outsourcing, Part 3: Management Risks, and Part 4: Technology Risks.