It’s an unfortunate side effect of growth that when your enterprise software goes hyperscale in a growing market, you will need to accommodate an ever expanding set of customer demands for new functionality. Doing so fends of competition but adds complexity and friction to the user experience. It can even be counter-productive and lead to slowing growth or churn.
Organisations, especially large ones, are complex enough. So no one, especially enterprise software developers, should do anything to add any kind of complexity to the mix.
Especially with software that has any kind of social capability which relies on network effects. It is important to keep the complexity in the network where it already resides, and out of the platform and software.
What I mean when I say complexity resides in the network is that a network is made up of people. In organisations they have to contend with theirs and others behaviours, emotions, beliefs, etc. In a broader context there is culture and politics to contend with. This is messy and inexact.
Better to not hinder that in any way and keep the software as super simple as possible and not add any overhead or friction to the way people interact. A good example of this is with Microsoft Teams on which I work with customers. I’ve seen examples where creation of Teams is blocked for users by IT.
I’ve even seen really cumbersome processes where users have to fill out a large form to request the creation of a Team justifying the decision.
I’m not against good governance which might include limiting the creation of new Teams but when it’s at the expense of collaboration and interaction with other services, that’s not good. It’s why there’s a note to this effect in the documentation: Plan for governance in Teams.
It’s also often a short cut instead of focusing efforts on the right behaviours in the organisation (about how to collaborate and use Teams well) and the necessary education of users.
Processes too can be messy so the technology should keep it simple and aid the process not hinder it. This designer takes us through the approach and shows the challenge of this: User Interface Design – The Good the Bad and the Interesting.
Why do something in 10 steps when 5 will do, especially if it achieves the same outcome. Understanding that technology is only part of a business process, albeit an important one, will help. For instance, its only one of the questions in this list: Thirteen Questions A Business Process Map Should Answer About A Process.
Complexity choices: developer and user
A good example (because it’s easy) to show how things can be improved is email. Email is not a particularly complex piece of business software and if I had my choice I would not use it at all in favour of tools like Microsoft Teams. Unfortunately, not all my network is on Teams and many still don’t feel the same so insist on email to communicate, even collaborate. A tool which is definitely not intended for the latter 😬
If you look at the screenshot above, it shows the difference between a rich and simple version of the navigation in the client application. I don’t use the client application of Outlook favouring the web application. But if I did, I would use the simplified version (the minimised view above). The developers realised that they needed to simplify the experience. Some might even say because over the years Outlook became bloated. It certainly is for my liking, even in the best of cases.
How much better the super simple version of Outlook in the web app that you see above. The mobile apps for iOS and Android are even simpler because the form factor forces simplicity. I have taken this minimalism in the use of email (if I must) to another level in how I organise my emails.
If you look at the screenshot you can see how I organise my folders. I really only have one, to manage my travel and expenses mail and it is regularly flushed. Otherwise all mail that comes into my inbox either gets addressed, deleted or archived.
For me this gets the job done in the simplest possible way so I can get on with achieving other aspects of my work. No time wasted with superfluous effort on creating rules and folder structures that don’t aid my work.
When you start out developing enterprise software you can afford to keep things simple. You can even differentiate yourself on your simplicity. As your customer base and the competition grows, you will be pressured to build more features and functions. Resist adding them when they don’t have a clear purpose and it is at the expense of effective use and outcomes.
The false dichotomy in point solutions and platforms
Zoom vs Microsoft Teams is a comparison I often hear to show how simple Zoom is to use compared to Teams. This is a mistake. Zoom is a point solution that does video conferencing really well. Microsoft Teams is part of Microsoft 365 and allows for video conferencing but also many other things.
What is not considered in this comparison is the scope of what you are trying to do. It also does not consider some of the underlying functions that are often hidden from users, like security. Zoom has had some challenges with this. These are now being addressed but it wasn’t necessarily built with the same level of attention to security as a tool like Teams was because of the different customer bases each had.
Microsoft Teams, besides having more functions than just video conferencing, interoperates with a lot of other Microsoft 365 services and even 2nd and 3rd party services. It is a platform and its functions and value increases when interoperability serves a broader base of needs. It also thrives and value grows based on network effects because it is a collaboration platform.
So what are some of the hidden costs?
Collaboration overhead. When features or functions get in the way of effectively reaching others or communicating with them, business outcomes and even innovation suffer. And with enterprise software especially, teamwork and collaboration are crucial and no software tool or platform is an island.
User experience and frustration. Bad software effects employee experience. According to a G2 survey, more than half of all employees are unhappy at work because of the software they are using. Bad employee experience means lower productivity and employee churn.
Customer churn. Simply put, when a software tools starts to create unhappy or complaining users and does not justify its expense with valuable outcomes, customers will stop using and paying for it.
One thought on “The hidden cost of complexity in enterprise software”