Skip to main content

Considering Outsourcing Software Development - a model

What are the considerations when the business wants to reduce the cost of the IT department and they want to outsource some or all of the costly software development group?  Here is a model to help you think through this decision and some additional resources.



Introduction

What decisions must be made to implement an IT Outsourcing program?  Are these decisions similar to the decisions that leaders must make for an Agile program?  How do they differ, how are they similar?  What are the expected outcomes, and the possible outcomes?  Which decisions have high stakes with no-return points along the transition map?  Which decisions are safe-to-fail and possible to repeat and iterate toward success?

Comparing and contrasting basic road maps for the implementation of major process change is fraught with generalizations that may easily be questioned.  The intent of this paper is to objectively represent the set of high level decisions and expected outcomes that lead to a success regardless of which path is chosen.  Choosing the path is your decision.

A general model

If we model the decision path as a journey with an expected destination, but unknown terrain this metaphor may serve us well.  Journeys are made of many decision, some made before the terrain is known, some made with little information, many decision must be adjusted as the journey progresses.

…. to do…

Decisions to be made along the path:

Can innovation be separated from execution without extreme risk?
Does outsourcing add value -or- just decrease cost?
How does the outsourcing approach transition to a value-add mind-set?
What need are we addressing with an outsource model:  from innovation <-> maintenance?
What does an optimized cost reduction model look like?  
a headless remote team; recruiting agency; software R&D provider; other?
What is the right service model for our organization?
outstaffing; <-> custom app dev
How does one mitigate the risk of vendor lock-in to the outsourcing provider?
What does the *right time* to outsource look like?
Where is the point of no-return in the decision path?
What does outsourcing require that IT is already great at delivering?
What does outsourcing require that IT is poor at delivering?  Can this capability be outsourced?

Along the journey - where is the point of no-return?

Investigation of Options

“Intelligence should be viewed as a physical process that tries to maximize future freedom of action and avoid constraints in its own future.”  — Alex Wissner

A model of intelligence at an abstract level is an organism that preserves options until a specific time horizon at which point it decides while seeking a goal (TED Talk: Alex Wissner-Gross: A new equation for intelligence). 


What is the goal of the Information Technology organization?

Is it to reduce the cost of IT to the organizations - or - might it be a more aspirational goal? More in alignment with the corporate mission.

Why do organization outsource?

Software development is not a simple endeavor.  Standish Group has studied the problem space for years and release yearly reports that in general show an marginal improvement in recent years from a low point of roughly 80% failure rates a decade ago.  However; “[o]utsourcing has not proven to be a magic wand; it has failed to deliver the expected results over fifty percent of the time.” (1, 3)  Gartner predicts that spending on outsourcing will increase from $268 billion in 2009 to $325 billion in 2013.  Research suggests the reason for this increase is the perception of economic, technological and strategic benefits.  These benefits come with additional challenges, and externalities.

Organization outsource to:
  • Focus on core activities
  • Reduce cost of development executation
  • Add staffing flexibility for special projects
  • Augment skills not presently available
  • Reduce development time associated with project ramp up
  • Improve quality (by working with more experienced developers)
  • Improve management (by levering vendor’s experience/knowledge)

Define our reason to outsource - be absolutely clear about why.  A clear purpose will enable decisions with reasonable chance of success.

What challenges does outsourcing resolve?

The cost model is typically the first response to the reasoning behind the decision to outsource.  Engineers in offshore locations are on relatively low compensation plans compared to the US, this relative cost advantage is apt to shrink fast however (5).
The scheduling of project manpower and resources is another key reason to outsource.  When project ramp up and termination are time sensitive offshoring may have tactical advantages to staffing internal projects with varying resourcing needs.

Specialized skill sets are another key reason to outsource.  Assuming that the skill set is not a core capability to the problem domain.

Mid-term budgeting and cost accounting become easier.  Small projects cost accounting becomes cost prohibitive so effort must be done to aggregate small project, or define a class of service that allows for ad-hoc scope management.

What challenges does outsourcing compound?

While software product development is a known challenge, outsourcing is a known challenge compounded by more players on the field.  The software development process will be distributed across multiple organizations with multiple cultures and value systems.

Outsourcing firms must effectively manage:
  • the scope of projects
  • the process that implements the deliverables, and
  • the people involved (customers, their clients, their staff, as well as vendors).
The pitfalls of an outsourcing model:
  • Requires constant highly skilled management and logistics
  • Increases departmental frustration
    • timezone differences lessen communication windows
    • need for higher quality architecture
    • lower quality of solution (not what we wanted syndrome)
    • need for better testing
    • scapegoating the vendor
  • testing is more difficult & results in longer test/fix cycles
  • company morale may suffer


There is no one right model to handle all of these management tasks.  In the grand scheme of things, success in outsourcing depends on how well you plan, organize, execute and control these very areas that are required for in-house development also.  Failing to understand these factors and relationships puts the outsourcing program in high risk of failure.

