Demythologization: microservices

October 28, 2018

Everyone heard lots of harrowing stories about "how we/they tried and failed to harness microservices". The most typical (if not the only plausible) scenario of this play looks like this:

  • - Take a big, messy and non-maintainable monolithic product.
  • - Split it up into seemingly isolated (in reality, mutually dependent) chunks based on functional affinity.
  • - To make those chunks work "avec ensemble", add a great deal of synchronisation on top of the carefully preserved complexity of the dismembered monolith.
  • - Realize that replacing in-process communications with inter-process varieties doesn't untangle spaghetti code: in fact, it does the exact opposite.
  • - Admit with a weary sigh that the previous version wasn't so bad, after all.

The brutal truth about microservices – or most split-up-a-monolith types of redesign, for that matter – is that the only way to succeed in this endeavour is to apply DDD. The architects should stop thinking in layers ("data access", "business logic", "communication" etc.) and start thinking in bounded contexts ("user management", "ordering", "resource scheduling" etc.). In other words, it's not about decomposing the code, it's about reshaping the mindset.

...And that's far easier said than done. The comprehension of context boundaries requires deep subject matter expertise, and even this kind of expertise would suggest something blurred and constantly moving. There are no "academically sound" best practices, no reliable design patterns. The architects should rely on their extensive domain knowledge… not sure if that's the safest bet.

I'm also not sure if bounded contexts are more practical than the good old layered architecture. In particular, I really don't think BC's are more stable and maintainable. Those beautiful classic layers are based on time-proven principles that haven't changed since OS/360, while DDD is rooted in business processes that change all the time. Your understanding of "ordering" is very likely to change 10 times in the next 5 years – thus, altering the associated bounded contexts – but the database access logic, for example, will remain pretty much the same.

It'll probably sound a bit simplistic, but in my understanding, the famous "monolith vs. microservices" dilemma transforms into "computer science vs. subject matter expertise". What are you more comfortable with, dear Ms. and Mr. Software Architect? What would you prefer to master?

Demythologization: Minimum Viable Product

October 22, 2018

The grand delusion of the MVP cult is the notion that a skateboard can be developed into a scooter, a scooter can be transformed into a bicycle, a bicycle can be evolved into a motorcycle, and a motorcycle can be reshaped into an automobile. I guess everyone knows the famous internet meme I refer to.

It doesn't really work this way. A car is not a very advanced bike, it's not even a sum of very advanced bikes – it's a product that has pretty much nothing to do with a bike (yeah, a bike has wheels – and so does a pottery). If you want to develop a car, you'll have to develop a car right from the start. But if you want to follow this "skateboard+" path, you'll have only two options:

  • 1) at every step, you'll scrap the product you've just finished and start the new one from scratch,
  • ...or...
  • 2) you'll end up delivering a monstrous mishmash of skateboards, scooters, bicycles and motorcycles tied together with a rope, geared by a pure miracle, and falling apart every time you change something in it.

Option #1 is rather academic; nobody has resources for these exercises.
In real life, you'll always opt for #2. That's basically what your beloved MVP is about: a mishmash.

Home office in high demand

August 28, 2018

I love express polls in "20 Minuten". One of them just revealed what people think about home office. The question was worded like this: "would you switch to home office to avoid commuting?". When I last checked, more than 12'000 people responded, and that's how their answers were distributed:

  • - Yes, if I could: 36%
  • - That won't work in my job: 45%
  • - No, I need my colleagues: 9%
  • - Already doing it: 10%

If we ignore those who can't afford home office and those already doing it, the results will look like this:

  • - Want home office: 80%
  • - Don't want home office: 20%

No comment.

Home Office Umfrage

"Digital transformation" != "business model transformation"

August 26, 2018

University of St.Gallen hosted an interesting webinar "Digitale Transformation: Mit Geschäftsmodellinnovation den digitalen Wandel meistern" with Prof. Dr. Karolin Frankenberger (in German).

If you are monitoring the public discourse on digital transformation, you won't find anything particularly groundbreaking in this presentation; but if you are new to this subject, you'll surely come across some eye-openers. In any case, I'd recommend it to everyone because it offers a good summary of the most common collocations of "digital transformation" in managerial jargon.

