Let’s look at 3 scenarios to explore the question. 

  1. Using software that is single version
  2. Using software that is developed in house 
  3. Using Software as a Service. 

These are not the only models or cases out there but will allow us to explore some of the main factors involved. 

  1. Using software that is single version:  Maybe it is a package that you have used for a number of years. You know it is reliable but it is due to be discontinued and will become unsupported. This is always an uneasy situation. It is quite understandable to want to continue to work as before with proven methods. But this is a ticking time bomb! When will you next upgrade your computer operating system? Will the software work with that? Could the next upgrade of your anti virus or firewall clash with the software? And how do you handle the new project that requires a new method to be used?
  2. Software that is developed in house: Each of the items above should not be an issue. The more common risk here is the risk of one or two key people leaving the company. How well documented is the software? Could you go from a supported flexible situation to totally unsupported overnight? Does your team have enough bandwidth to keep up with all requests? You can mitigate the risks with a larger team, more documentation, more testing, this is where an initial “low cost” in house solution starts to spiral in cost to the business.
  3. Software as a Service: It would seem that all risks discussed so far need not apply. But are there others? Probably the biggest risk is whether a vendor will deliver on their promises, this can be mitigated by checking references and finding out more about the past performance. Also find out about the responsiveness to requests. We all know that something will go wrong at some point. How does the vendor actually respond? If you have further concerns such as what happens if a vendor was to go out of business this can also be mitigated by placing source code into Escrow. 

In summary, to receive all of the support that you need in order to reduce risk with your software, Software as a Service is a great model. Questions will be answered, bugs or issues will be patched, updates will be provided to ensure compatibility with new system software and expertise should be on hand to help with new requirements.