Photo by Markus Spiske on Unsplash
Our industry is rife with trendy technologies such as clouds, microservices, digital experience platforms, AR/VR, and voice interfaces. We’re faced with trendy processes such as Agile, lean startup, and design thinking. And if you listen to some experts you would think that we have reached the final stage of advancement and these technologies and processes are all we need to be successful. Yet years ago our industry felt the same way about things like EJBs, UML, client server, structured waterfall and the like.
In their time, none of these were bad in and of themselves, but the collective hopping on the bandwagon that happens with each wave creates a potential for missing the actual benefit of the advances and often leads to organizations serving the means rather than serving their business. This behavior manifests in comments such as “that’s a bad requirement because it doesn’t fit our architecture”, “that’s not good storytelling”, “that design breaks the conversational interaction”, and “that’s not Agile!” In fact, we as an industry can become very dogmatic around the means as if that is our purpose rather than them merely being tools for solving problems.
Said another way, all technologies, platforms, techniques, methodologies, etc. are simply tools or means for solving different kinds of problems. If we don’t know what problem we’re trying to solve with them, we won’t be effective.
Peter Senge, in his book The Fifth Discipline, said “In the absence of great dreams, pettiness prevails.” Said another way, if we don’t have a measuring stick for checking the value of our work, all things are equal and decision making becomes arbitrary.
Going deeper, if we decide we’re going to “implement a DXP”, “do Agile”, or “do Design Thinking” without understanding why, how do we know if we’ve done it correctly? In the absence of an actual business problem we’re trying to solve it’s hard to actually measure the value of what we’ve done. Which is why we as leaders should embrace the following principle:
In other words, we need to remember that we are solving problems for our business and for our customers, and that ultimately our approaches, be they process, technology, technique, etc., only have value when they achieve an end.
In the digital world, and perhaps especially at large companies, team members can feel distant from the overall value of the company we work for, so we focus on what we can control to make our lives interesting. However, I believe that feeling that our work is well-aligned with the overall success of the companies we work for is a very rewarding feeling and provides the greatest motivation for our teams.
Putting this into practice means understanding that our business needs don’t serve our architectures, our design methodologies, our internal approval processes, but rather that all of those should be wired to enable us to achieve something great.
Each of the approaches mentioned at the start are (or were) good at solving specific problems and were considered the modern approach in their time, but “modernizing” in and of itself is not an end. “Modernizing” doesn’t give us guidance into how to best leverage a digital experience platform, Agile or whatever the next wave will be. Understanding the end goals - be it organizational agility, horizontal scalability to minimize downtime at high loads, easy accessibility for the vision impaired, or some other need, will help us make better decisions on how to approach our work.
If we can understand when we should and shouldn’t use new practices, methods, and technologies, how they better solve problems than past approaches, and how to apply them to solve problems facing our companies, we will be able to make the right decisions.
Note: a different version of this article appears in 97 Things Every Engineering Manager Should Know
Seth is the CTO at Bounteous where he sets the technical strategies for both his firm and his clients, and where he coaches technical and non-technical leaders.