eCommerce Strategy Consultant - Rick Watson - RMW Commerce Consulting

View Original

The "Micro" in MACH Means Independently Deployable, Lightweight, with Clear Interfaces

And one more: organized around business capabilities. But don't just take my word for it, this is directly from one of the reliable legends of software design: Martin Fowler, the guy who taught us all how to refactor code.

What I tend to see more and more in eCommerce are marketing campaigns written by non-developers, talking about what is and is not good design or over-designed. These items aren't moving us forward.

As a recovering software architect who grew up under the influence of the early days of Linux and Gang of Four Design Patterns, it's sometimes funny to see the distinction between all the different elements of eCommerce today: Composability, Pragmatic Composability, and Microservices. It used to be SOAP, REST, XML, and SOA that dominated discussions. Before that CORBA and COM. Before that OOP and RPC. Before that, proper module and library design.

The architecture wars will always be with us. I advise you to apply the proper amount of eye rolls to these discussions.


Technology's Role in Business Acceleration: A Pragmatic Approach

Let's start at the beginning though? Technology exists to accelerate the business. Full stop. Any technology that fails to do that will not last very long. Any technologist that cannot explain how they will help you achieve that while at the same time providing a stable, upgradable foundation for the future isn't the person you want to be buying software from.

In a broader context, architecture is not the sole criteria. It's only one element of a great solution. So is price. So is performance. So is control. So is ease of use. So is business efficacy.

Are all these criteria represented in your decision-making? Likely not. At least fully. Instead, I see things like:

  • Do we have this vendor under contract already? (how this is relevant, I still haven't figured out)

  • Did someone use this in a former job? (likely under a different size company, stage, and circumstance)

  • Is our discount big enough? (no discount is big enough for software which doesn't achieve your business objective)

Demystifying MACH: Debunking the "Box of Legos" Critique

Yet, to continue the focus on architecture for a moment... the common criticisms of MACH (the "box of legos" is the most oft-repeated) are as misguided as the systems that aim to poke holes in them. These "Goldilocks" architectures desire to thread the needle between "too fine-grained granularity" and "coarse-grained" monolithic services. It's a straw man.

Whenever we are talking about any kind of integrating a service-based architecture you must possess a technology team familiar with such things. Else, it's better to get something prepackaged and hope the bits you get welded together fit your needs.

For most of us, they are! After all, we all have technology in our lives that we have no use to upgrade the internals of. The more expensive the decision, the more you might want this flexibility.

Analyze and do what's right for you.


Expert Consulting: How Will You Grow Your eCommerce Company?

When growth is elusive, I am an expert at asking incisive questions to surface the real issues and then present straightforward ideas that your team can actually implement.

Mistakes are expensive. They cost money, of course. What’s worse is the opportunity cost. I work with investors and management teams worldwide to help them get a handle on their digital business plans to execute a clear path forward.


For more on Consulting, you might also like: