What do you do when your software company let you down or a conflict arises that puts your business at risk? We talk you through some essential actions to take to limit the damage.
Over the last decade, I have consulted countless organisations who have come to Helastel in some distress about their software development project and its current state. They are turning to a more experienced software development company in the hope that things can be resolved without them losing face or losing money. The situations largely fall into the following groups:
- The software development was done by a software company, often off-shore, and they turn out not to have the skills to deliver the end-product.
- The software development was lead by an in-house team member who is now leaving and the system is business critical with nobody left to support it or understand it.
- There is a commercial disagreement, creating a high-risk dependence of the organisation on the provider of business-critical software.
All three of these scenarios are pretty distressing for the organisation, who are often concerned that they will lose all of their prior investment and potentially data; that they will have to start from scratch. It’s only really worth investing into software for the most important and critical areas of a business, so when something goes wrong it inevitably puts a great deal of stress on managers and business owners. They know they are in a high-risk situation and that the potential outcomes could be seriously damaging for their company.
The good news here is that 99% of time these situations can actually be resolved smoothly without any software downtime. They can be handled with tact so that difficult conversations are managed carefully and the company doesn’t lose face. In fact, I don’t believe we have had a single scenario where we haven’t been able to deal with the issue, including one situation where the software was 25 years old without any original source code! Don’t get me wrong, performing rescue software development project is a rather complex art, but when done right it has a very high success rate. So what steps do you need to take if you find yourself in a fix and your software needs rescuing? What should you to do set yourself up for a successful outcome without disruption to your business?
STEP 1: IDENTIFYING YOUR DIGITAL ASSETS
You may not know what all of these are or how to access them, but the new software company that you are working with will be able to help you here. What we mean by ‘digital assets’ are domains, DNS records, servers, operating systems etc. Your infrastructure. Every file and line of code that is in existence that allows your business – and the system in question – to operate.
STEP 2: ESTABLISH YOUR INTELLECTUAL PROPERTY
It is important to review legal contracts with your software vendor or software developer (e.g. an employment contract or project documents) and to be absolutely sure where you stand legally. You want to make sure that you either have an indefinite perpetual license – preferably royalty free – to all digital properties. If you do not you will need to get some sound advice (again your software company should be able to assist here) and have some well-constructed conversations with your existing vendor.
STEP 3: GET HOLD OF YOUR SOURCE CODE
The source code is written by a developer in the files that make your software run. It’s the heart of your systems and it will make the project rescue much easier if you have access to it. The first step here is to speak with the developer who originally wrote the software, or those who have managed it since. If you cannot contact them, where might the files be stored? Your new software company can help you with some ideas on where and how to track down this code.
STEP 4: CONTACT ALL 3RD PARTY SOFTWARE SUPPLIERS
This means a supplier who is not controlled directly either by you or your main software supplier. Quite often there is an off-the-shelf software component used alongside or within your bespoke software and this is managed by an external company. Do you have a working relationship with them? Are they a help or a hindrance moving forward? What licenses were agreed with them and just how dependent are you on them for running your business?
STEP 5: TAKE CHARGE OF YOUR PHYSICAL ASSETS
Look at the physical assets that allow your software to operate. This means finding out which servers are involved, where those servers are located and what permissions you have to access and manage those servers. Do you have a direct relationship with your hosting providers? If not, this would be a good time to find out who owns your servers and get in touch with them. If you are using a large 3rd party service like Rackspace, particularly if you have bought shared hosting (rather than having your own dedicated server), get a backup of your entire account as soon as possible.
It is important that you gather this information before doing any new software engineering and especially prior to holding any negotiations (particular in a difficult legal situation). Remember that you can get support and advice for all of the above steps and throughout the process. There is no need to panic, there are impartial experts out there who can give you sound advice throughout. This is not an easy process but is certainly one that can be successful. The outcome is often not only the repair and rescue of your software, but an opportunity to improve your digital properties and move forward in an educated and safe way.
Photo credit: Trent. Text overlaid