Outsourcing is a well-established strategy that many IT departments use to accomplish business objectives. Over the years, we\u2019ve seen companies, regardless of industry size, struggle to outsource software development successfully. Many times, the root cause issues were not systemic to the process of outsourcing or caused by the outsourcing partner, but rather because of internal factors at the company that ultimately prevented success.\nAs we analyzed company experiences, we\u2019ve seen recurring themes or \u201cwarning flags\u201d that, if properly heeded, can help a company proactively remove barriers to successful software outsourcing. These 15 areas of risk fall inside three dimensions of software leadership:\n\nBusiness: Not all risks to a software development project lie within the domain of the IT department. Rather, they\u2019re within those areas of the company where business stakeholders reside. These stakeholders see the business opportunity that can be achieved through software solutions.\nManagement: Risks when management fails to take action to ensure that software development goals are pursued with intentionality, clarity, and healthy team dynamics.\nTechnology: Finally, we see that regardless of the choice of an outsourcing partner, risks are introduced by flawed elements of the technology architecture, tools and framework.\n\nBusiness\nUndefined metrics. Key players (business and IT) must be clear on \u201cWhat does success look like?\u201d A project charter or other mission statement should be tied to expected outcomes in the business that can be seen and quantified. The software development objectives should have clear alignment to those metrics.\nInconsistent priorities. Which elements (capability, functionality, components) of a software solution matter most? For companies using iterative development and deployment techniques (\u201cAgile Sprints\u201d for example), it\u2019s imperative to have a sequence of work product that\u2019s shaped by priorities the business areas have endorsed.\nFew executive champions. Leaders set the tone for their teams and are ultimately the \u201cculture keepers.\u201d If senior managers, don\u2019t reinforce the importance of a system development initiative by words and actions, then it\u2019s foolish to presume their department stakeholders will participate in ways that show commitment.\nLack of team engagement. Sometimes a third party is set up for failure because they aren't engaged by your company employees in ways necessary for accomplishing the tasks they\u2019ve been assigned by you.\nNo partnership contract. Your software outsourcing vendor is an extension of your internal team\u2019s capabilities. Their success is YOUR success. We encourage companies to embrace the mindset of \u201ccovenant\u201d versus \u201ccontract.\u201d Business partners are in a covenant together \u2013 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\u2019t work for custom software development where requirements are constantly changing.\nManagement\nUnrealistic expectations. Any leader with experience in contractual relationships has surely had a point disagreement over obligations per the agreement... the expectations of one party don\u2019t match the actions of the other party. \u201cWell, what was intended by that part of the agreement is...\u201d has been spoken time and time again. The \u201cgray area\u201d of expectations and assumptions\u201d are usually where risk occurs. Reasonable parties working together can usually find a palatable compromise \u2013 but unrealistic expectations can derail the relationship.\nUnfocused leadership. Sometimes the \u201cright\u201d stakeholders \u2013 based on knowledge or skill \u2013 are assigned to a project, but the assignment does not take into account the need for properly focused attention to the project. Will the leader need some backfill or bandwidth to ensure other business needs are addressed? Have other business priorities been properly factored into what may land on this person\u2019s plate?\nUnclear milestones. In the glory days of pure Waterfall methodology projects, \u201cGo Live\u201d was a single \u201cBig Bang\u201d event. These days, the iterative, continuous deployment of methodologies like Agile means that milestones need to be extremely clear. Without clear \u2013 and clearly communicated milestones \u2013 stakeholders and other interested parties might create unneeded confusion if a software release is \u201cmissing something\u201d that was never intended for the current release iteration.\nLack of team interaction. Good communication has always been important in software development projects. In an age of iterative development and deployment, multi-geographical teams, multiple time zones and a pace that can border on frenetic \u2013 good communication is an essential core competency of the project team. Processes and collaborative technologies must come together in elegant ways to ensure that the constant back-and-forth handoff between participants is seamless and low risk.\nWeak processes. Technology can never overcome bad process in a software development project. In fact, the speed that technology brings will simply choke down a project steeped in bad execution methods \u2013 or cause the project to accelerate \u201cinto the ditch\u201d at a high rate of speed. The roadmap and methods to be used by the project must be fully understood by the company and the outsourcing vendor \u2013 and each side must be fluent and diligent in the use of the methods over the life of the project.\nTechnology\nInadequate skills. It\u2019s surprising how many times we find that an outsourcing partner has not been properly vetted: confirming that the project team has the requisite skills and experience to be successful. Certifications, ongoing training, industry and functional experience are all dimensions that should be part of your companies due-diligence before going to contract.\nUndefined operations. A driving force behind the emergence of devops was the realization of the gap between applications and operations. These two must work well together during development and deployment. Adding a software development outsourcer into the mix is an effective means of getting work done, but it also adds complexity. Who is responsible for hosting? How will the software be certified for the intended target platform \u2013 and who will do it?\nIneffective design. Do the design elements of the system properly address the business goals? It\u2019s surprising how often we find that insufficient consideration has been taken to ensure that alignment exists. For example, will this beautiful new web application be a bust on day 2 of go-live when users try to launch it on mobile devices? Or does the solution require so many pages of data entry that shoppers will become frustrated and abandon the purchase? Misalignment of design and business objective is a huge risk factor to be avoided.\nNo quality assurance. The speed of Agile development \u2013 and the opportunity to deploy code to production rapidly \u2013 may create a temptation to overlook or minimize the necessity of good quality assurance. Moreover, a software outsourcer may not have proper understanding of what QA steps are expected (or even demanded by policy or government regulation).\nTechnical debt. Many times we see companies with a large backlog of needs that need to be addressed through technology. This \u201ctechnical debt\u201d can run the gamut of much-needed functionality to stay competitive, to software version upgrades which are required to keep a critical application capable of being supported. Sometimes the approach to addressing this backlog is \u201cnecessary but not sufficient.\u201d The velocity of the planned change will not move the company to a sufficiently better situation. The risk in the form of technical debt must be addressed in radical ways: accelerated change through leveraged outsourcing partners, \u201cleapfrogs\u201d of functionality or technical platforms, for example.\nConclusion\nWe encourage every business leader to carefully address your business, management and technology context with a critical eye and be on the alert for these 15 risk areas. Technology is not an expense, but rather an investment for business opportunity. Mitigating or altogether avoiding these 15 risks will help ensure that your investment of time and money in a software outsourcing relationship yields its highest return for your company.