Showing posts with label software development. Show all posts
Showing posts with label software development. Show all posts

Wednesday, July 25, 2018

Reading New Thoughts: Haskel and Westlake’s Capitalism Without Capital, and the Distorting Rise of Intangible Assets


Disclaimer:  I am now retired, and am therefore no longer an expert on anything.  This blog post presents only my opinions, and anything in it should not be relied on.
In my view, Haskel/Westlake’s “Capitalism Without Capital” is not so much an argument that the increasing importance of “intangible assets” constitutes a new and different “intangible economy”, as strong evidence that the ever-increasing impact of software means that a fundamental idea of economics – that everything can be modeled as a mass of single-product manufacturers and industries – is farther and farther from the real world.  As a result, I would argue, measures of the economy and our well-being based on those assumptions are increasingly distorted.  And we need to do more than tweak our accounting to reflect this “brave new world”.  
First, my own brief “summary” of what Haskel/Westlake say.  They start by asserting that present-day accounting does not count intangible company investments like software during development, innovation property such as patents and R&D, and “economic competencies” such as training, branding, and business-process research.  In the case of software development, for example, instead of inventory that is capitalized and whose value is represented at cost until sold, we typically have expenses but no capitalized value right up until the software is released and sold.  A software company, therefore, with its continual development cycle, appears to have zero return on investment on a lot of its product portfolio.
Haskel/Westlake go on to argue that a lot of newer companies are more and more like software companies, in that they predominantly depend on these “intangible assets.”  The new breed of company, they say, has key new features:

1.       “sunk costs” – that is, you can’t resell development, research, or branding to get at its monetary value to you.

2.       “spillovers” – it is exceptionally easy for others to use your development-process insights and research.

3.       “scalability” – it requires relatively little effort and cost to scale usage of these intangible assets from a thousand to a million to a billion end users.

4.       “synergies” – research in various areas, software infrastructure, and business-process skills complement each other, so that the whole is more than the sum of the value-added of the parts.

5.       “uncertainty” – compared to, say, a steel manufacturing firm, the software company has far more potential upside from its investments, and often far more potential downside.

6.       “contestedness” – such a company faces much greater competition for control of its assets, particularly since they are so easy to use by others.

Finally, Haskel/Westlake say that, given their assumption that “intangible companies” make up a significant and growing part of the global economy, they already have significant impacts on that economy in particular areas:

·         “Secular stagnation” over the last decade is partially ascribed to the increasing undervaluing of these companies’ “intangible assets”.

·         Intangible companies increase income inequality because they function best with physical communication by specialized managers in cities.

·         Intangible companies are under-funded, because banks are not well suited to investing without physical capital to repossess and resell.  Haskel/Westlake suggests that greater use of equity rather than loans is required, and may be gotten from institutional investors and by funding collaborating universities.

·         Avoiding too much failure will require new business practices as well as new government encouragement, e.g., via better support for in-business control of key intangible assets (clear intangible-asset ownership rules) or supporting the new methods of financing the “intangible companies.”

It’s the Software, Sirs


Let’s look at it a different way.  Today’s theories of economics grew out of a time (1750-1850) when large-scale manufacturing was on the rise, and its microeconomics reflects that, as does the fact that data on economic performance (e.g., income) comes from surveys of businesses, which is then “adjusted” to try to include non-business data (trade and reconciling with personal income reports).  From 1750-about 1960, manufacturing continued to increase as a percentage of overall economic activity and employment, at the expense of farming.  From 1960 or so, “services” (ranging from hospitals to concierges) began to carve into that dominance, but all those services, in terms of jobs, could still be cast in the mold of “corporation that is mostly workers producing/dealing with customers, plus physical infrastructure/capital”. 
Now consider today’s typical large software-driven company.  Gone is the distinction between line and staff.  Manufacturing has shrunk dramatically as a share of economic activity, both within the corporation and overall.  Bricks and mortar is shrinking.  Jobs are much more things like developers (development Is not manufacturing nor engineering but applied math), marketers/branders, data scientists (in my mind, a kind of developer), help desk, Internet presence support.  The increased popularity of “business agility” goes along with shorter careers at a particular company, outsourcing, intra-business “services” that are primarily software (“platform as a service”, Salesforce.com).  Success is defined as control over an Internet/smartphone software-related bottleneck like goods-ordering (Amazon), advertising (Google), or “apps” (Apple). 
Now consider what people are buying from these software-driven firms.  I would argue that it differs in two fundamental ways from “manufacturing” and old-style “services”:

