Evaluating the development of a custom software application
With the COVID-19 crisis hitting all businesses that force employees to work remotely, many organizations are investing in IT solutions to meet their needs. Never before have the IT solutions available to SMBs been more varied and accessible than they are today. Whether for accounting, marketing, or customer relationship management, there is a wide range of software solutions allowing businesses of all sizes to find the ones they need at a good price without having to rely on a software development team. Software as a service (SAAS) applications are becoming increasingly popular since they allow to benefit rapidly from solutions and to control costs according to the company growth. However, the client’s needs are sometimes so specific and peaky that the solutions available do not meet them. That is when top managers have to turn to custom software creation.
Custom development must be expensive?
I can hear a bunch of people say “Oh yes!” However, I believe that the answer is: “Nope! It is not that expensive when we know how to do it in steps.” The problem with custom development is that we do not always know exactly what we will need as software. Obviously, we can have a general idea of a software application that meets a real and high-level need. But, as Nietzsche said: “The devil is in the details!” And it is when we elaborate that everything gets more complicated… What is peculiar with custom software is that it first exists in somebody’s head in order to meet a unique need. Since it does not exist, no one has ever tried it, tested it, saw what works and what doesn’t. Thus, it is not easy to imagine the entire work before creating and trying it! It is just like building a house from a plan. We see the results as the walls are built. However, one thing is even worse than not knowing; it’s when we think we know exactly want we need. Combined with the need to know the price for that software, at the end we find ourselves with a huge invoice. We think about lots of features that seem essential and, in most cases, we do not have a clear idea of the need to be filled.
This is why we set the first objectives together and begin development without further delay. At the end of this first step, customers get a functional version of their software from which they can already benefit.
To learn more, download our free white paper: five tips to develop affordable custom software
Will this budget cover all the features that I need?
Here is the question that I’m being asked more often than not. Well, after answering the “How much does it cost?” question, it is probably the one that comes next… It’s because there’s something visceral in the fact that we want to know everything before beginning anything. Even myself who is actually writing this post, I have that reflex in my personal life. It reminds me of something. A few years ago, my spouse and I bought a new property. As soon as we moved in, we proceeded with some outdoor work in order for our dogs to fully benefit from the great space available for running and playing in all security; that is, for them and the neighbours as well. To carry out the work, we called in providers to get quotations and help us with our decisions. After expressing our needs, the first question we asked is: “How much will it cost?” Despite all the hours spent explaining to my clients that this question is not the right one, here I am asking it to my supplier.
Obviously, his answer was filled with several “It depends”. I rapidly realized that he was saying to us the same thing that I am saying to my clients. After understanding all alternatives and uncertainties, my spouse was quick to ask the second question: “Will we get what we want and respect our budget?” We all have that fear of exceeding the budget planned to carry out our projects. Why is that? This problem is probably related to a vision of the project that is too wide, whatever the project is. We try to handle everything at the same time, and it is not always necessary. In fact, time has taught us that we could have first worked on part of our yard; i.e. where the dogs spend almost 90% of their time. The estimation would then have been quite lower than our available budget, and subsequent investments could have been allocated to other things that were more urgent and that better met our needs of the moment. The way we looked at our project as a whole and tried to answer all the questions at once forced us to evaluate many things at one time and contributed to increase the overall budget.
With the experience we have acquired, we know that it is sometimes possible to meet the business needs initially envisioned with as little as half of the planned budget.
It is like a long-distance race!
To embark on a custom software development project is like running a marathon. In a marathon, we must manage our energy expenditure well in order to ensure that we’ll have enough to cover the required distance. The idea is to maximize the use of energy. It’s somewhat the same thing for software development. It is important to maximize the budget usage in order to cover as many basic needs as possible; thus, to avoid any expenses that do not immediately fill the need or that do not have a real value. The race has to be lived on the spot. We adjust our expenditure of energy based on what is going on, one second at a time. It is so similar for software development. The budget is being used based on what we need now—no less and no more—and we adjust day after day. Therefore, we understand now that the most important question to be answered is not “How much does it cost?” but rather “What will we do with our budget?”
Where do we begin?
Even though the question is not to know how much it costs, we need to have a budget. Consequently, we must have a high-level idea of what we want to do. This preliminary vision of the software product to be developed will allow us to establish a budget based on great themes that we believe necessary to fill the need. We already know that the output will be a little bit different, but we must start somewhere. Then, we break down the project into smaller steps—each meeting a specific need—that can be used right away. It is the sequence of steps that will gradually result in a product that is complete. Therefore, it is easier to control the total cost of the project, and we can get something functional in a very short time. Finally, for those who wish to have a custom software product developed; first think about (and find) what would be the need giving the most value now. Then, have solely this need evaluated. It will be the initial cost of your project. Yes, it is possible to develop a product that does not cost a fortune. To do so, one must manage his/her needs well. In the next article, we will talk about the costly traps to avoid in order to stay in control of your budget and avoid extra costs in software creation.
Find out how Done can develop your custom software or contact us to discuss this. We specialize in custom development for clients seeking unique solutions and wanting to maximize the value of their investment. For over 13 years, our development team has demonstrated its Agility, creativity, collaborative spirit and unwavering commitment to our clients.
The expertise of our multidisciplinary teams, allows us to accompany companies who wish to improve, rewrite or develop custom software to meet their business needs. To learn more about custom software development, click here.