Want to see the difference between software development that used a proper process and one that did not?
Well this client we helped, demonstrates it perfectly.
Read on for
how we helped,
and practical knowledge to help you feel confident when hiring a custom software agency.
A company came to us with a big issue.
They had hired a development agency to create a custom software to handle their entire internal processes. It had just (officially) been completed a couple months ago, but every day more and more issues were popping up with it.
For starters, some of the functions just did not work.
You pressed “Submit” and nothing would happen. You entered a customer’s data into the CRM, and the data would not appear in the customer’s record.
But even for the functionality that did work, the software was just not properly tailored to their process.
One of the functions of the software was to create a list showing overdue accounts receivables.
How the software created the list was, that as soon as an order was placed the client was placed on the list.
Now, this company manufactured the goods, so from the time an order was placed until the client actually received goods, was between 30-60 days.
So the client would be on the overdues list for 30-60 days before they ever received the goods.
Which meant the accounting department would call a client about an overdue payment and the client would respond “He had not received the goods yet! In fact he had only placed the order yesterday!”
You can only imagine what an embarrassment this was to the company and how frustrating it was for their customers.
The software was meant to make the accounting departments job simpler, while providing a better customer experience. But it was actually doing the opposite.
It should have put clients on the overdue list once the invoice had exceeded its terms, but it was not even tracking this sort of information.
Clearly the previous software agency had not followed a proper process, and done a proper requirements gathering before developing any new software.
When we walked in the door for the first time the environment was so tense you could cut it with a knife.
The boss was furious over the wasted money, and now his business wasn’t running off a software or on paper.
So before we could even establish if the processes made sense (at this point the project manager insisted they did) we needed to have the software function, so that day to day business operations could happen. (Even if not in the most ideal way.)
Once we felt we had fleshed out the issues to have the system work, we implemented a system for the users to note all their frustrations as they occur, thereby giving us the perfect information to understand what the process really needed.
In our periodic meetings we reviewed all these frustrations.
– which ones actually are just a need to retrain,
– which are high priority to change
– which can be shelved for a later date.
After that we were able to make many modifications in the system, and add various features, in order that our client would actually have a software that catered to their business workflow.
But enough bragging about how great we are. The reason you are reading this is to help you know how to avoid such a fate.
(For yourself or for someone you know)
And now, I will show you how to do that.
It comes down to 2 details:
That means that for every function that is going to be created, you should be able to check it out and test that it works, and that it works the way you would like it to.
(In software development we call this “Unit Tests” which focus on granular functions.)
There’s no reason you should have to pay for an entire project and only then get any results.
(Along with all the surprises of what’s not working…)
I would tell you to look at it as if you are creating a house. You wouldn’t pay for the full development and then show up a year later.
No, you would pay for the walls to go up, then when you see that that was accomplished, then you would pay for them to get painted, etc.
So treat a software project the same way, and make sure your development agency will be giving you constant deliverables.
You are paying for software developed because it is custom made for you.
Our client didn’t need to pay to develop a generic overdue list.
They needed to have an overdue list because a part of their business process is collecting payments, and in order to do so they need to know who owes them money.
So they needed a an overdue list that worked according to their process.
An overdue list custom developed for them.
And the only way to create something customized for someone is to first get a proper understanding of them and their needs.
I’ll give you an example for this one too.
Look at it like you are getting a custom made suit/dress.
Now imagine you were setting up to buy a custom made suit/dress from a company, and they told you there was no need for you to come in and get measured.
They said, “Just give us a vague description of your build, you know, like are you big or small? Broad shoulders vs narrow, do you like slim fit or not, etc.”
What would you do?
I imagine (hope) you would slam the phone on them, shake your head, and start muttering to yourself how their are businesses out there that have the audacity to scam people out of money.
Because nothing can be made custom for someone, or a business, without first having a clear, thorough understanding of them and their needs. (In this case, proper measurements of your body, and a list of your preferences in style)
Therefore to get a custom developed software, the development agency must first have a thorough understanding of the business and its needs.
If our client would have understood this about custom software, they would have been able to know before they ever paid a single dollar that their development agency were not going to build a proper customer software for them.
Because the development agency process did not include this first step of “measuring” their business.
There was no original requirement gathering meeting to properly understand the business, their process, and their needs.
So how were they capable of creating a “custom” solution for them!?
And therefore, (here’s the practical application part) if a development firm that you are dealing with, or considering to hire, does not do this initial step of understanding your process and needs, then they will not really create a CUSTOM solution for YOU.
Will they develop software? Yes.
But will they create software for YOU? No.
It would be like saying that the above mentioned suit was being custom made for you.
I hope this helped you gain clarity.
If you need more help using software to grow your business I’d be happy to help!
Contact me at: