Is a software development competency a prerequisite to digital transformation?
In “How to Navigate a Digital Transformation” I laid out a path to find ways to improve your company with innovative software solutions. Now what?
There are three possible paths you could take to enable your digital transformation initiative:
-
- Make it with direct employees
-
- Buy it or subscribe commercially
- Make/outsource it with a custom software firm
Each option has pros and cons.
In full disclosure, I have overseen internal software projects and acquired commercially available software. I have also been in customer facing roles selling and implementing commercial software as well as custom software development and support services. From this experience, I can emphatically state that the best way to acquire software is, “It depends.”
Make vs. Buy
Certainly do not rule out a commercial software solution. However, if your intended goal is to transform your business and potentially disrupt an industry, what would prevent your nearest competitor from quickly adopting the same solution?
Let’s look at Make or Buy comparisons.
Advantages of Make | Advantages of Buy |
No license or subscription cost. | No need to hire and retain developers. |
No cost for customization and implementation as software is built to spec. | Software provider’s responsible for enhancements, bugs fixes, and support. |
No major upgrade projects. | No need to maintain developers after deploying the solution |
Full control over enhancements, bug fixes, support, and obsolescence avoidance |
Advantages of Make | Advantages of Buy |
Aside from cost and your development timeline, there are few limitations on features and functions. | Features and functions are limited to the software provider’s commercial solution and your ability and willingness to customize to close gaps. |
A custom solution is much harder for a competitor to duplicate. | Software may be ready to deploy faster. |
No barrier to a competitor adopting the same solution. |
Advantages of Make | Advantages of Buy |
With a retained development team, you have complete control over the timing of new features and functionality. | New features and functionality are the software provider’s responsibility. |
Advantages of Make | Advantages of Buy |
With a retained development team, you have full control over the timeliness of bug fixes. | A software agreement states response times to fix bugs and falls under the responsibility of the software provider. |
With a retained QA and operations team, you have full control over software quality and performance. | Software quality and performance is the responsibility of the software provider. |
Risks of Make | Risks of Buy |
Your ability to attract top development talent and retain them. UX/UI | application | database | cloud (servers, network, security, datacenter) | integration specialists.
Do you have a history of attracting software talent and providing them with career opportunities? Software developers are not all equal and proficiency cannot easily be trained. Good talent attracts talent. |
Critical features are delayed or deprioritized.
Does the software meet your minimum requirements? What is the impact on your business if the provider does not delivery on future functionality? |
Your ability to manage a development timeline and deliver on time. Do you have experience managing software development and a history of on time delivery? | Software becomes obsolete over time with an unjustifiable cost to upgrade because of customization. What is the disruption and cost associated with each upgrade? How will customization and regression testing be handled? |
Your ability to prioritize and keep costs within budget. Do you have a history of managing stakeholder expectations successfully? | Software determined to have too many previously unseen gaps requiring high cost customization. How certain are you that the software meets your requirements? |
A competitor adopts the same solution. |
When Neither Make nor Buy are Good
If the risks associated with both make and buy seem too severe for you to mitigate, the third alternative is to collaborate with a custom software firm.
Perhaps you are concerned about your ability to attract and retain quality software developers. At the same time, the commercial solution available does not meet your requirements or render the improvements needed to beat out your competition. You may look to outsource to a 3rd party to gain the advantages of a combined make / buy solution with total cost of ownership being a variable to understand upfront and contractually control.
How to Avoid Software Outsourcing Mistakes
Be certain that your service provider is full stack competent, meaning they can provide:
-
- User experience consultation and design
-
- A user interface
-
- Application development
-
- Database development
-
- Integration services
- Initiate and manage cloud infrastructure
You should also ensure your service provider will support your solution post-deployment, providing:
-
- Support
-
- Bug fixes
-
- Enhancement services
-
- DevOps to ensure quality and minimize downtime
- A contingency plan for employee turnover
Pay an onsite visit to your service provider. You will be in a long-term partnership with them. Make sure they have direct employees and documented procedures and processes for development and support.
Run a small pilot project to test their capabilities but more important, establish a working rhythm.
Don’t assume you have requirements perfect upfront. An Agile approach involving frequent validation of capability can provide the best probability for a right-the-first-time project.
If your service provider is offshore, establish a communication protocol, points of contact, and understand your role in managing and interacting with offshore resources. Test this during the pilot and make adjustments. Some providers offer a hybrid approach to keep client interaction face-to-face (or at least in country), then all offshore communication occurs behind the scene.
Make or Buy Summary
Your decision to make or buy is highly dependent on how innovative your transformation is and whether it will impact your industry, your ability to differentiate, or your operations. By understanding the intent of your digital transformation, you may be able to narrow the decision process down to three points:
-
- If your software capability will disrupt an industry or improve operations in a way that you feel it provides a competitive advantage, forget about commercial solutions.
-
- If you are improving operations by standardizing on a common process, rule out commercial options before creating your own software.
- If commercial options will still require that you customize, take extreme caution. Be prepared to support the end solution in the same way you would support a custom application, with a full development and operations capability. In this case, do not rule out a full custom solution.
If you choose to pursue the path of a custom-made solution, assess your current software development competency. If you intend to build this competency, be sure you will have enough work to attract and retain a talented workforce. If not, establish a relationship with a competent partner.
What else guides your decision process? How do you evaluate a partner? Does one bad experience with a commercial software solution or a development partner prevent you from trying again? I welcome the feedback.