As software developers, we often see that our clients’ problems can be traced back to a number of common mistakes. In this blog, we will list what these are and how you can prevent them.
1. There is no (tested) process on which you can base the automation.
When you start building a system that isn’t based on a process that has been thoroughly tested, you’ll find that it doesn’t meet the user’s needs. Because the system probably won’t align with what actually happens on the work floor.
Take for example a library system tracking book inventory. And the issue? The actual stock often does not match what the system indicates. This could happen because not all books are lent out, but rather given away, or people lose them. If there’s no way to record this in the system, it no longer matches reality.
If you want to prevent these types of issues, you must first thoroughly test the process by asking: where are our books going? This can be properly tracked in detail on paper or in Excel for a week, or by conducting thought experiments about what can happen to a book once it leaves the library. Only when you precisely map your process can you think about what the system needs.
2. You want to automate everything at once
This often results from wishful thinking. People want to build a super-system and clearly see its benefits. However, the reality of such a super-system is often different. To use the library system as an example again: say you want to create a system that not only tracks which books are loaned out, but also allows a library member to borrow a book, receive a membership card, invoices are sent, etc. Basically, automate everything that can be automated in a library. But the problem is, if you try to cram all of this into it at once, you’ll encounter a lot of bugs. Unanticipated issues will undoubtedly come up. For instance, that books sometimes get lost and are not returned. You might only realize this along the way. But if an enormous system has already been built at that point, it’s much more difficult to adjust it accordingly.
So, start small. In the case of the library, simply begin with a simple list of books and keep a log of every action that a book can take. From there, progressively add the functions that you need.
3. You want too many bells and whistles
By bells and whistles, we mean gadgets, the latest technologies. We once had a request from a garage to create a quote for an automatic system that scans license plates. In such a system, any ‘diagnosis’ made could be clicked in the system, which then immediately orders the necessary components at the push of a button. Sounds convenient and very high-tech. But in reality, the mechanics won’t appreciate this. Every customer is different after all. And cars with the same problem might not need the same treatment. Such a system would also result in a mismatch with reality. Always ask yourself: do the bells and whistles add value? Will they have the desired effect?
4. You hire programmers yourself without any experience in managing software projects
This is a common mistake that we recently dedicated a blog post to. Programmers aren’t developers, designers, and project managers all in one. You can’t expect programmers to independently realize your entire software project. You need to recognize what, and who, is needed to achieve the final goal. Without experience in managing software projects, this often doesn’t work.
5. You underestimate the amount of work.
Software projects are often only started at the last minute, frequently because they’re put off. This is usually due to it not being a priority initially. It’s not something that ‘hurts’. It’s a latent need. But the moment that the need for that software becomes urgent, it’s already too late.
People then often underestimate how long it takes, thinking they’ll have an entire system built within two weeks. The reality often disappoints. And because the workload is underestimated, costs are usually higher than expected. Therefore, explore the idea of the project long before it becomes pressing. Take a plan or idea seriously right from the start, even if it seems it’s for the distant future, as it could make or break your business.