Analytics header

Thursday, May 23, 2024

Taming the Lone Wolf: How to Avoid a Custom Monolith

The Perils of the Custom Monolith

Imagine a tightly packed toolbox – everything you need, but jammed together. Changes become risky domino effects. Deployments are slow and cumbersome. Scaling? Forget about it. Combine this with a single person heroically building a massive, all-encompassing solution or application that the operations is critically dependent on - we have all experienced it. This is called a "custom monolith".

Image

While the effort and dedication of the lone wolf is admirable and commendable, this "custom monolith" approach usually ends up being expensive and risky to unravel. The custom monolith situation is typically more likely to happen with tools and platforms that offer a democratized approach. Its not only modern platforms that this pertains to, I have seen this phenomena with SCADA/HMIs, Access, MatLab, Quickbase, Retool, Tulip, etc., and of course the beloved Excel (or any spreadsheet).  

With the advent of no-code/low-code platforms that are fast becoming the norm in digital transformation the custom monolith phenomena is happening more often and faster. After all that is one of the characteristics of digital technology - order of magnitude faster. Its both a blessing and a curse, we all love the early adopter - the person who embraces the technology and creates the initial value for all. But then that initial solution grows and becomes an unwieldy custom monolith that only that person knows how to tame. Even more problematic is that the aura of the custom solution is that its complex and has a narrow scope. It can critically stall your digital transformation by alienating the platform, where people are fearful that they can't master the technology and dismissive of its relevancy to their other use cases. 

I have experienced countless times where customers bring in other technologies to solve a problem that their existing no-code platform excels in because it was used for one specific use case solved by a custom monolith. In one example a solution was built for inventory replenishment of manual assembly lines that became a big money saver for the company. The solution was built on a no-code platform and grew in scope to cover more and more lines such that it was intricate and complex - of course by one person. This was touted as a great success story in the companies digitalization journey but on the flip side shoehorned the digital platform to be an "inventory replenishment" system. When I visited the facility I noticed another technology being used for digital work instruction, which was a core capability of the digital platform. When I inquired about their choice of technologies the process engineers said; "well the platform is an inventory solution and we needed work instructions". They then added; "the technology we choose did not require the lone-wolf's [reference to the person who built the inventory solution] level of expertise". This was a clear case of a complete stall in technology adoption because of the "custom monolith" phenomena.

Breaking Free: Fostering Collaboration and Adoption

So how do we avoid these situations, and more importantly how do we setup of successful adoption of democratized digital technologies? The key is to divert the early adoption motion into a sustainable broad citizen development motion and thus prevent a lone wolf situation. Here are a few things to consider:
  • Teamwork Makes the Dream Work
    Don't let one person become an island. Start building a community of citizen developers with a diverse backgrounds from all over the company. A culture of collaboration fosters peer reviews, knowledge sharing, and a sense of shared ownership. This is kind of obvious but sometimes hard to realize. 

  • Embrace Shared Content
    The community should have a common collaboration hub, a center of excellence that they can use to network and share content. Establish clear guidelines for how to use the digital platform including selected use cases, content development practices, template, data structures, and integrations. This creates a foundation for future content developers to build upon, preventing them from becoming an unmaintainable labyrinth.

  • Communication is Key
    Regular discussions about content goals, relevant use cases, technical roadblocks, and future features are crucial. This keeps everyone on the same page and helps identify opportunities to break down the monolith into smaller, more manageable pieces. It is also critical to establish a set of rules about what makes for good vs bad content - specifically around monolithic vs composable solution. These rules should be made part of the culture so that people regularly discuss content based on them.

  • Governance
    Regular evaluation and discussions about goals, content effectiveness, solution value, technical roadblocks, and future features are crucial. Create an internal a process where content can be vetted and then shared for reuse across the company. Establish simple rules about how to create libraries of content, how to manage this content and how to disseminate it. Establish a simple but effective set of principles that define teamwork, use and development of shared content and communication, ie the combination of the key points listed above. 

Accelerated Digital Transformation

It sometimes goes unnoticed - by spreading the effort of building digital content broadly in an organization you essentially crowdsource your digital transformation. Done right this is an immense force that can accelerate your digital transformation beyond anything that you may have imagined. Of course managing and guiding this force is not trivial and requires strong leadership, effective governance and clear strategic objectives.