What are the Limitations of Bespoke Software?
In previous posts we have covered the advantages and disadvantages of bespoke software but what are the limitations? In fact, the question can just be simplified to “what are the limitations of software?”
We really love this topic because it allows us to look at the fringes of software development, the bleeding edge of what is possible. Before we start though, in a sweeping generalisation, for all of our customers and more widely for most businesses, the limitations of what can be done will never be an issue. Apart from the most boring limitation which we are going to cover first.
This is almost the umbrella limitation under which all other limitations sit. With enough money (and time!) nearly anything is possible. It is not even a limitation specific to software. When our customers ask us if something is possible, especially when it is a fairly advanced requirement, what they are really asking is “is it possible at a reasonable price?” If you take away the reasonable price part of the question then the answer is going to be yes nearly all of the time.
Hardware – Processing Power
You may have heard of Moore’s Law. It is often widely misquoted as meaning that the power of computers would double every 18 months. In fact, it was about transistor density doubling on semiconductors in a log linear relationship and only to hold up for 10 years or so from when he published his article. The misquoted rule of thumb did in fact hold up for much longer, only in recent years has the cost of R&D and manufacturing slowed down the increase in process power of computer chips.
With all that being said, computers are incredibly powerful now but they are not unlimited in their power to do calculations. It is often hard to imagine a scenario where there is a constant need for more power but it tends to be the reserve of scientists who are processing huge volumes of data but want to do more and faster. Weather forecasting is a great example, in the UK the Met Office say that their 4 day forecast is now as accurate as their 1 day forecast was 30 years ago. Of course, some of that comes from their better understanding of weather but a lot can be attributed to the massive increase in processing power over those 30 years. Who knows what they will be able to achieve if they can process a few trillion other points of data. Maybe one day you will be able to book a holiday and know it will not rain.
A lot of bespoke software is developed to increase productivity by removing humans from the process and the ability of software to do that grows every day. One of the final hurdles is artificial intelligence, developing software that can think. We have computers that can beat grandmasters at chess. We have AI that can almost pass the Turing Test. You may have even noticed that more and more sites are employing chat bots that try to imitate human responses and at least deal with the easier enquiries that company get.
It is still artificial intelligence though; a sentient software application is a long way off. Software can’t do everything a human can do and if you have seen Terminator, we may not even want it to be that “intelligent”.
Our own knowledge is also a limiting factor in the software that we can develop. For example, if you don’t know how the human brain works, how can you make something that is artificially as complicated as it.
The great thing is that our thirst for knowledge means that we constantly raising our understanding of everything. Guess what has increased the rate of our learning, computers and software.
No post is as likely to go out of date as fast as this one, the limitations above are diminishing every day. We could have also written about more, web applications for example are to some extent limited by the abilities of the browser they run in.
The key takeaway is that the limitations of bespoke software, all software in fact, are a long way from the requirements of nearly all the requests we see. If you think you have a requirement for something that you are not sure software can do then please get in touch. We love a challenge!