What I find really noteworthy here is that Dr. Frankenberger equates "digital transformation" to "business model transformation". According to this approach, if you want to catch the wave of DT, you'll have to reshape at least two out of four business model dimensions (the Who, the What, the How, and the Value) explained on the 2nd page of this Working Paper. You'll also have to switch from sustainable to disruptive innovations, stop fighting for market share and focus on conquering the world ("the winner takes it all"), override ROI with moonshots, be agile... and so on. Indeed, Dr. Frankenberger made prolific use of her buzzword dictionary; she had even managed to lodge "blockchain" in her speech.

I think all that is a very dangerous misconception guaranteed to alienate people from the idea of digital transformation - mainly because it suggests that the price of DT is so high that doing it would be nothing short of suicidal. Redesign of the value proposition and transformation of the business model is perhaps the riskiest endeavors companies can undertake. So is digital transformation, according to Dr. Frankenberger. Companies will take these risks if the alternative is to go bust, but that's not exactly a typical situation. Typically, digital transformation is seen as an evolutionary step - but Dr. Frankenberger suggests to start a revolution. Revolution sells well in punk-rock but not in the corporate realm. Naturally, if you have a hammer (academic research into business models) everything looks like a nail (a model in need of transformation) to you. But we are dealing with extremely shock-averse nails here; don't blame them for not greeting your hammer with great enthusiasm.

In my opinion, digital transformation should not demand a change in the business model. Eventually, it will change it - but that will come later, as a result of some healthy evolution. DT should start internally, and it should focus on information flows inside the organization. If you don't know where to start - start with your virtual office, let people work remotely, stop seeing physical proximity as a prerequisite to productive communications. This simple, easily doable change will open a door to Narnia of new opportunities, and it will eventually transform your business model in a way that will make Dr. Frankenberger proud of you.

Going digital vs. going to office

August 6, 2018

"Digital culture development" is what everyone's obsessed with. The thing is, we are well past developing this culture; it's around us, just look at those millennials drowned in their smartphones. The only thing this culture needs is embracing. The ability to see that is the watershed between your digitalization's success and failure, in my experience. One example: home/virtual office. It's one of the cornerstones of a digital lifestyle. The technologies & products supporting it have been around for ages.

As long as you work with a computer, the level of productivity you can achieve with modern communication platforms is unheard of in the analog world. You can communicate with 5 colleagues, participate in 2 [useless] meetings and prepare slides for the 3rd [useful] one - all at the same time, while sitting at home, in a park, in a rifugio in the Verzasca valley... pretty much anywhere.

And the quantity of channels is not the only reason for the tremendous increase in productivity; it's also the quality. You don't need to answer immediately. In most cases, you can take your time and prepare a good answer. You can also block some (or all) of the channels for as long as you need to. And in any case, you don't have to be distracted by a bunch of your loquacious colleagues who happen to share an open-space office with you.

This notwithstanding, huge crowds of office workers elbow their way through horrible traffic every day, struggling to reach their overpopulated offices where a good half of them have no justifiable reason to be. Home office remains an exception or a favor. We are stuck in the 1990s.

I strongly believe that changing this component of culture will start an avalanche of other digital-ish changes - kind of automatically, without any additional efforts. We desperately need to make virtual office the default option, with other options requiring justifications and special permissions from fierce digitalization-watchdogs. Whether we can do that without some "digital Robespierre", I'm not sure.

When Darwinism fails you...

July 7, 2018

This is one of the world's favorite misquotations: "It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change." It is particularly obnoxious not because it's wrongly attributed to Darwin, but because it fosters misinterpretation of the most important tool of evolution. This tool is elimination, not adaptation.

Pop culture tends to see "evolution" as a generous and inventive giver that rewards an antelope with long & super-fast legs, thus letting it escape predators. But that's not how evolution works. It doesn't give a short-legged antelope longer legs, no matter how many personal effectiveness courses this creature attended, how many self-improvement books it studied, and how many motivational posters it copy-pasted on LinkedIn. Evolution calls a cheetah (the acclaimed author of "How to stop rambling and start galloping", "7 habits of fast running animals" and "The power of whoosh") who happily eliminates the slow antelope from the gene pool.

As much as I hate to report it, the only thing evolution can offer to a short-legged antelope is genocide. Therefore, every time you want to get inspiration from Darwinism and its devotees, make sure you have the longest legs in your herd. And if you don't, you might want to fine-tune your value system. I won't suggest to look more favorably upon Creationism: it does offer hope to short-legged antelopes, but only in exchange for a bunch of ancient nonsense, which is hardly a good bargain.

Perhaps refraining from following someone else's agenda and assessing your actual needs would be a reasonable starting point...

© 2018 AxioLogic GmbH. All rights reserved.