Give me a one-handed economist! All my economics say, ”On the one hand? on the other.”
Harry S. Truman
That was a frustrated U.S. president dealing with Economists on issues like balancing the budget or running deficits, raising or lowering taxes, spending more or spending less, each of those choices brings benefits and each of which has some dangerous downfalls.
The key to a successful economy is not making one choice vs. another but to rather find a balance, oh wait.. scratch that.. it is to “make a good guess” for a balance, apply it, monitor carefully and keep rebalancing.
These days I am going through the amazing and exhilarating experience of leading a team into deploying our first Big-Data solution (side note, I fully understand that the words data lake and big data for software now are as corny as taking walks by the beach for dating sites !).
In this experience we are trying to strike a balance between Agile methodology, and the existing (two speed) Enterprise, between Data and MicroServices, between Batches, Micro Batches and Data Stores, every thing we do is a learning experience, and being almost-agile meant a whole lot of learning and re-learning, for everybody, Developers, Managers, Tech Leads, Senior leadership and Customers.
As we are finally seeing success, great results signified by those smiles and “yaie” moments some times and deep sighs of frustrations some other times, I am sitting here reflecting a bit.
Almost every decision we took was a choice between alternatives, none of which was perfect (at least mostly), We had to do a good deal of spiking, specially in the early stages, even then, we sometimes took the best and sometimes the lesser of two evils, and at least in one case, that choice had to be revised down the road.
The conclusion ? and the reason for writing this blog is this, As software systems become more and more complex it is very dangerous to think that we have one answer for every question, we all need to stay ‘two handed’, as Architects we must
Understand that there are always alternatives.
Apply the role of 80/20, find a ‘good enough’ choice instead of chasing an illusive perfect choice.
Get something going quick, and monitor very carefully the results on users, operations and the whole enterprise ec-system.
Adjust accordingly, Adjust often.
Do not be afraid to change your views.
Trust your guts and experience, but keep listening to others.
As my volleyball coach used to say … “Stay Loose” .. eye on the ball and stay loose.
We live in some exciting times indeed.