Has the time come for your company to explore software development outsourcing? The potential for cost savings is always attractive, but there are many other good reasons software development outsourcing has been pursued by other companies, including:
- A large backlog of existing projects, exceeding your staff’s capacity to address
- Local talent pool challenges – finding and retaining programming talent.
- A need for new (or even niche) technical skills that are not part of your team’s core skillset.
- A need to temporarily scale up in programming capacity, then throttle back down at some point.
Regardless of company size, outsourcing has delivered on promises for cost savings, flexibility, and scale.
“How do I get started?” you may ask. Let’s explore a couple of options that could allow you to “test the waters” with a chosen outsourcing partner.
Scenario 1: Small and safe software
One possibility is to select a project that is small in scope with a clear set of project objectives and deliverables. The main idea is to hire your outsourcing partner to tackle a software project with clear boundaries. Start with a project small enough in effort that the success of the outsourcing relationship can be quickly measured. Typically, the software will not be mission critical or high profile.
If all goes well, then your new outsourcing partner has presumably earned the right for larger (and more lucrative) assignments.
What kind of company will pilot a small project?
Companies who favor this “Small and Safe” approach will usually have one or more of these characteristics.
- Highly conservative, low risk-tolerance culture
- Internal processes that are immature, or unproven in large enterprise work
- Key stakeholders (IT project leaders, User SME’s, etc.) that are relatively novice: either in their role, or in leading formal IT projects.
- Historical resistance to outsourcing – whether in IT or in the business community.
- There is some lack of confidence or comfort with the chosen outsourcing partner.
Pros and cons of piloting a small project
Pros: Work complexity is low, so demands on your internal people and processes are low, therefore the risk of failure is low. Some companies feel it would be easier to part ways with a “bad fit” outsourcing company in this scenario.
Cons: The project may be too small or strategically insignificant to matter. Because the project is small, some companies will be tempted to allow themselves to be sloppy in process or people-contributions to the project.
Scenario 2: Significant engagement
Another option is to take a more ambitious approach. Some companies opt to spend money, time, and effort (including energy to establish an outsourcing relationship) on a software project that has high business importance. Companies will want to pair this option with a commitment to an Agile development method for the pilot project. While this option is more aggressive, it aims to solve the ultimate challenge of getting impactful work done.
Sprint Zero and Sprint One
While using Agile, you’ll get a good sense of your software outsourcing partner during Sprint Zero and Sprint One (first 30 days). Some companies find that their new 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 in order 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.
What kind of company will pilot a significant project?
Companies who favor this “Significant Project” approach will usually have one or more of these characteristics.
- Have a good ability to assess risk/reward payoff when evaluating options.
- Have imminent software development needs that, 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.
- Able to collaborate inside teams and cross-functionally.
Pros and cons of piloting a significant project
Pros: Typically, the key reason for choosing this option is that you will deliver on a system that really matters to your organization (i.e., high impact). Even if the outsourcing relationship sours, your company will have made progress in design considerations and reusable code. Your work efforts will never be “all a throw-away.” Also, because you’ve chosen a software project of importance, the organizational commitment to success will be higher. Your stakeholders may demonstrate a higher level of personal investment.
Cons: Because you have chosen a high priority project, the organizational visibility will be high. There may be some elevated angst as your company and the outsourcing partner work out the kinks of your daily rhythms of work.
Choose a great software partner
Regardless of the project you chose as your pilot for outsourced software development, make sure you invest the time to select the best-fit candidate. It’s crucial that you have an outsourcing partner that fits your software needs.
Proper skills and experience. It may seem obvious, but don’t short-sell the importance of performing a full due diligence of the prospective partner’s skill sets. Look for technical certifications. Look for certifications and/or expertise in related experience in your business vertical (manufacturing, healthcare, financial services, etc.). Look for experience in software projects that are similar to yours. Examples might be:
- Customer-facing with high transactions through a website,
- A mobile solution with “store and forward” capabilities because of inconsistent wireless service or internet access,
- A web solution for shop-floor workers which is highly visual and intuitive, with minimal “clicks” required.
Size-appropriate. 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.” My rule of thumb – which I call the Steve Mezak 5% Rule is: make sure your engagement represents no less than 5 percent and no more than 20 percent of your outsourcing company’s revenue base.
Time zone. Collaboration with your outsourcing partner will be key – especially if you are using Agile development methods, with small rapid Sprints of completed work. Make sure your company and the outsourcing team will be able to collaborate easily and rapidly without asking either group to reach into non-standard hours just to converse. Your options are no longer limited to a U.S.-based outsourcing company or Asia-based team on a 12-hour time zone difference.
Culture. Any hiring manager knows that cultural fit is the most important criteria for a successful hire – far beyond experience or technical skill fit. Make sure that your candidate outsourcing partner fits your company’s important distinctiveness: highly formal or informal, aggressive or conservative. You must make sure that a team hundreds (or perhaps thousands) of miles away can operate in a natural rhythm of communication and productive work with your company.
Get started with your first engagement
Many companies, large and small, have benefitted greatly from successful software development outsourcing relationships. It’s a proven model. The partnership options have never been more diverse. Pick your pilot software project, pick your software outsourcing partner, and get started!