Before I started to work at Futurice, my employers have pretty much been major corporations with complex IT infrastructure and incomprehensible number of different pieces of software running the show. Still, all the software is (usually) managed by external vendors and have support available. Making mid to long-term plans related to software is part of the daily work.
Since my leap to Futurice in November 2015, I've been involved in a number of customer cases where my task has been to find out how well smaller organizations with decades of history are prepared for the coming years in terms of digital capabilities. Findings are both interesting and alarming.
First of all, companies going digital is nothing new. The cases I've been working on have shown me that even smaller organizations adopted new technology quite quickly in the 80's and 90's. Since there was no suitable off-the-shelf software available at that time, many chose to make their own. Initially things worked out pretty well.
Developing simple in-house tools using technologies such as Visual Basic, Delphi or Excel macros was swift and cost efficient. Business got the tools they needed and IT departments could run the show with no need for external assistance. But how does software developed like this for example scale, integrate with other parties, provide users with mobile access or handle data security? Not so well.
General finding is that these tools are often one-person-show's, where all expertise has been (and still is) in the hands of a single professional. This creates major operational risk for the company (aka the Bus Factor). Documentation is non-existent and transfer of information has not been done in other fashion either (i.e. word of mouth). Also version control has been neglected and fixing errors after deploy-gone-wrong takes a long time.
Maintaining old programs take a lot of time. Code is usually very complex. Just to keep things running on daily basis requires great effort and at the same time, business is asking for more features and tweaks. IT department can't keep up with requests and business is starting to suffer from lack of tools to get things done. Long term planning is not possible because of all the critical present day challenges.
I don't want to go into details with the usability side of the self-made software, but I can assure you that there are not many interaction designers working in the companies described here. Complexity of software is not only related to the codebase and this reflects to a lot of unnecessary work done on user-level.
One focus point of legacy software is the hardware and other necessary components (operating system, database) which keep the whole show on the road. Applications have been built to run on traditional servers (often running in own data center) and scaling the performance up has usually meant "buying more memory". OS and database upgrades and security patches might not have taken place and systems are vulnerable to external threats. Also support from vendors has ended due to very old versions of different programs.
When asked from these companies why they have not replaced their legacy tools with modern software, answer has usually been "Because our business is unique and our software gives us competitive advantage". And in most cases this is true, but only partially. Also the "Cost of replacing everything is too high" and "We've invested x million in our own services, we can't let go of them" are other often heard points.
Most functions related to finance, HR and procurement are quite standard no matter what kind of company you are running. There are great off-the-shelf products which could make life much easier, nowadays available also as SaaS with monthly payments. Some software might need minor tweaking to work properly with specific industries, but it's still doable with reasonable amount of work. Investing millions in ERP upgrades is no longer the norm, but rather an oddity. Also it's viable to replace a behemoth ERP in smaller increments over time to split the cost and risk related to bigger changes.
The competitive advantage comes from the limited number of software modules which are unique to your company. This is the part where IT department should focus their time and effort to provide better and faster tools for business. When all time goes maintaining the "common modules", the parts that generate most value are neglected. This is the area where no off-the-shelf product will be enough to keep your business in the cutting edge in terms of digital tools.
IT needs time to work with the business in order to come up with innovations and then select the right vendors to provide them with the desired tools. All time invested in running the legacy code is taken away from this most important duty.
The role of traditional IT department is changing from "a builder" to "an alchemist". The expertise to do this is usually already there, all that is needed is a little bit of time and a tiny change in perspective to see things a bit further in the horizon.