It’s often useful breaking down one big idea into subtypes. For tricky situations you need to unwind to solve. I find it useful to divide them into two types — for an easy mental model: the “complex” vs the “complicated.”
The “complex” can refer to intellectual challenges: situations under which you have a certain amount of information, and you need to make decisions with serious ramifications — decisions which can be seriously cognitively challenging to come to. How do you untie the Gordian Knot? Person X wants Thing Q, but Person Y wants the mutually exclusive Thing R. How do I satisfy everyone in a sustainable way?
The “complicated,” on the other hand, can refer to situations that may not be complex — it may be absurdly simple! — but you have to figure out some bizarre and esoteric process that may take lots of time, confusion, trial and error, and frustration. Think of it as figuring out how to do paperwork in a crazy nightmare of a bureaucracy, in which each desk just passes you along to another until finally you discover that, had you just used three staples instead of two when you stapled the paper together, and you just always bring notarized copies of every document starting with the Magna Carta, then you can get through the bureaucracy smoothly. It’s not hard to use three staples instead of two, even little kids can do that, but no one ever defines for you how this esoteric process works, and the meta-process of figuring it out is hard. The esoteric, after all, can never be acknowledged directly.
Good teams and good partners are strong at both sides. And one reason why here at UV we are fans of Couch & Associates, based in Toronto, is because, while strong at both sides, they were recently characterized to me by Mike Couch on a call with him, as such:
“We shine when complexity abounds and human issues are complex.”
While I often ask potential partners where their strength is, Couch’s answer stands strong (it shines!) for a few reasons.
The idiosyncrasies of individuals
The first is that human issues are a deeply underrated part of the management process, in all directions. You have to manage your client. Your team. (Your boss!) Your family. People, being people, have idiosyncratic issues that lead to project breakdowns. Good people often have different personalities and different preferences; I’ve seen various teams breakdown, for example, because one partner preferred direct, blunt criticism, while the other preferred to give criticism using euphemisms, ultimately leading to massive confusions as to what the real issues were — so you need to figure out how to give criticism to team members. Often not an easy task, especially when dealing with deeply talented people. Now, multiply this by thousands of such issues, for that’s just one pattern among many. Boy, oh boy, human nature is complex and oft I wish their algorithms were more straightforward! But there are clear and consistent patterns for how to deal with different situations to not just keep all wheels humming, but to keep them humming faster and faster and better and better. A great team that is being managed badly is likely to turn into a disaster for everyone.
Secondly, technological issues can get deeply complex as well. Just imagine some of the complex systems out there: how does Google show millions of ads per second and get each one targeted and priced almost perfectly! Now imagine needing to deal with a legacy integration for which there is no documentation. Or two key components in which an upgrade of one breaks the integration with another. Or a system that worked perfectly but upon scaling starts crawling and you have real-time, real-money users on the line. The work of the developer never ends!
When two systems meet
Third, when different types of systems (human, technological, or other systems, like legal systems) interact with each other, that’s when complexity really abounds, as well. Think about legal jurisdictions that are really under the control of multiple jurisdictions (Campione d’Italia: Italy or Switzerland?). What’s more complex than something fundamentally complex? When two different fundamentally complex systems meet each other! Imagine dealing with a sensitive legal issue that has ramifications for the subtle nuances of a software platform — say, regulations about the order in which a search algorithm should display its results. Now you need to master various disciplines and then mix them.
While there are many other types of complexity (I only mentioned legal complexity in passing to discuss the interaction of different complexities together), the delicate interaction between the human complexity, the tech complexity, and the intermingling of all different types of complexities together, is among the biggest challenges any consultant faces — and any client must keep in mind when choosing a consultant.
Work a level deeper…
In the conversation in which Couch made the comments that sparked the above thoughts, Couch made an offhand comment that serves to tie the various types of complexity together: “Our technological capabilities are typically sufficient for what we encounter; our experience is usually unnecessarily deep. Many of the challenges our customers experience are actually at a human and process level.”
A more generalized version of his observation is that a neat way to manage complexity is to ensure your experience, with that type of complexity, is always a level deeper than what is needed for the problem at hand. That’s when complex problems suddenly become simple — if only because you’ve solved comparable ones a bunch of times before.
This approach has a few advantages. On the personal level, I find it deeply fun to dive in deep; having memorized most of Alexander Pope’s “Essay on Criticism” long, long ago, I’m still fond of quoting his rhyme: “A little learning is a dangerous thing; drink deep, or taste not the Pierian spring.” Better, and more fun, is to dive deep — and if you don’t, better to not dive at all.
But beyond being more fun to dive deep, it’s safer. That’s why Pope used the phrase “a dangerous thing” to describe “a little learning.” Just think of the kid who knows how to turn the TV on and off but starts crying when he presses another button and it changes the channel and he can’t get it back. Or think of the developer who knows enough to go in and edit some PHP code in WordPress, but not enough to realize the unintended implications of that one edit, multiplied out.
…but not always: the UV synthesis
Here at UV, we try to balance this approach — assigning team members to projects on which they are deeply competent — with a bit of the opposite approach as well. The way for people to grow and improve is to work at things just slightly above their level. Not too much above their level — that’s when you get overwhelmed — but just challenging enough to be a problem you want to solve. In other words: given your level of experience, to always be working on things that, for you, are a bit… complex. You become an expert by dealing with tough issues, while standing side by side with world class people who are trying to solve those tough issues. And, like Couch’s team, UV prides itself on always teaching and training our team so that, while standing on the shoulders of giants, they themselves have the opportunity to grow into giants themselves. Should they choose to do so.
PS: UV is one of the world’s leading Salesforce Commerce Cloud (Demandware) integrators. Contact us to see how we can work together.