What it takes to put a software system in - Info Rhino Limited
These days, there are people who write code all over the place. You can find them on Freelancer websites, Agency websites, Google searches, LinkedIn directories, DuckDuckGo searches. How do you know how to get a decent software implementation when you are a small to medium sized enterprise?
The most common implementation for a business is a website. Other companies may want a tracking database or a small reporting solution. Commonly, small companies will outsource management of their mail server solutions and infrastructure to service providers and this makes sense.
Software is what I work with, and often, we are picking up the pieces of some other person's implementation. One service I have added to my limited company is a service known as Quality Services.
Quality services - what is it?
We may find there are bad tradesmen, and bad service providers - there are people who will never deliver the software you wanted. The client didn't know what they wanted themselves, didn't know how to manage the process, had no mechanism to assess the ability of the supplier, or used bad assessment criteria. Many providers have very unrealistic expectations put upon them.
We think, and know, that having early sight of work and project requirements can really help get the project on track. This means the client should be prepared to pay somebody to independently verify the pre-project and at certain points during the project.
One of the things I have got burned by, and seen, is the number of people who think the law (contract) will protect them when things start to go wrong.
Quality Services is not about vilifying the supplier
Everybody has off-days. There may be gaps in a supplier's knowledge, or the client could be too demanding. Quality Services seeks to provide balance. Even when a service provider is awful, there are ways to recover the process.
Software development is a highly complicated process
One of the things which cannot be stressed enough, is how complicated it is to implement software solutions. My experience has been nearly all in the Enterprise apart from solutions I have built for myself. I often explain this as a way of thinking about software development;
| Type of Organisation
||Project Management Oversight
||medium to high
| Software House
||medium to high
| Small Company
The above table is not something to be horrified by, indeed, different types organisations have different priorities. It is always worth keeping this in mind. Large Enterprises will have specialists across different technology domains, software houses too. Large Enterprises are concerned with technology supporting and enhancing their business. Software houses business is the software they develop. Small companies are trying to increase their efficiency and service delivery to their clients and cannot dedicate as significant capital expenditure as the other organisations.
I have put my opinions on Agile versus Waterfall on all forms of media. My opinion is, Agile only really works for small projects or proof of concept. Personally, I prefer Iterative Development and Waterfall. Nothing stops people running in an agile manner for certain pieces of work between larger phases of a project either.
With all this being said, let's focus on the solutions.
My top ten ways to get a decent software implementation by a supplier or vendor
You may have your own opinions on this. These are my go to things to do when considering outsourcing.
1. Create a product road map
The biggest thing small companies do wrong, is to think about the solution they require. Want a website - get a website built, want a reporting solution - build a reporting solution, need an accounts system - implement an accounting system.
By creating a product road map and sharing non-commercially viable elements of it, potential suppliers have to;
- Understand how their solution will fit into the big picture.
- Make an honest appraisal of which features they can deliver.
- Keep the client's vision centrally focused throughout implementations.
We see a Product Road Map as being vital.
2. Not focusing on how the supplier's website and products look
We all want the product to look great. Especially if it is to attract new business and engage customers. Many attractive features are incompatible with usability. Similarly, achieving greater visuals can result in more risk to the final solution. In particular with websites - often, styles and themes can be improved without significant rework.
One massive example, we see right now, is a lot of WordPress websites have these large expansive mega menus. Many people mistakenly believe these are a great visual feature, when, in-fact, they are a usability nightmare. In this situation, ask the vendor if the menu style/appearance can be altered.
3. Not listening to recommendations and reviews
I don't believe in commendations on websites. They are vapid, have no point of reference, and may often be false. Even where they are true, they are lost against all the other sites providing equal reviews.
4. Not taking notice of companies who paste pictures of their partnership agreements
To become a partner or preferred supplier, often involves nothing more than paying a monthly subscription to a software vendor. Other times, it is performance related and tied into how many of their licenses you supply.
Partnership arrangements are a good thing, because if suppliers believe in the software they are implementing, they are committed to it and you are likely to get a far better implementation. Believing it matters is a different thing.
5. Not taking notice of companies who paste logos of their clients on their websites
Firstly, most of the clients of Info Rhino have been through agency agreements. This has certain restrictions on us putting our client's names on our website. We can guarantee, in virtually all situations - large organisations will not advocate small software providers. Even where they have performed a good solution, it isn't something the client wants to be involved in.
Secondly, putting logos on a website is probably a copyright infringement. It may be, that where we have a long standing supplier's agreement with a client, then we can mention it but will it add to the reputation of the brand?
6. Not looking at the evidence of the supplier's own efforts
The Info Rhino Website has small bugs. No website will not have certain layout issues which may displease certain audiences. If, there are major bugs, or lots of attractive visuals without substance be concerned. Perhaps there should be terms of reference documents, or guides in pdf to add extra weight to their efforts.
7. Not reading the contract or agreement
We feel contracts should be fair. Contracts which are unnecessarily weighted in the favour of the client or supplier are unhealthy. More importantly, it will prove harder to get away from.
8. Not understanding the vendor's Software Development Life Cycle
Small projects can be delivered using virtually no visible SDLC. This can often be okay. If we were delivering a six page, fairly static website, we wouldn't go heavy on the SDLC. One of the key advantages to being a small company engaging suppliers on smallish projects is to avoid the heavy overhead and cost of large organisations.
Once a project becomes a little bigger, here are some obvious pointers;
- A requirements definition.
- Analysis phase.
- Development phase.
- User Acceptance phase.
- Bug Fixing phase.
- A support arrangement.
The supplier may provide access to cloud project management tracking software, or use some simpler means to do this.
9. Not understanding the technology
Everybody gets stung here. You, as a client, are trusting the competency of a supplier in an area you may not have expertise in. You should try to understand as much as possible about the technology as you can.
We recommend getting a third-party to spend a day or so explaining what the standards expected should be.
10. Not getting independent advice at project initiation
At least 5-10% of a project cost should be committed to understanding what the project will entail and setting up the correct Software Delivery Lifecycle. It does not mean, that all requirements will be known.
Conclusion on software implementation - Quality Services
Info Rhino, my limited company, offers Quality Services. These are a set of tools and processes used to review projects and products. The top ten list is not by any means a formula, and each project will require its own approach.
Let me know what you think about this.