Hint: Approaching a company to build your software in a vague manner is a recipe for disaster.
To even have an idea as to what software product that you might want to build, you probably have a problem you are trying to solve, be it small or big. We always ask our clients the same question, “What problem are you trying to solve?”
Here is what usually happens between client and vendor. You as a client would approach a potential vendor. You would then tell the potential vendor the issue that they are facing. Some of you would want to sign a non-disclosure agreement, an NDA in short. Great! The potential vendor would sign it off. Both you(client) and the vendor will sit down to brainstorm the idea. The vendor would vaguely understand your issue and throw solutions on how he can help you to fix it. This is part of the sale! It’s called building trust.
Now that you feel comfortable with the suggested solutions, you become more and more keen overtime because you start assuming that the vendor completely understands your business. The vendor would ask if you have designs that you would like to implement, which most of the time most people wouldn’t. You would then say that you don’t and leave the entire project in the trustable hands of the vendor. You sign the agreement and go hands-off.
Over the stipulated amount of given time, the vendor creates the tech and delivers it to you. You become unhappy. To you, the vendor has underdelivered. The vendor, on the other hand, thinks differently and feels that you are asking for more than what was agreed upon and gets upset. Your client-vendor relationship starts to go south. This is one of the common problems that happen rather frequently.
#1 DISCUSS THE TIMELINE
Vendors always promise to deliver a product in a very short amount of time. For example, they would say that they can finish the project in X number of months even though they clearly know it is not possible. Vendors do this because they want to secure the deal and would do anything to get it done. Most of, if not all the time, clients are not protected in any way in the drafted agreement and hence, this is why it has led to many under deliveries, as well as overpromises.
The problem really stems from the approach on how the entire deal was made and how the agreement wasn’t structured accordingly. So what is the best way to do it?
We have experienced both sides of the coin; client and vendor. We have been on the receiving end of terrible service as well as personally contributed to providing atrocious service to some of our clients. So again, what really is the best approach to take in order to get full value for what you have been promised, as well as reduce or even potentially eliminate any chance of discrepancies?
Here are ways you can deal with this:
Take everything step by step. Do not ever rush into choosing your vendor. Speak to a few vendors and see what they can provide you. First things first, list out all your pain points, the actual problem you are trying to solve. Ask yourself these questions:
- Why did you come up with this idea?
- What are some of the solutions?
- Have you tested any part of it manually before thinking of automating it?
If you have, it’s great but if you haven’t then it is still okay. Discuss with the vendor for some solutions and ideas, to see how the vendor may suit your needs, or if the vendor is even the right person to take on the project.
#2 GO THROUGH THE DELIVERABLES
We would suggest that you have a completed list of deliverables with a full scope agreement in place. Look through the agreement and try to break down payments over various phases of the product development.
Get the vendor to breakdown the product development process into a few phases. In a nutshell, average product development would usually be separated into 3 phases (mapping, designing & developing).
1st phase: Mapping
The first phase would be to create a roadmap and to do site mapping to completely understand the flow of what and how the product should be. You as the client should confirm the flow and be sure that really is how you envision it to be.
2nd phase: Designing
In the second phase, you should get the vendor to focus on the UX. Have a low-fidelity prototype out and run through it carefully. Once you are certain, get the vendor to do the UI and provide you with a high fidelity prototype. With this prototype, you will be able to envision your software product very clearly. After this, work with the vendors to come up with a UAT list before entering the development phase. Once you are comfortable and having signed off on the second phase, only should you enter the 3rd phase which is the development.
3rd phase: Developing
With this, at least you can be satisfied with the product pre-development and know what to expect when the development process begins. If the vendors fail to deliver, at least you will know that your developer won’t be able to cater to your needs and you will be able to terminate them based on what was noted in your agreement.
As a client, try to look carefully into the agreement to make sure that it is fair and that you are protected in every way. Always make sure that, in any case, that your vendor fails to deliver to you, you should have the rights to terminate them and get the rights to your intellectual property based on what you have paid so that you would be able to move on to work with another vendor, without affecting your planned timeline.