Saturday, May 22, 2021

Theory of Change

Ning Wang

A major product revision is pushed out, touted as a vast improvement over previous product. The old product is no longer supported, requiring users to migrate to the new product.  It turns out to be a spotty improvement on a few esoteric technical things that maybe some engineers are cool with.  For everything else it's buggy, slow, and makes life hell for users of the previous version.  Eventually after years of painful customization, setting adjustment, bug detection, patching and hot fixing, the product finally becomes useable for end users.  

Time for another major version.  You have no choice in this.  The old version is out of date, expiring, no longer supported.

It's a guarantee that the product you are using, and may even have become accustomed to will be improved before you are ready for it, probably even against your will.  None of it is up to you.  Not the impetus to overhaul it.  Not the aspects of it that are overhauled or what happens to the parts you have come to rely on.  Not the quality of the upgrade.  Not what's new and in the way and not what's swiped from you.  You can't predict what's in store for you.  But one thing you can be sure of is that it will work nothing like it did in the demonstration that warned you it was coming. and that it will make life difficult for you for some time to come.

And you can be sure that after years of hot fixes patches and updates to repair what it broke (often breaking something else that has to be patched in the process), it will eventually reach a point where you are comfortable with it.  And then it's time for another major version.  After generations of repetition of this cycle of regenesis, new versions may never reach a State of Goodness, but in comparison to the threat of what is to come, usefulness can come to be seen as a relative term.

Why does this happen?  Why when the product that you use from day to day approaches utility is it swapped out for a new and improved version that takes everything back to zero.  This is partly the fault of those who administer the new software that you use. It was on them to map everything you relied on in the old reliable system to some assumed counterpart in the alien tongue of the useless new system.  Given the massive complexity of the task they have, as often unwitting ambassadors of the "revolution" you all are being subjected to, they can surely be somewhat forgiven for not identifying (or for identifying and de-prioritizing) every thing that you find missing on day one of the rollout.  But they are as much victims of this as you are.  It was just their burden first.

If you trace it back to the software company, you will probably be surprised to discover that there too, the employees on the front line are not the perpetrators of this misery, but merely the earliest victims of it.  They too were just getting into the swing of things when the new direction of the company pulled the rug from under them.   No the problem lies in the decision of the executives of the software company to declare the obsolescence of the first version.  The feelings on the part of the designers, programmers, users of the product is immaterial.  

There is a custom of software companies to recruit a "user community" to identify areas of the current version that need improvement.  Sounds democratic, but in practice, these are not the users who will be subjected to the change.  This is not really even a community. It's more like a league of nations, of firms with different cultures, different needs, different experiences, different competencies, all competing to get items they were tasked to bring to the table, each reflecting their idiosyncratic whims and tastes, represented in the list of enhancements of the current version.  And it does give credence and form to the rationale for creating a new version to subject everyone to.  But could the "user community" say, "Don't create a new version! Fix this one!  Then leave it alone!"?  No, they could not.  Because their very reason for being is to determine what's in the next version.

It's a bit crazy.  It's ass backward.  But the reason for being of the software company is not the version they sell that sets the ball in motion for their latest victims, but the Version That's Coming That Will Make the Version You're Using Obsolete!   It's a change machine.  No one questions the wisdom of this because that's how it is.  

If you trace it back even further you could blame the business schools where the starters of the company learned their trade.  Change that no one asked for is a driver of our economic system.  The executives of the firms that use the software are steeped in it too.  They're not going to be caught out paying good money for old software.  But it is also a driver of our political system because those guys come from the same places. The people we send to our legislatures are our "user community". Their mission is to keep the wheels of government going which is going to involve the passage of bills and the formation of committees to study the feasibility of convening to discuss the establishment of commissions.  The mission of government is not to improve what we have but to keep the sausage coming.   It's why we get Modifications to Code 14c, and Condemnations of Acts of War and Anti-BDS legislation and Exemptions of Nursing Homes from Liability for Cost Cutting during Pandemics, and State Flowers, but we don't get Universal Healthcare.

No comments:

Post a Comment