Successful Project Scoping for Outsourcing

Projects that are well defined in terms of scope/features (well known technology and well know requirements) are simple and prime candidates for outsourcing [the simple domain of the Stacey Diagram]. 

Project types require various amounts of effort in scoping - not all projects are the same - don’t treat them similar.  The most difficult is the innovative new application platform with a high degree of market risk.  These are typically high and to the right on the Stacey diagram.  Requirements are not well known, and the technology used is far from certain.

Scope management is the ultimate driver of value delivery.  In the traditional PMI Iron triangle managing budget is a well known problem domain, managing schedule is difficult but practical when using a Project Process Management model, however scope management is the most difficult.  It is also the leg of the iron triangle that is most often ignored as a lever to be used by the customer to make scope decisions with economic trade-off in mind.  Having a value-based model of project success has proven more satisfying to customers than a cost model (implied all scope & implied on schedule) model.

When project scoping is easy and well done the project is ripe for outsourcing.

If scope change management is a likely difficult internal process - then adding a few more contractually obligated layers (vendors) is exasperating the issue.  Scope changes must be controlled, they increase workload, and management overhead, they raise costs and lengthen schedules, as well as hamper quality and integration capabilities.

When outsourcing software development perhaps the worst situation is scope creep caused by ineffective change control.  This will cause:  cost escalation, quality shirking, schedule delays, unused/unnecessary features, reworkitis, staff demotivation.  The motivation issue creates a viscous feedback loop enhancing the negative aspects of the other effects.

A latent problem with outsourcing is the division of total project delivery scope.  Few new application development project scope out the actual delivery of the product and all it’s ancillary systems and work streams.  Scope division is the process of understanding the responsibility and ownership of work to be done in-house and by vendors.  Not all of the work may be outsourced.  Retaining the knowledge of systems and integrations is key to continuity of the business. Counter these risk via well designed architecture components that are independent of each other.  Foster accountability and ownership of components by a single entity.  Deploy frequently and test all interfaces.

Outsourcing may provide many economic benefits, yet it still follows basic economic rules.  It saves on wages and real estate costs, but cannot always significantly reduce the amount of time that a project takes.

Successful Project Process Management for Outsourcing

The business process of outsourcing is very important and must complement the software development methodology.  This management process includes: defining the vendor team structure and interfaces, the development methodology to be executed across the client/vendor system for the project, software development management tools (source control, build systems, test systems, project progress reporting, collaboration & communication tools), proper quality assurance expectations both at the vendor and the client, as well as customer QA.

Team Structure - beyond the typical player on a software development team, outsourcing project typical require the overhead of two key roles.  An in-house product manager responsible for daily interactions with the development team insuring timely resolution of problems that arise in the development requirements.  A vendor-located technical leader, responsible for the vendor team and highly collaborative with the product manager.

Tools and metrics for monitoring the project should be selected to match the type of project (new development or maintenance), the development methodology (waterfall / agile / lean), and the companies cultures.   When selecting a vendor a fluent demonstration of their management tools is a great indicator.

Vendors with a mature outsourcing program will have a well known and easily demonstrated quality assurance process.  If the QA work is to be done in-house rather than by the vendor this scope division should be well understood and the cost/benefits weight and measured throughout the life of the project.  Establish typical engineering standards such as: coding style guides, documentation standards, controlling procedures, bug tracking and reporting, defect prioritization and triage responsibilities, testing phases in the release plan as durations, release criteria with regard to defect count, severity, types of testing to be performed (usability, regression, performance, load, etc.).  One perspective of outsourcing vendors is to gauge their maturity in QA; vendors with a long history and successful future will have developed mature QA capabilities.

A core capability of outsourcing vendors is their communication techniques.  When the team is physically separated (as in most outsourcing situations) communication becomes a multifaceted issue with compounding issues such as:  language and culture, approval chain of command, time zone, domain knowledge, travel, and industry experience.


Successful Project Stakeholder Collaboration for Outsourcing

Make specific plans to involve the customer, end users, and key stakeholders in the development project.  Active participation in the process leads to greater product satisfaction.  Clearly define their role and responsibility, setting expectation and constraints on their involvement.  The proper balance will change with project type and methodology. 

Prior to outsourcing software development the organization must be prepared.  This decision has long term effects and will effect the attitudes and motivation of many existing employees.  While pursing an in-house development organization hiring decision are biased toward development skills; in an outsourcing organization the managerial skills will ultimately lead to success.

Hiring Mean Development Skills  - - >  Hiring Organizational Superpowers
Subject Matter Experts - - > Communicators
Domain Knowledge - - > Integration / Operations
Implementors - - > Planners




Successful Program Management for Outsourcing

Beyond the typical software development project related management issues, the outsourcing program has higher level concerns to deal with.  These are typically handled via contracting and source selection processes, and then via executive level negotiation of problems and breeches.

Typical Outsourcing Issues (non-software development related): (6)
  • Liability Insurance 
  • Software Licenses for third party access to systems
  • Ownership of information (sample data and testing data)
  • Inter-organizatioal system performance and access requirements
  • Service Level Agreements
  • Reporting and review of SLA
  • System access and security
  • Intellectual property indemnity
  • Distaster recovery


Many organizations spend countless time and energy selecting and reselecting an outsourcing vendor.  This trial and error process may result in a well integrated vendor that is an indispensable partner.



References:

1) A Practical Guide to Outsourcing Your Software Development PDF by Selleo (a Poland based outsourcing firm)

2) Tips for Outsourcing Software Development: Ensure Outsourcing Success HTML by Auriga (a Russian outsourcing firm)

3) Fabriek M, et al; “Reasons for Success and Failure in Offshore Software Development Projects.” [in] The 16th European Conference on Information Systems; Galway; Ireland; 2008


5) The End of Indias Offshore Dominance by Mark Hebert
http://news.cnet.com/The-end-of-Indias-offshore-dominance/2010-1022_3-5668292.html


7) Outsourcing decision support: a survey of benefits, risks, and decision factors, by Tibor Kremic; Supply Chain Management: An International Journal

8) The Evaluation of the Outsourcing of Information Systems:  A Survey of Large Enterprises by Chin-Chia Hsu, International Journal of Management Vol 23, No. 4 Dec 2006


See Also:


Post a Comment

Most Popular on Agile Complexification Inverter

Team Performance Model - by Drexler and Sibbet

Many of you have all heard of the Tuckman model of team dynamics (Forming, Storming, Norming, Performing).  It was created in 1966 and has become the most popular model for describing team behavior.  Is it time to level up in your mental model of team dynamics?  Are you ready for a richer more functional model?



Introducing the Team Performance Model by Drexler and Sibbet



Orientation - Why am I here?
"Orientation is about understanding the purpose of a team and assessing what it will mean to be a member.  you need to understand the reason the team exist, what will be expected of you and how you will benefit from membership.  In a new team, these are individual concerns, because the group is only potentially a team.  that is why these concerns are illustrated as occurring in your imagination at an intuitive level.  As a team leader it is important to provide time and space for people to answer these internal questions themselves."

Keys to when Orientation challenges are resolve…

Software Development terms applied to Home Construction

Let's Invert the typically wrong headed view of Software Development project management as a construction project.  We can map it the other way just to see if it works... to have some fun, to explore the meaning of phrases we toss around quite frequently.


Normally Project Management terms come from a construction domain.  We are going to apply the lexicon of modern software to the construction of a home.  We will follow the construction project and meet some of the people doing the work.

This is a very small (8 homes from $600,000 skyward) program in my 30-40 year old neighborhood.

About 6 months ago I saw the programs landing page go up.  It gives casual observers and some of the stakeholders a general idea of the intent of the program.  And most importantly who to contact for additional information if you happen to be interested in their products.

The Refuge program has 8 product projects and has them running independently.  Yet much of their DevOps infrastructure has already b…

Where is Shakespeare When We Need Him?

We are desperately searching for a term for people that connotes the best of human kind.  The creative, sensing, combinatorial synergistic, empathic solutioning persons that have yet to been labeled with a role name that works.

Some of the old terms:
Staff, Workforce, Human Resource, My Team, Army, Company

Shakespeare created 1700 words in his time.  He mutated verbs to nouns, and vice-a-versa, transformed verbs into adjectives, and formed words from whole cloth never before heard.  This skill is rare, but there is a poet that can create the term we need in the twenty-first century.

What should this term define?

21st Century Human Resource; the generalizing specialist.

Yes, but what more?  What less?

Suggest your poetry in the comments, let us see if we cannot do 1/1700 as well as The Bard.

By-the-way; who create the phrase "coin a word"?



A TED Play List - How do you create new words
6:52
Erin McKeanGo ahead, make up new words! In this fun, short talk from TEDYouth, lexicographer Er…

a little feedback please...

some feedback please...
How do you like the new look and feel of our site?
  ___)  nah (I like the old one better - bring it back)
  _X_)  yeah (much cleaner and easy to navigate)



powered by Typeform
See Also:

One Dark and Stormy during a Hurricane

I'm from the Carolina's where legend has it that our family commonly just hunkered down in the home on the coast and waterways than to head for inland shelter. Now that's from the old school days of barely improved (read paved) roads. They counted a storms severity by how high on the back porch steps (about 15 - top to ground) the water reached.  I don't recommend this action in todays world of long range forecast and transportation options.

I do recommend a drink or two in a hotel bar, far far away.

This is the week that Harvey came ashore in Texas.  I live on a hill in the little old town of Grapevine outside Dallas and Fort Worth.  And thank you all for letting me know that a storm is coming... I didn't get out and walk Malibu before the rain hit, so I grabbed a hat and we went anyway.  Much nicer walk with the drizzle, I'd say.

I'll raise a glass to you - if you were not smart enough to do the responsible thing, at the last responsible moment.

I do re…