1.       What is bought is more abstract, and therefore applicable to a much wider range of products.  You don’t just buy a restaurant meal; you buy a restaurant-finding app.  You don’t just browse for books; you browse across media.  What you are selling is not a widget or a sweater, as in economics textbooks, but information or an app.

2.       You can divide up the purposes of buying into (a) Do (to get something done); (b)  Socialize/Communicate, as in Facebook and Pinterest; and (c) Learn/Create, as in video gaming and blog monetization.  The last two of these are really unlike the old manufacturing/services model, and their share of business output has already increased to a significant level.  Of course, most if not all software-driven companies derive their revenues from a mix of all three.

The result of all this, in economic terms, is complexity, superficially masked by the increased efficiency.  Complexity for the customer, who narrows his or her gaze to fewer companies after a while.  Complexity for the business, whose path to success is no longer as clear as cutting costs amid stable strategies – so the company typically goes on cutting costs and hiring and firing faster or outsourcing more in default of an alternative.  Complexity for the regulator, whose ability to predict and control what is going on is undercut by such fast-arriving devices as “shadow banking”, information monopolies, and patent trolling.
In other words, what I am arguing for is a possible rethinking of macroeconomics in terms of different microeconomic foundations, not the ones of behavioral economics, necessarily, but rather starting from the viewpoint “what is really going on inside the typical software-driven corporation” and then asking how such a changed internal world will reflect back to the overall economy, how macroeconomic data can capture what is going on, and how one can use the new data to regulate and anticipate future problems better.
John LeCarre once said that the key problem post-Cold-War was how to handle the “wrecking infant” – here he was referencing an amoral businessman creating Third-World havoc, although you can translate that to the situation in the US right now.  The software-driven business, in terms of awareness of what to do, is a bit of a wrecking infant.  If it isn’t helped to grow up, the fault will not lie solely in our inability to anticipate the distorting rise of intangible assets, its side-effect, but also in our failure to deal adequately with its abstraction, new forms of organization and revenue, and complexity.

Thursday, May 3, 2018

Perhaps Humans Are One Giant Kluge (Genetically Speaking)

Disclaimer:  I am now retired, and am therefore no longer an expert on anything.  This blog post presents only my opinions, and anything in it should not be relied on.
Over the past year, among other pastimes, I have read several books on the latest developments of genetics and the theory of evolution.  The more I read, the more I feel that my background in programming offers a fresh perspective on these developments – a somewhat different way of looking at evolution. 
Specifically, the way in which we appear to have evolved to become various flavors of the species Homo sapiens sapiens suggests to me that we ascribe far too much purpose to our evolution of various genes.  Much if not most of our genetic material appears to have come from a process similar to what, in the New Hacker’s Dictionary and more generally used computer slang, is called a kluge.
Here’s a brief summary of the definition of kluge in The New Hacker’s Dictionary (Eric Raymond), still my gold standard for wonderful hacker jargon.  Kluge (pronounced kloodj) is “1.  A Rube Goldberg device in hardware/software, … 3.  Something that works for the wrong reason, … 5. A feature that is implemented in a ‘rude’ manner.”  I would add that a kluge is just good enough to handle a particular case, but may include side effects, unnecessary code, bugs in other cases, and/or huge inefficiencies. 

Our Genes as a Computer Program

