January 10, 2018
How to Plan Your Software Development Outsourcing Engagement
Written by: Andy Hilliard
Is your company feeling poorly equipped to build the next generation of software applications that will help energize your business? Are you concerned about your ability to locate and hire the quality of technical talent you need for application software development? Are you worried about the finite capacity of your current IT staff to develop the software solutions you need? If so - you aren’t alone. With an unemployment rate for IT occupations hovering around 2 percent, and demand for tech talent growing across every industry sector in the U.S. economy, companies are reporting that the inability to find workers is a serious threat to their plans for business growth.
As we talk to business leaders and IT leaders inside of companies, the idea of software development outsourcing is being embraced as a economically sound and effective means of addressing a backlog of software development projects.
Regardless of your circumstances:
- Your company’s first outsourced software development project
- A “redo” from a previous bad experience with outsourcing
- You want to compare your current checklist to ours.
We want you to benefit from our 10+ years of experience helping companies with outsourcing software development, so read on!
Consideration #1
Outsource the Right Software Project
Are there important business goals, new initiatives, or perhaps even new product launches that need new software developed? Software development outsourcing is an opportunity to get important work accomplished quickly and at an attractive price-point. To enable your business opportunity with a successful software deployment, you need to begin well – and that means selecting the right margin: 0px; padding: 0px;project. If this is your first outsourced software development project – or a renewed attempt after a failed attempt, you want to be especially selective about which project to choose. Regardless, if you look over your list of candidate software projects, ask yourself:
This question… |
is important because… |
Which projects, if successful, will show the clearest benefit (i.e.: ROI) to the company? | Projects with clear business benefit will generally get better buy-in from the user community, and higher quality participation. |
Which projects have the clearest goals and scope of work? | It’s always easier to strive towards a goal and know you achieve the goal, when the goal is clear. |
Do any projects require the use of new, unproven technology? | Unfamiliar technology can be a dangerous variable in your estimating level of effort accurately. |
How many other systems will the newly completed solution need to integrate with? | Integration testing can be very time-consuming and requires a higher level of coordination. |
Which projects are expected to have the longest duration? | Unforeseen variables naturally occur in long running projects -- key personnel changes, other business distractions, loss of momentum, etc. |
Which projects are expected to require the largest number of participants? | More people involved equals more complexity. |
Do a Self Examination
Do a self-examination your company situation. Any of these attributes can bring unwanted risk into your project, and are particularly damaging for companies who are pursuing software development outsourcing for the first time.
- A culture which is highly conservative, low tolerance to risk.
- Internal processes that are immature, or unproven in large enterprise work.
- Key stakeholders (IT project leaders, User SME’s, etc.) who are relative novices: either in their current role, or in leading formal IT projects.
- Historical resistance to outsourcing - whether in IT or in the business community.
- Lack of confidence or “track record” with the chosen partner for software development.
Selecting a Significant Project
Some companies may opt for a significant project for software development outsourcing. By “significant” we mean that the business benefit is high, but the size (i.e. scope of work) or complexity is also high. You may be willing to endure the greater risk, because you can deliver on a system that really matters to your organization (i.e. high impact). Often, we find that your business stakeholders may demonstrate a higher level of personal investment because they understand the significance of the project – and want to be associated with its success!
Companies who favor a “Significant Project” approach will usually have one or more of these characteristics:
- Have a good ability to assess risk/reward payoff when evaluating options.
- Confidence that the new application, when delivered, can contribute to the company’s performance.
- Key stakeholders (IT project leaders, User SME’s, etc.) that are relatively mature in their role - or are new to the role, but seen as good “systems thinkers”.
- Strong sense of urgency in the business culture.
- Employees are able to collaborate inside teams and cross-functionally.
Consideration #2
Pick the Right Software Outsourcing Partner
Skills Matter
Of course, skills are an important consideration. In a 2016 Gartner Survey of CIOs - these executives named “access to technical skills” as the largest barrier to their department’s success. A major reason for software development outsourcing is you access teams of high-caliber software developers with technical skills (ie. programming languages and tools) that you don’t have. Don’t shortcut performing a proper due diligence of the your prospective outsourcing partner’s skill sets. Make sure they have a strong pool of talent versed in the programming languages and tools you’ll be using.
Look for technical certifications, which is an indicator of the vendor’s commitment to quality. Look for project experience in your business vertical and for experience in software projects that are like yours: these indicate that the software development company has intellectual capital they can draw upon, and infuse best practices into the application they will be developing for you.
Company Size Matters
We believe the best outsourcing relationship matches are those where the company size of your partner complements your needs. The obvious bad-fit is a company that’s too small, with insufficient bench strength to cover your needs. The not-so-obvious mismatch is a partner so large that your project and company’s needs really aren’t “big enough to matter”. Our rule of thumb, which we call the Steve Mezak 5% Rule is: make sure your engagement represents no less than 5% and no more than 20% of your outsourcing company’s revenue base.
Consideration #3
Pick Your Methodology
We’re big fans of Agile. For software development outsourcing projects, Agile has been proven to produce high-quality software, more rapidly, than a traditional waterfall method.
If you’re new to software development outsourcing and/or have a new software development partner, Agile has additional benefits for you. While using Agile, you’ll get a good sense of your software outsourcing partner during Sprint Zero and Sprint One (first 30 days). Some outsourcing partners will waive the invoice for Sprint Zero if the customer feels that irreparable issues arise and the relationship is severed. The outsourcing company offers this option to waive fees to entice companies who wish to try outsourced programming for the first time, but are hesitant. If a problem arises and the fees are waived, there is some investment cost of time, but not money “wasted’ by business to get started.
Consideration #4
Use Project Metrics
Numbers don’t lie. You and your outsourcing partner need to establish a clear set of project metrics for tracking and reporting the work progress during the life of the project. Like a medical exam, good metrics won’t 100% guarantee the absence of problems, but they will absolutely help point out problems that need to be addressed.
Assuming you’re using an Agile development methodology, you are able to utilize new techniques for estimating complexity and level of effort. Capturing metrics not only provides you comparative analysis between Epics, Stories, etc. - but also allows, over time, for teams to refine their ability to estimate. In the Agile Framework, include metrics that reflect the iterative nature of this development methodology: Lead Time, Sprint Time, Sprint Volume, Issues and Issue Open/Close Rates.
Andy Hilliard
As CEO, Andy leads and advocates for the globalization and collaboration of great software teams with companies in search of talent, innovation and a globally-distributed extension of their engineering function and culture. Andy founded the ground-breaking nearshore software development services company, Isthmus Costa...
Recently Published Articles
View All Posts
Blog
May 14, 2018 | Andy Hilliard
Pt 4: What Technology Risks Can Cause Software Outsourcing to Fail?
Blog
March 10, 2016 | Andy Hilliard
5 Ways to Keep Software Outsourcing Engagements On Track
Blog
April 23, 2018 | Andy Hilliard
Pt 1: 15 Risk Areas for Software Development Outsourcing
Subscribe to email updates
Stay up-to-date on what's happening at this blog and get additional content about the benefits of subscribing.