Off-the-shelf (OTS) applications are the default solution for business automation even when they are clearly not as efficient or focused as a custom application might be. How many small-to-medium businesses (SMB) start with components of the Microsoft Office suite to manage parts of their operational needs? How many graduate to SaaS (Software as a Service) applications like Salesforce and Zoho Office? How many continue to use these solutions long after they no longer “fit” their needs? What are the risks involved? What opportunities are you missing by not considering a move to a custom solution?
It Starts With a Simple Need…
We’ve all done it. We need to bring together costs or items for a sale – so we grab Excel. We need to share the work “punch list” with others, so we modify the spreadsheet we used for the sale and give more detail to our team so they can start work. Later, we ask for an update on progress and the spreadsheet comes back with a few more columns giving hours, status and issues related to each item in the punch list. Eventually, that chain of casual spreadsheets get formalized into a process that is bound together with a bunch of customer, job, and sheet version numbers. For a time it works. We add and modify spreadsheet templates until the versions break into many types for different situations. When we wake up and realize we’re wasting a lot of time managing our customer services with a series of spreadsheets that have to be manually integrated to get consolidated reports – we are faced with the problem of how we can switch from the process we have used and adapted over an extended period of time to a standard, market-proven application.
We Graduate to “Market-Driven” Solutions
But getting past that first hurdle, from a mix of manual processes and applications with ad hoc adaptations to using industry standard applications, isn’t the end of the our problems. OTS applications that attempt to address broad markets have many compromises to navigate. Although a process step may be critical for a certain group of users, it may be hard to address it in a way that doesn’t confuse or burden the majority. More choices and more features may be good for some, but are simply feature bloat for others. The feature that was advocated for by a small, vocal group can end up being forgotten, rarely updated or maintained. On the buyer side, selecting the right application is a balancing act between addressing enough, but seldom all, of our needs or trying to adapt to big, we-do-everything solutions that give us an overwhelming number of choices and decisions at every turn.
In other cases, to address an important issue, we might choose to add an other application to our process with a more direct approach to our specific need, but when we do, we’re often faced with data integration issues. If the data in a group of applications we use is not directly integrated, we have to find ways to consolidate and rationalize the information into reports to make sense of where we stand. And where we find we cannot add another application to address our needs, we find ourselves using a combination of workarounds (more spreadsheets, handwritten notes, and emails) to fill the gaps in the “standard” applications we depend on. If we’re not careful, we can end up right back where we started but with more confusion, process overhead and costs.
It doesn’t always end up this way. A standard, off-the-shelf solution can fit well for most accounting and HR needs. Companies that handle inventory and shipping can find several alternatives for inventory management specific to their industries. Many times the processes embodied in standard systems can bring benefits from a wide range of industry experience and response to regulation. There can be great benefits to stepping away from a bunch of homegrown, ad-hoc solutions to a system that is widely proven and accepted – and one could simply be that it comes with a group of proven, skilled users that can be tapped for recruitment when needed.
So – How Do We Know? When is it time to consider a custom application?
All software is an investment at some level. Selecting a widely-used SaaS solution is an investment in a specific set of features and solutions to business needs. It may be recognized as an expense for accounting purposes, but your business still has to invest in adapting its processes and procedures to match the assumptions it embodies. Once you have implemented the application, trained users and made internal processes “fit” the new system, an ongoing process of refining processes and maintaining standards begins. If the application addresses a lot of situations beyond your needs, you may be paying more than you can justify for the value you receive. As your market application evolves over time, it may or may not continue to meet your needs. Your business changes and so does the market your OTS application address.
So what are some of the key points in the decision between OTS and developing custom applications?
- Available market solutions may be cheaper, at least initially. This is an often-cited reason for using OTS solutions, but it should be carefully examined. What will the lifetime costs be considering licensing and the number of seats you need? With the continuing adoption of SaaS applications, there are often breaking points in the number of seats where the costs can rise significantly. Will you actually be able to change (when you want to) after a number of years, if your seat count reaches enterprise pricing? Having a handle on lifetime costs, versus month-to-month expenses can be an eye-opening exercise.
- You can buy and use SaaS and OTS applications the same day. Let’s be clear about this one too – this is a lot less likely than it once was. Market-driven applications can conquer markets two ways: Add features that will allow it reach more markets (feature creep) or become more focused and reach deeper into niche situations (which will generally require raising license costs). Either path will require more from users – more training and/or more adaption of internal processes and procedures to fit the mold the software is designed to address. This means longer implementation projects and more effort to maintain the match between the software and your needs. So if your driver is quick implementation and low training overhead, you should recognize it may be a lost cause from the outset. The time from technical implementation to full, efficient production is generally longer than you might imagine. This is not the reason to peg your decision on.
- An existing solution may meet the majority of your needs right now. This is certainly true and in many business areas, this is enough. Do you really want to try to manage accounting or personnel issues over several jurisdictions and changes in the regulatory landscape? For most companies, this is not a pursuit that is worth the effort. But in other areas, the solution that fits today might not scale or continue to evolve in the same direction as your needs over time. Most companies do not have enough influence or seats under license to help set product directions for the SaaS and OTS applications they use. Your size and business maturity are important issues to consider. You may not understand fully understand your needs – yet. If that is a consideration, then how much you invest now is a serious concern.
- Data portability and integration may not be an issue now but what about the future? If your needs are limited, if you don’t have more than one or two core applications, this may not be an issue. But as you scale and find the need to bring in other applications or move to another solution, what will happen to your data? Moving and managing data between applications may be possible using application program interfaces (APIs) and webservices (beware of the cost though, it may require custom programming to hook proprietary apps together and often it can only be done well by vendor professional services with high rates) but what about when you outgrow a packaged solution and need to move to something else? Even if you can extract your data without additional costs, what will it cost to transform it to the structure of another application or suite of applications? There can be many (unpleasant) surprises in data migration between proprietary applications. Data “lock-in” can be a nasty animal to contend with.
- Reporting may be good enough initially, but can it continue to grow with you? Most commercial apps have reasonable reporting packages for direct reporting on their internal transactions, but as your business grows and continues to automate additional processes with different applications – will reporting keep up? In most cases, the integration and rationalization of data between different applications will require custom applications or manual processes to extract useful reports and analyze combined data in a timely fashion. The larger and more complex a business becomes, the more of a burden this can be.
- Custom software may be more expensive initially and you shouldn’t consider the initial development project an end to costs.
Agile and lean software development methodologies have done a lot to reduce the cost and effort required to begin bringing value from a new custom application to users, but just like their OTS and SaaS cousins, they shouldn’t be considered a one-time investment. Custom applications have a leg up to the extent that they can address your needs directly, but if you don’t allow for maintenance, updates and evolutionary changes over time, they too will eventually become restrictive and not cost-effective to retain. All automation projects have a cost and as we continue to point out, need to evolve with your business and not hold it back. Costs shouldn’t be restrictive if your initial implementation meets your needs well and you continue to improve your systems over time, but if you let your maintenance and feature enhancements lag, costs can get beyond your resources if you are not ready for them. Return on investment (ROI) over the lifecycle of an application is always a consideration, whether you are licensing from vendors or managing your own custom solutions.
- Integration and extensibility are under your control in custom applications. These two advantages are seldom discussed but they can be a significant factor in the time and cost required for your own solutions. The key is deciding what is core and necessary to your solution and what could be better handled by others. Perhaps you need to accept payment for services in your application. Is there a significant, driving need to develop this capability directly, or can you integrate with one of the many billing and payment solutions already on the market? With current technology, there is no need to take your clients out of your application for settlement – it can all be handled transparently by integration and 3rd party services. The same is true of many functions we take for granted in applications today. Mapping, shipping and delivery, supply chain inventory management, and many other solutions can provide opportunities for custom applications that greatly reduce the costs and effort required. In fact, properly considered, some applications need little more than a bit of proprietary “glue” and a consistent style to provide the necessary functionality and value.
- A custom app can embody your business value and give you a competitive advantage. This is a function of careful planning and thought before you rush into a full scale development project – it isn’t guaranteed. With a clear understanding of the key value your services provide to your customers, it is possible to address and communicate that value in your application. An agile and lean approach is best – building functionality incrementally and gaining a better understanding by leveraging direct feedback direct from customers. Very few businesses can “nail and scale” their business value without engaging the customers that pay the bills for services. But, when done successfully, it can make a custom application a “no brainer” in terms of ROI and competitive advantage.
- A custom application can be a more “natural” fit.
Usually the design of a custom application takes into account your current processes and assumptions, requiring less rethinking and process realignment than an outside app would. But it should be understood that this is also an opportunity to streamline and do things the “right way” instead of simply automating an existing system of tunnels and dead ends. And, assuming some opportunities will not be understood until the application is put in front of users, a way to break new ground and open horizons. Properly-crafted custom applications can (and should) be extendable and flexible over time. You find out that customers are really pleased by being able to see where their order stands without requesting reports – you give them ways to check progress transparently. Customers want more flexibility in order quantity or delivery timing? Ok – it is your software, that need can be addressed. And it is an opportunity to leave some minor, “nice-to-have” features on the table to allow users to try a streamlined, direct approach and learn what is really beneficial to them.
So, custom software is an important opportunity – but it isn’t necessary for every situation. It can be an important business advantage, but only if you address your core business value and avoid spending money and effort on features that can be better addressed by third parties or outside services. Some will say you have to have a considerable amount of in-house technical expertise to make a success of a project, but if you have a clear understanding of where you need to go at a business level and a technical development partner who can work with you, that certainly is not a rule. If you decide to move forward, go at it a piece at time, incrementally, and use agile and lean business methodologies to guide your direction. And it is true, custom software is a significant expense in cost, effort and commitment – but done right – the ROI can be quite high.
We’d like to help
This is where we say, “Yes – we would like to offer our help.” Scio provides end-to-end engineering services in a collaborative partnership to ensure that your team is an integral part of the solutions you require. We can offer a wide range of skills to make up a team that you can depend on – and work with directly. And when you need something more – we’re flexible. From helping to assess your needs to developing, implementing and maintaining solutions, we can offer as much or as little help as you need. Our teams can work with you virtually or on your site – but most companies need some type of combination of the two and we’re more than happy to find that blend too. If you think that sounds interesting – Contact Us. We’re ready.
And, we’re providing a series of articles to our readers under the title: “Refuse to Fail” They are quite insightful about this and other subjects related to digital transformation and the strategies behind it. If you think you might be interested – sign up. It costs nothing and you can opt out at any time.