(Note: most of the genetics assertions in this post are plundered from Adam Rutherford’s “A Brief History of Everyone Who Ever Lived”)
The genes within our genome can be thought of as a computer program in a very peculiar programming language.  The primitives of that language are proteins with abbreviations A, G, C, and T.  The statements of the language, effectively, are of form IF (state in the cell surrounding this gene is x AND gene has value y THEN (trigger sequence of chemical reactions z, which may not change the state within the cell but does change the state of the overall organism).  Two peculiarities:
1.       All these gene “statements” operate in parallel (the same state can trigger several genes).
2.       The program is more or less “firmware” – that is, it can be changed, but over short periods of time it isn’t. 
Obviously, given evolution, the human genome “program” has changed – quite a lot.  The mechanism for this is mutation:  changes in the “state” outside an instance of DNA that physically change A, G, C, T, delete or add genes, or change the order of the genes in one side of the chromosome or the other.  Some of these mutations usually occur within the lifetime of an individual, during the time when cells carry out their programmed imperatives to carry out tasks and subdivide into new cells.  Thus, one type of cancer (we now know) is caused when mutation deletes some genes on one side of the DNA pairing, resulting in deletion of the statement (“once the cell has finished this task, do not subdivide the cell”).  It turns out that some individuals are much less susceptible to this cancer because they have longer chains of “spare genes” on that side of the DNA, so that it takes much longer for a steady statistically-random stream of deletions to result in statement deletion.

Evolution as an Endless Series Of Kluges

Evolution, in our computer-program model, is new (i.e., not already present somewhere in the population of the species) mutations.  The accepted theory of the constraints that determine what new mutations prosper over the long run is natural selection. 
Natural selection has been approximated as “survival of the fittest” – more precisely, survival of genes and gene variants because they are the best adapted to their physical environment, including competitors, predators, mates, and climate, and therefore are most likely to survive long enough to reproduce and out-compete alternative mates.  The sequencing of the human genome (and that of other species) has given us a much better picture of evolution in action as well as human evolution in the recent past.  Applied to the definition of natural selection, it suggests somewhat different conclusions:
·         The typical successful mutation is not the best for the environment, but simply one that is “good enough”.  An ability to distinguish ultraviolet and infrared light, as the mantis shrimp does, is clearly best suited to most environments.  Most other species, including humans, wound up with an inability to see outside the “visible spectrum.”  Likewise, light entering the eye is interpreted at the back of the eye, whereas the front of the eye would be a better idea.
·         Just because a mutation is harmful in a new environment, that does not mean that it will go away entirely.  The gene variant causing sickle-cell anemia is present in 30-50% of the population in much of Africa, the Middle East, the Philippines, and Greece.   Its apparent effect is to allow those who would die early in life from malaria to survive through most of the period when reproduction can happen.  However, indications are that the mutation is not disappearing fast if at all in offspring living in areas not affected by malaria.  In other words, the relative lack of reproductive success for those afflicted by sickle-cell anemia in the new environment is not enough to eradicate it from the population.  In the new environment, the sickle-cell anemia variant is a “bug”; but it’s not enough of a bug for natural selection to operate.
·         The appendix serves no useful purpose in our present environment – it’s just unnecessary code, with appendicitis a potential “side effect”.  There is no indication that the appendix is going away. Nor, despite recent sensationalizing, is red hair, which may be a potential side effect of genes in northern climes having less need for eumelanin to protect against the damaging effects of direct sunlight.
·         Most human traits and diseases, we are finding, are not determined by one mutation in one gene, but rather are the “side effects” of many genes.  For example, to the extent that autism is heritable (and remembering that autism is a spectrum of symptoms and therefore may be multiple diseases), no one gene has been shown to explain more than a fraction of the heritable part.
In other words, evolution seems more like a series of kludges:
·         It has resulted in a highly complex set of code, in which it is very hard to determine which gene-variant “statement” is responsible for what;
·         Compared to a set of genes designed from the start to result in the same traits, it is a “rude” implementation (inefficient and with lots of side-effects), much like a program consisting mostly of patches;
·          It appears to involve a lot of bugs.  For example, one estimate is that there have been at least 160,000 new human mutations in the last 5,000 years, and about 18% of these appear to be increases in inefficiency or potentially harmful – but not, it seems, harmful enough to trigger natural selection.

Variations in Human Intelligence and the Genetic Kluge

The notion of evolution as a series of kluges resulting in one giant kluge – us – has, I believe, an interesting application to debates about the effect of genes vs. culture (nature vs. nurture) on “intelligence” as measured imperfectly by IQ tests. 
Tests on nature vs. nurture have not yet shown the percentage of each involved in intelligence variation (Rutherford says only that variations from gene variance “are significant”).  A 2013 survey of experts at a conference shows that the majority think 0-40% of intelligence variation is caused by gene variation, the rest by “culture”.  However, the question that has caused debate is how much of that gene variance is variance between individuals in the overall human population and how much is variance between groups – typically, so-called “races” – each with its own different “average intelligence.” 
I am not going to touch on the sordid history of race profiling at this point, although I am convinced it is what makes proponents of the “race” theory blind to recent evidence to the contrary.  Rather, I’m going to conservatively follow up the chain of logic that suggests group gene variance is more important than individual variance. 
We have apparently done some testing of gene variance between groups.  The second-largest variance is apparently between Africans (not African-Americans) and everyone else – but the striking feature is how very little difference (compared to overall gene variation in humans) that distinction involves.  The same process has been carried out to isolate even smaller amounts of variance, and East Asians and Europeans/Middle East show up in the top 6, but Jews, Hispanics, and Native Americans don’t show up in the top 7. 
What this means is that, unless intelligence is affected by one or only a few genes falling in those “group variance” categories, most of the genetic variance is overwhelmingly likely to be individual.  And, I would argue, there’s a very strong case that intelligence is affected by lots of genes, as a side-effect of kluges, just like autism.
First, over most of human history until the last 250 years, the great bulk of African or non-African humans have been hunters or farmers, with no reading, writing, or test-taking skills, and with natural selection for particular environments apparently focused on the physical (lactose tolerance for European cow use) rather than intelligence-related (e.g., larger brains/new brain capabilities).  That is, there is little evidence for natural selection targeted at intelligence but lots for natural selection targeted at other things. 
Second, as I’ve noted, it appears that in general human traits and diseases usually involve large numbers of genes.  Why should “intelligence” (which, at a first approximation, applies mostly to humans) be different?  Statistically, it shouldn’t.  And as of yet, no one has been even able to find one gene significantly connected to intelligence – which again suggests lots of small-effect genes.
So let’s imagine a particular case.  100 genes affect intelligence variation, in equal amounts (1% plus or minus).  Group A and Group B share all but 10 genes.  To cook the books further, Group A has 5 unique plus genes, and Group B 5 unique minus genes (statistically, they both should have equal amounts plus and minus on average).  In addition, gene variance as a whole is 50% of overall variation.  Then 10/95 of the genetic variation in intelligence (about 10.5%) is explained by whether an individual is in Group A or B. This translates to 5.2% of the overall variation being due to the genetics of the group, 44.8% being due to individual genetic variation, and 50% being due to nurture.
Still, someone might argue, those nature vs. nurture survey participants have got it wrong:  gene variation explains all or almost all of intelligence variation.  Well, that still means that nurture has 5 times the effect that belonging to a group does.  Moreover, under the kluge model, the wider the variation between Race A and Race B, between, say, Jewish-American and African-American, THE MORE LIKELY IT IS THAT NURTURE PLAYS A LARGE ROLE.  First of all, “races” do not correspond at all well to the genetic groups I described earlier, and so are more likely to have identical intelligence on average than the groups I cited.  Second, because group variation is so much smaller than individual variation, group genetics is capable of much less variation than nurture (0-10.5% of overall variation, vs. 0-100% for nurture).  And I haven’t even bothered to discuss the Flynn Effect, which is increasing intelligence over time, equally between groups, far more rapidly than natural selection can operate – a clear indication that nurture is involved.
Variation in human intelligence, I say, isn’t survival of the smartest.  It’s a randomly distributed side effect of lots of genetic kluges, plus the luck of the draw in the culture and family you grow up in.

Friday, March 2, 2018

The Transition From Agile Development to the Agile Organization Is Beginning to Happen


Disclaimer:  I am now retired, and am therefore no longer an expert on anything.  This blog post presents only my opinions, and anything in it should not be relied on.
Recently, new publications from CA Technologies via Techtarget arrived in my in-box.  The surveys mentioned in them confirmed to me that the agile organization or agile business is beginning to be a Real Thing, not just vendor hype. 
Five years ago, I wrote but did not publish a book on the evidence of agile development’s benefits and implications for creation of a truly agile business or other organization.  Now, it appears not only that the theoretical foundation has been laid for implementation at least of agile processes in every major department of the typical business, but also that a significant subset of businesses now think that they have at implemented agile according to that foundation across pretty much all of the enterprise – yes, apparently in a few cases including legal (what does legal-department agility mean?  I have no idea, yet).
So what are the details of this evidence?  And what benefits of an agile organization seem to be proving themselves?

The Solid Foundation of Agile-Development Benefits

It is now approaching a truism that agile development delivers benefits compared to traditional software-development approaches.  My own survey during my brief re-up at Aberdeen Group 9 years ago suggested improvements in the 20-30 % range for project cost and speed, product quality, and customer satisfaction (with the obvious implication that it also decreased product-development risk by around that amount, as Standish Group studies also showed).  One striking fact was that it was achieving comparable results when compared to traditional approaches focused on cost and/or quality.
One CA pub (“Discover the Benefits of Agile:  The Business Case for a New Way to Work) extends these findings to agile development plus agile project management.  It says that a “summary of research” finds that agile delivered 29 % improvements in cost, 50 % in quality, 97 % in “productivity” (something like my “speed”), 400 % (!) in customer satisfaction, 470 (!!) in ROI (a proxy for revenue and profit), compared to the “least effective” traditional approaches. 
While this may sound like cherry-picking, my research showed that the most effective traditional approaches were not that much better than the least effective ones.  So I view this CA-cited result as the “practice effect”:  experience with agile development has actually increased its advantage over all traditional approaches – in the case of customer satisfaction and profitability, by really large amounts.

The Theoretical Case For Business Agility

Note, as I did back when I did my survey, that agile development often delivers benefits that show up in the top and bottom line of the success-critical-software-developing business, even before the rest of the organization attempts to go agile.  So why would it be important to go the rest of the way and make most or all of the organization agile?
The CA pub “The State of Business Agility 2017” plus my own work suggest that potential benefits of “agile beyond software development” fall into three areas: 
1.      Hard-nosed top and bottom line benefits:  That is, effects on revenue, cost, and margin (profit).  For example, better “innovation management” via agile project management goes to the top line and eventually to the bottom line, and in some cases can be measured.
2.      “Fuzzy” corporate benefits, including competitive advantage, quality, customer satisfaction, speed to act and change strategies, and reduction in negative risks (e.g., project or IT-infrastructure failures) and “fire drills”.
3.      “Synergy” benefits stemming from most of the corporation being on the same “agile page” with coordinated and communicating agile processes, including better collaboration, better/faster employee strategy buy-in, better employee satisfaction through better corporate information, and better “alignment between strategy and execution.”
The results of the CA business-agility pub survey suggest that most respondents understand many but not all of these potential benefits before they take the first step towards the agile business.  I would guess, in particular, that they don’t realize the possible positive effects on combating “existential risks”, such as security breaches or physical IT-infrastructure destruction, as well as the effects on employee satisfaction and better strategy-execution alignment.

The Extent of Agile Organizations and Their Realized Benefits

Before I begin, I should note two caveats about the CA-reported results.  The first is that respondents are in effect self-selected to be farther along in agile-organization implementation and more positive about it.  These are, if you will, among the “best and the brightest.”  So actual agile-organization implementations “on the ground” are certainly far less than the survey suggests.
Second, CA’s definition of “agile” leaves out an important component.  CA’s project-management focus makes part of its definition of agility to be holding time and cost in a project constant while varying project scope.  What that really means is that CA de-emphasizes the ability to make major changes in project aims at any point in the project.  In the agile-organization survey, this means an entire lack of focus on the ability to incrementally (and bottom-up!) change a strategy rather than just roll out a whole new one every few years.  And yet, “more agile” strategy change is at the heart of agility’s meaning and is business agility’s largest long-term potential benefit.
How far are we towards the agile organization?  By some CA-cited estimates, 83% of all businesses have the first agile-development step at least in their plans, and a majority of IT projects are now “agile-centric.”  Bearing in mind caveat (1) above, I note that 22% of CA-survey respondents say they are just focused on extending “agile” to IT as a whole, 17% are also working on a plan for full business agility, 19% have gotten as far as organizational meetings to determine agility-implementation goals, and 39% are “well underway” with rollout.  Ignoring the question about “momentum” in partial departmental implementations for a moment, I also note that 47 % say IT is agile, 36% that Project Management is, and marketing, R&D, operations/manufacturing (are they counting lean methodologies as agile?), and sales (!) are a few percentage points lower. 
Getting back to partial implementation, service/support seems to be the “new frontier.”  Surprisingly, corporate communications/PR is among the laggards even in implementation, along with accounting/finance, HR, and legal.  What I find interesting about this list is that accounting and legal are even in the conversation, indicating that people really are planning for some degree of “agile” in them.  And, of course, the CEO’s agility isn’t even in the survey – as I said 9 years ago, the CEO is likely to be the last person in the organization to “go agile.”  Long discussion, not relevant here.
How about benefits?  In the hard-nosed category, agile organizations increase revenue 37% faster and deliver 30% greater profit (an outside survey).  For the rest of benefits, there is far less concrete evidence – the CA business-agility survey apparently did not ask what business benefits respondents had already seen from their efforts.  What we can deduce is that most of the 39% of respondents who said they were “well underway” believe that they are already achieving the benefits they already understand, including most of the “fuzzy” and “synergy” benefits cited above.

Implications:  The Cat Is In The Details

At this point, I would ordinarily say to you the reader that you should move towards implementing an agile business/organization, bearing in mind that “the devil is in the details.”  Specifically, the CA surveys note that the complexity of the business and cultural/political opposition are key (and the usual) problems in implementation.  And, indeed, this would be a useful thing to know.
However, I also want to emphasize that there is a “cat” in the details of implementation:  a kind of Schrodinger’s Cat.  In quantum physics, as I understand it, different states of basic particles (e.g., exists, doesn’t exist) are entangled until we disentangle them (e.g., by “opening the box” and measuring them).  Schrodinger imagined entangled states of “cat inside the box/no cat inside the box”, so that we wouldn’t know whether Schrodinger’s Cat existed until we opened the box.  In the same way, we not only don’t know what and how much in the way of benefits we get until we examine the implementation details, we won’t know just how really agile we are until we “open the box.”
Why does that matter?  Because, as I have noted above, the really big long-term potential benefit of business agility, is, well, agility:  The ability to turn strategically, instantly, on a dime and ensure the business’ long-term existence, as well as comparative success, much more effectively.  Just because some departments seem to be delivering greater benefits right now, that doesn’t mean you have built the basic infrastructure to turn on a dime.
And so, the cat is in the details.  Please open the box by testing whether your implementation details allow you to change overall business strategies fast, and then, if there is no cat there, what should you do?
Why, change your agile-implementation strategy, of course.  Preferably fast.