It’s no secret, today, almost all companies are looking to differentiate themselves through technology. If there is any doubt, talk to someone in the software outsourcing industry and ask them, how’s business. The demand is off the charts and the availability of resources is scarce.
Some companies are trying to digitally transform internal operations to achieve greater productivity. Others are technology companies searching for the next product and market niche. And other businesses are service-based companies hoping to include technology as part of their product offering as an enabler to increase the value of their service. While software is the common thread, what many people do not realize is, the expertise and experience needed to create the software is much different.
When you look at how these three groups of companies are trying to accomplish their goal to improve their business through the creation of innovative software, you’ll see one of them faces the biggest challenge.
Digital Transformation-Focused Companies
Companies looking to enhance the productivity of their employees have a talented IT department capable of identifying, configuring and rolling out purchased software for their employees to use. These projects are not easy, often facing challenges in change management, but the amount of customer software development is minimal. So the skills and expertise is more ITish, focused on systems and not on product software development.
By necessity software companies are designed to create and implement product grade software, at least the successful ones. They have software product development groups, typically one for each product line, all with the critical skills needed to define, design, build and test product grade software. They also have an implementation and a support group capable of rolling out the software across multiple customers, each having a different use-case and process for how they want it to work.
The last, and most challenging class of companies, are the service-based business looking to differentiate themselves and enhance their value by including product grade software as a bundled part of their service offering. They too have an IT department critical to the operational success of their company, providing employees the IT systems that allow employees to maximize their productivity. And when the companies identify an opportunity to enhance their product service offering by including some custom software, they turn to their IT department to get it done. The challenge is, IT departments are not designed for software product development like software companies. But the software needs to be product grade and support a multitude of customers’ use-cases. Some IT departments will turn to outsourcing companies to acquire the technical software skills, thinking this will yield an innovative, product grade software solution that will meet the market needs. Unfortunately, it’s not that simple. Few outsourcing companies have experience creating product grade software, and even fewer have people who’ve worked in the industry they serve.
Avoiding the Risk Before it's Too Late
So how different is it to develop product grade software and an application used by a company's employees? And what’s the risk of using IT or an outsourcing company even though they may lack product development experience? Often IT folks convince those in the business they can develop what the customer wants. They may even put an application together so that the sales team can demo when pitching their services. And with any luck they may even complete the app and get it in the hands of the customer. And like pulling on the thread on a sweater, this is when it all starts to unravel.
Challenge #1 - Illusion at the Start
It’s time to roll it out and you find how the software works doesn’t match the way the customer intended to use it. No problem, IT will just make some code changes and all will be fine. Perfect now it works how this customer needs.
Then comes time for the next customer who also signed a multi-year contract for your services with the software bundled in. And it’s time to roll out the software for the customers' employees to use. Oh, what, they work differently than the previous customer. No problem, IT can fix it. So they create another/different version for this customer. Perfect, they seem happy.
Challenge #2: Unhappy CFO as Profit Margin Shrinks
This repeats itself for eight more customers and now you have ten derivative versions of the same core software functionality. IT only planned to host one Cloud instance to host the software, except now they have to pay for ten instances.
When a bug is discovered, they need to take the time to fix, test and deploy it across ten production environments.
Challenge #3 - Frustrated Customer with Slow Deployment
Now as more customers come along, the degree of variability in what they want the software to do increases. They may even ask for something completely different. Sales things, sure, we did the first one, IT can do this as well. The customer may even ask to have it integrated with their existing IT systems.
All of this gets bundled into a contract that includes the core services your company is known for providing, and the client signs it. Except, IT is so busy with “standard, semi-customized implementations, the lead time to do this project is much longer than standard implementations of the service. Even if the customer accepts the longer timeline, as time goes on and IT gets more overwhelmed, the start date to develop this custom software gets pushed, and the customer becomes upset and frustrated.
Challenge #4 - Meet the need at all costs - Outsourcing
The natural reaction is, increase IT capacity with more developers. Seems like a logical decision, except for one problem. Like most IT groups, outsourcing companies have little if any experience developing product grade software. Even worse, they most likely have no domain knowledge of your business or the industry your company serves. So while they may be able to write awesome software, they will lack the industry-specific expertise needed to meet the customers expectations and needs.
Challenge #5 - Customer Support Not Prepared for Technical Support Call
As the software deployments grow so do the support calls, which is typical. However, now these calls are not about your services, they’re about the software. How do I reset my password, what happened to my data I just entered, why doesn’t the app install on my new iPhone, and many more, all requiring a much greater level of technical and software product knowledge than your current support desk has.
Challenge #6 - Stagnant Functionality Lags Competition
Today everyone expects software products to functionally evolve with new versions coming out with new features and enhancements. This is not typically the case for homegrown applications IT groups develop for their companies’ employees to use. But for products, it's assumed and expected.
But when the IT team is underwater trying to keep up with new implementations and supporting issues with existing customers, plus you have ten derivatives of the same software product, new features are the last thing anyone is thinking about or has time to do. This further frustrates both the customers and its employees using the software they’re paying for to enhance your services.
Challenge #7 - Instability as User Volume Grows
As your customers' business grows, more of their employees relying on your service are expected to use your software. As this volume grows, more and more issues surface.
Maybe the software performance slows and the users start complaining to their managers, and it’s affecting their job performance.