Conservation of Complexity in the Age of Millennials
Conservation of Complexity in the Age of Millennials
CAMPAIGN: Getting to Impact
Today there are a number of software solutions to improve the corporate giving process. The problem is that most of the software providers in this space are stuck in an old-school mentality. You either get one-size-fits-all software that forces you to adapt your business processes, which puts unnecessary complexity on you, or the software is so customized for the end user that it's restrictive and requires extensive technical resources (time and money). Neither of these options are ideal. At Versaic we decided to take a different approach and I’d like to elaborate as it’s core to our methodology.
I’ll begin by rewinding back to my days at Apple, in the 1980s, where I learned about the Law of Conservation of Complexity. I had the privilege of working with and for Larry Tesler during my time there and he introduced me to this law. As Wikipedia so aptly defines:
“The law of conservation of complexity is an adage in human–computer interaction stating that every application has an inherent amount of complexity that cannot be removed or hidden. Instead, it must be dealt with, either in product development or in user interaction.”
This principle was born in the desktop days, either there would be complexity for the end-user or for the developer to mask the complexity in the code. As an example, to get to the simplicity of the Graphical User Interface (GUI) that Larry brought to the public with the Mac, there was extensive complexity in the software code.
A lot has changed in the 30 years, for one, software need not run locally. Much of the software we depend on today runs in the cloud and is offered to the end-user as a service. In addition, as developers are not so strictly tied to packaged software releases, they can continually add new functionality which we do on a regular basis.
Much has changed from the user’s perspective as well. Thirty years ago there was acceptance of complexity in business software. Today, the growth of online consumer tools, such as Facebook, Twitter, and Instagram, has brought about an expectation of simplicity for the user. As the millennials enter the workforce, they bring with them that expectation of simplicity in the business software they use. This phenomenon is often referred to as the ‘Consumerization of IT’, a term made popular by Aaron Levie, co-Founder and CEO of Box.
I contend that these trends on both the supply and demand sides of business software actually present a third option in the context of the Conservation of Complexity. At Versaic we run the software for you, the code remains elegant and powerful and we handle the configuration complexity. The end-user gets the best of both worlds.
When I and my engineering team set out to build a platform for our management software, our experience with our clients and partners coupled with our strong software backgrounds provided the following guidance to our approach:
- "One-size-fits-all", e.g. packaged software, puts unnecessary complexity on the user.
- The user needs to work the way software works, requiring in some cases to bend or change processes and procedures already in place.
- The user may have to repeatedly choose from hundreds of options, even if they only ever need a few.
- Long cycle between updates and improvements.
- Customized software would fix the complexity on the user side, but the tradeoff was:
- Time and money spent on design and implementation, i.e. complexity on the vendor side that the user pays for.
- Reconfigurations as needs evolve may not be possible or at a high cost, i.e. more time and money spent or requiring in-house technical expertise.
We're the only ones that leverage the Conservation of Complexity in the world of hosted solutions. Since we’ve gained a lot of expertise setting up systems for hundreds of clients, we focus on making the system highly configurable, but don’t require our clients to manage, understand or pay for that configuration.
Which brings me to a very important second piece to our approach. While engineering works very hard to develop elegant and highly-configurable code, we need a team to handle the configuration for our clients. That’s where our Client Success managers come in. Indeed, it is so key to our approach we deliberately choose the name ‘Client Success’, versus the more commonly used ‘customer service’. This team is not simply there to ‘service’ the product, their role is to deeply understand the needs of your programs to ensure you get the best solution possible. Our clients tell us time and again that they are happy we didn’t build what they asked for, but by understanding their programs we delivered what they needed. In other words, we partner with the client to ensure they get the best of both worlds from the Conservation of Complexity.
It is this combination of a versatile platform and the expertise of our Client Success Team that sets us apart. Taking into account the Conservation of Complexity and Consumerization of IT, it is clearly not enough to embrace the latest technology without understanding the methodology behind it. Naively attracting millennials with giving programs and new technology may result in added complexity if you fail to leverage these principles.