Solita has more than 300 developers currently working on customer projects, most of them producing customized software solutions for various needs. I thought it would be interesting to write a little piece on why we’re doing this: Isn’t everything already done by this day and age? Why does anyone need custom software? Can’t we just low-code/no-code everything?
Tailored vs Off-the-rack
Off-the-rack suit and off-the-rack software are similar in the sense that they are created after based on most typical needs and measurements. Off-the-rack suit or dress might fit perfectly okay for a person who has perfectly average measurements. Similarly, off-the-rack software suits average needs and requirements nicely. Both will probably fail if your needs are not average, and will most of the time be a compromise. Compromises can be expensive for a business.
Have you ever owned a tailor-made suit? Or a dress? Or custom bicycle, for example? Having something done just for you, customized, can be a beautiful thing. There are a few different tiers to customized clothing. You can have something off-the-rack and do some modifications. You can get a made-to-measure suit by taking careful measurements, perhaps making a few choices, then getting the suit done in a factory. The highest tier of customization is a bespoke suit.
For bespoke suits and shirts, the process typically begins by designing together the style and which materials to use. Your body shape is then carefully measured, and work begins. The design will accommodate your style - whether you like old-fashioned or modern, wide or narrow design, and of course, how many pockets you need. Work is done in an agile fashion, not only based on a single set of measurements. The tailor will create the minimum viable product, then measure again, and make sure suit is headed in the right direction. The better the suit typically the more there are measurements and fittings before it’s finished and delivered.
Tailored suit would typically be more expensive than off-the-rack suit, due to the difference in amount of work put into it. On the other hand, a good suit with quality work will typically last for longer time, and sometimes people even make repairs as needed to keep using it. So there’s also the cultural difference of something that’s cheap and disposable, against something you plan on using for longer.
But we’re not in suit business really, so let’s discuss software.
Bespoke software
What we typically see in Finland is IT solutions that have been shaped around growing and changing business needs for multiple decades. There rarely is just a simple source of truth available for any domain data: More likely there are multiple systems from which you need to combine infomation, and perhaps synchronize any new data back to multiple systems to feed the existing processes.
I’ve seen systems from the 70’s that are still running. There’s a lot of stuff from the 80’s, with rich client interfaces. Then came the web application decade, and we got a lot of php and asp applications going. And then few last decades we’ve seen a lot of new things you can do. Software solution architectures have kind of exploded. And You might be actually running solution parts from all these decades, because it’s very rarely that we get to shut down something for good.
The worst-case scenario is when new off-the-rack solutions are simply bought, not integrated. This typically leads to more manual work done by people, to have the data keep on flowing. Maintaining various off-the-rack software components that run on various platforms from multiple decades also adds maintenance expenses. So now and then you do need to modernize a little bit.
There are great off-the-shelf software solutions available, that serve common needs and are easy to integrate and customize. You could think of these perhaps as made-to-measure tailored solutions. They have great benefits as well. So a good strategy is to figure out where they will be enough for you, and where full customization brings the best benefits. What is your core business, where does your competitiveness come from?
Business models and processes
Buying off-the-rack software solution has one more benefit: It comes with a set of processes that are on industry average level: If your existing processes are worse, things might actually work even better once you update how your business works, and base it around off-the-rack software processes.
However, if you have better than average processes, if you are seeking competitive advantage from doing some things differently, then off-the-rack software will be severely limiting your style.
The idea of tailored software is to shape it around your current and future needs, in a more streamlined manner. Enabling the positive quirks and immediate future plans you have. Potentially giving you also flexibility for longer-reaching visions.
There is one catch, however. Getting a tailored suit does not immediately make your life perfect. If you have ever bought a suit in Thailand, you may have seen that while there are some excellent tailors available, not everyone is brilliant in their trade. To gain happiness it’s essential to work with trusted tailors who know their trade well.
Sadly there’s also a lot of cases where the job is just to build again old software solution with the latest technologies, just to make it modern, without much changes or ambition to meet current needs or visions. Using our analogy, it would be a bit like asking a tailor to redo your old suit from the 1977, without any changes. Rarely that might work out, but oftentimes I would see that as missed potential.
So enough on suits, how about that code?
When you are building tailored software to meet your needs, there are some benefits
- You can integrate existing sources of data to avoid and remove manual work, that can be expensive, but more importantly, is very prone to human errors. On public sector projects, this is one of the main benefits.
- Integration and automation additionally help you build services that are available 24 hours a day, as opposed to services that can only be used during business hours
- You can build the software around your business processes, instead of business processes around software - you can seek competitive advantage by doing things differently and experimenting
- You don’t have to do compromises on user experience either. User experience, usability, and accessibility are essentials elements of any service you want to create. Doing them right leads to enhanced user satisfaction, which has more or less value depending on if you are creating a public-facing service or not. But it will always have value in having less error-prone manual work.
- Today, solutions often come with an API, that can be leveraged in the future both internally, and for the brave ones, also externally.
- Sometimes we see business ideas for which there simply is no existing solution to buy at all - so the only way to see their feasibility is to do at least a prototype or minimum viable product, and have it in hands of real users. This means the ability to differentiate at the market as well.
- Products are often done with reliable technologies from last decades (Swing Framework and Java 6, anyone?). When creating a customized solution, you get to choose how cutting edge you want to be. There’s typically a great balance to be found for getting a modern yet mature technological stack when building a tailored software solution.
- Up-to-date with current regulations, and localized to the current market, instead of being generic and outdated
- When buying a solution from a reliable supplier, who can also take responsibility for running the solution, it’s possible to do small-scale developments to keep it up-to-date every year instead of letting it get outdated. This can prolong the expected lifetime of said solution.
- Localization is software feature that can also benefit from tailoring. While commercial off-the-rack software is typically localized, it’s not necessary covering all your needs, and it may not always be done very well. You can see this in dates handling, for example. Tailored software can be internationalized and localized just as you need it to be.
Finally, tailored solutions are only as good as the vision behind them. It’s not a goal in itself, it’s just another means to en end to support your operations. So first make sure that the vision is right, and tailor is great, and that the design and materials are beautiful. Then it’s time to embark on a journey towards greater happiness - and better business.