What Defines Good Software?
February 20th, 2017 | Share on:
Depending on the size, maturity and culture of your organisation, buying software can involve numerous different processes. These range from standard procurement procedures to advanced change and risk management analysis. Unfortunately, for too many organisations, the process of buying, developing and deploying good software can be painful to navigate and take a very long time.
A common initial cause for delay is defining your requirements - What do we need this software to do? This is a very broad question, which can make your decision making team and stakeholders question all existing processes and systems. This question often leads to organisations inviting external consultants in to help shine some light and narrow the options down. As with all purchasing decisions there is a universal tradeoff amongst time, quality and budget.
Once you know the details of what you want your software to do, the following question is how to find software that does this well. Without technical team members it can be very difficult to know what qualities to look for and how to evaluate them. So what defines good software?
Good software is fit for purpose, cost-effective, time-saving, easy to maintain, secure, and reliable.
Fit for purpose
The organisations that can be most satisfied with their new software are those who define clearly the task they need solved, automated or improved.
A key aspect for mature organisations to consider is that existing software may not meet their exact needs. There may be significant cost savings available by having some flexibility to adapt existing business processes to fit around available software, rather than developing obscure or complicated conditions into new software.
Essentially, this becomes a question of how much of the task and its edge cases should be dealt with by the software.
Cost-effective
When buying software there can be a lot of hidden costs. Often, the largest is staff time. How much time are your staff spending on defining what they need? Alternatively, bringing in a consultant will cost the organisation for the consultant’s time, plus the staff time needed to answer the consultant’s questions. Being clear about these costs early on can help you to save money and make appropriate decisions.
Another cost to consider is getting the wrong software. Organisations have spent huge sums of money on solutions that made their team’s working lives more arduous and ultimately less productive. If you buy insecure software, you also run the risk of far greater legal and reputational costs to your business.
Good software uses the latest best practices. By doing so, good software providers can offer a solution that will be relevant and fit for purpose for the longest possible time.
A good example is web development. Buying a website nowadays, a key requirement is mobile responsiveness, or the ability for the same page to display nicely on a variety of screen sizes - from mobile to tablets and laptops. As the number of devices increases, and people want to view websites through their smart watches or on extra large in-car displays, websites that are not following best practice will begin to fail whereas modern designs, which adapt to the screen size, will still be fit for purpose.
Good, cost-effective, software meets your requirements, your budget and uses the latest best software practices. If you discover that very few providers can meet your requirements and your budget, you may need to consider reducing your requirements or increasing your budget. It’s better to realise this early on, than spend months searching whilst continuing day to day operations with a failing or insufficient existing system which is hampering your organisation’s growth in the meantime.
Time-saving
Good software should save you time. Software isn’t helping your organisation if it takes your team or your customers the same amount of time or longer to achieve the tasks in hand. Of course there are tradeoffs, but these should be managed carefully. A good software provider will suggest that the tasks you can do quickly and easily in existing systems can remain in place. A key time saver of good software, is therefore good integration.
Integration is a key current best practice. Instead of multiple software providers re-inventing the wheel, they can integrate and build on top of each other’s work. This ensures cost-effective solutions and time-saving overall. Integration is primarily done through Application Programming Interfaces (APIs). An API lets two different pieces of software exchange information. A good software provider will be able to integrate with any other provider’s API.
How do APIs help you? Let’s suppose you want to show your customers where your organisation’s office is located on a map on your website. Without much thought, the obvious answer is to have a Google Map on your website, with your office clearly marked. This is achieved through the Google Maps API. Google lets you integrate their map software with your website, to save you creating your own map. The advantages of integration include higher quality features and consistency for your customers, since many different websites have a map which behaves the same way. The main disadvantage of integration is reliance on a third party, where for example, if Google decided to end its map software, a lot of websites would need to find an alternative map tool.
If an API provider decides to change how their API works, your software provider needs to have the ability to update their integration. This ties in with that good software needs to be easy to maintain.
Easy to Maintain
Maintenance is one of the key reasons the Software as a Service (SaaS) model exists. With SaaS you are essentially renting your software. Your organisation is paying a known, smaller, typically monthly or annual fee to use the software. Maintenance is no longer your organisation’s responsibility.
The quality of customer service from the software provider becomes the new maintenance metric to decide how good is this software provider and their product? If we ask for something to be changed or improved, will they listen?
The best way to answer these questions is to look at customer reviews, speak with long-standing clients and get a feel for the providers’ development roadmap: the features they plan to release in the coming months. A good provider should know what’s coming next. The provider should have a plan and vision for their software and also highlight that some of the planned changes are taking place because customers have requested them and their team have listened.
Secure & reliable
Good software is both secure and reliable. Reliability involves more than just the software itself. The infrastructure such as servers and other hardware also needs to be reliable in order to keep your software available.
Service Level Agreements specify your software’s capabilities and form part of the wider SaaS license agreement. This means that if your software isn’t as reliable as your provider has stated, your organisation is not obliged to pay for the software service, or is entitled to a discount. For example, if your Virgin Media internet is down, you can call to request reimbursement for the outage period from your monthly bill.
Security is a complex issue. Using best practices helps with security. When more people are using the same infrastructure, tools and services, the more opportunities there have been to fix and repair potential security issues.
A key approach to security is using HTTPS (so your web addresses look like https://www.veryconnect.com). You can think of the ‘S’ as Secure. Yet even today, you will find a large number of software providers do not use HTTPS.
Personal data, especially financial or credit card information are favourite targets for malicious intruders. Any software which handles payments should be especially careful when dealing with these transactions. Integration helps with security, since you are adding on a specialist service to your software. By using third party payment services such as Stripe or PayPal, payment information is taken and dealt with by these companies. They manage the security of taking payments and storing encrypted information, leaving software providers to focus on the aspects they do best.
The Good Software Provider
So, what defines good software? A combination of all that's been discussed here so far. Ultimately, the software provider is key. Your organisation’s relationship with the software provider is vital. Your team and their team have to understand each other and trust each other.
A good software provider will understand your requirements in depth, question your needs and get to the heart of your organisation’s task at hand. Only with a good relationship can all the attributes of fitness for purpose, cost-effectiveness, time-saving, security, reliability and ease of maintenance be achieved, providing your organisation with the best software for your needs.
Follow VeryConnect on LinkedIn for more articles on finding the right software.
Follow VeryConnect on LinkedIn