If a software solution seems more complicated than it needs to be, then it is worth asking: why?
On a current project, I am working with some software tools provided by a major industrial automation company. I have always been amazed at how this company, in particular, takes problems of moderate difficulty and turns them into solutions that appear impenetrably hard to master. I used to think they just were not that good at writing software. While I still think there is something to that, they are primarily a hardware company. For hardware companies, making software that is easy to use does not often come high on their list of priorities! Similarly I think their size gets in the way. Disparate teams write tools for similar or overlapping purposes, with no awareness of each other. Therefore, there is no co-ordination to make the user experience as a whole coherent and pleasant to use.
I used to think that what they needed was a Steve Jobs, mandating simplicity and ease of use — “The iPhone shall have ONE button, and ONLY one button!”
It started to dawn on me a while ago that maybe they don’t want a Steve Jobs. Maybe complexity and confusion suits the business model of many in the software industry? If something appears to be complex, you can … charge more money for it! It even works to the advantage of technical professionals who work with their tools, “Programming company X’s tools is very difficult, and requires months of training and experience (see my certificates!). I have to charge more for my time than the average programmer, because my skills are so extraordinary, and so rare.”
Now I am NOT saying that there are not many talented people out there with finely honed and rare skills. It is always a pleasure to meet and work with them. I AM saying that something isn’t complicated just because an IT professional, or a software solution company says so.
I AM saying that — as the owner of the problem and the payer of the bills — you have the right to ask:
“This seems very complicated. I know we will pay for that complexity up front, and over the life of the system. Why does your solution have to be so complex? What simpler alternatives can you put in front of us, and why did you rule them out this time?”
Regardless of the answer, it will be a worthwhile conversation with the potential to save your business money, time and risk.