Posts Tagged ‘John Hagel III’
The Real Cost of One Trillion Dollars in IT Debt: Part II – The Performance Paradox
Some of the business ramifications of the $1 trillion in IT debt have been explored in the first post of this two-part analysis. This second post focuses on “an ounce of prevention is worth a pound of cure” aspects of IT debt. In particular, it proposes an explanation why prevention was often neglected in the US over the past decade and very possibly longer. This explanation is not meant to dwell on the past. Rather, it studies the patterns of the past in order to provide guidance for what you could do and should do in the future to rein in technical debt.
The prevention vis-a-vis cure trade-off in software was illustrated by colleague and friend Jim Highsmith in the following figure:
Figure 1: The Technical Debt Curve
As Jim astutely points out, “once on far right of curve all choices are hard.” My experience as well as those of various Cutter colleagues have shown it is actually very hard. The reason is simple: on the far right the software controls you more than you control it. The manifestations of technical debt [1] in the form of pressing customer problems in the production environment force you into a largely reactive mode of operation. This reactive mode of operation is prone to a high error injection rate – you introduce new bugs while you fix old ones. Consequently, progress is agonizingly slow and painful. It is often characterized by “never-ending” testing periods.
In Measure and Manage Your IT Debt, Gartner’s Andrew Kyte put his finger on the mechanics that lead to the accumulation of technical debt – “when budget are tight, maintenance gets cut.” While I do not doubt Andrew’s observation, it does not answer a deeper question: why would maintenance get cut in the face of the consequences depicted in Figure 1? Most CFOs and CEOs I know would get quite alarmed by Figure 1. They do not need to be experts in object-oriented programming in order to take steps to mitigate the risks associated with slipping to the far right of the curve.
I believe the deeper answer to the question “why would maintenance get cut in the face of the consequences depicted in Figure 1?” was given by John Seely Brown in his 2009 presentation The Big Shift: The Mutual Decoupling of Two Sets of Disruptions – One in Business and One in IT. Brown points out five alarming facts in his presentation:
- The return on assets (ROA) for U.S. firms has steadily fallen to almost one-quarter of 1965 levels.
- Similarly, the ROA performance gap between corporate winners and losers has increased over time, with the “winners” barely maintaining previous performance levels while the losers experience rapid performance deterioration.
- U.S. competitive intensity has more than doubled during that same time [i.e. the US has become twice as competitive – IG].
- Average Lifetime of S&P 500 companies [declined steadily over this period].
- However, in those same 40 years, labor productivity has doubled – largely due to advances in technology and business innovation.
Discussion of the full-fledged analysis that Brown derives based on these five facts is beyond the scope of this blog post [2]. However, one of the phenomena he highlights – “The performance paradox: ROA has dropped in the face of increasing labor productivity” – is IMHO at the roots of the staggering IT debt we are staring at.
Put yourself in the shoes of your CFO or your CEO, weighing the five facts highlighted by Brown in the context of Highsmith’s technical debt curve. Unless you are one of the precious few winner companies, the only viable financial strategy you can follow is a margin strategy. You are very competitive (#3 above). You have already ridden the productivity curve (#5 above). However, growth is not demonstrable or not economically feasible given the investment it takes (#1 & #2 above). Needless to say, just thinking about being dropped out of the S&P 500 index sends cold sweat down your spine. The only way left to you to satisfy the quarterly expectations of Wall Street is to cut, cut and cut again anything that does not immediately contribute to your cashflow. You cut on-going refactoring of code even if your CTO and CIO have explained the technical debt curve to you in no uncertain terms. You are not happy to do so but you are willing to pay the price down the road. You are basically following a “survive to fight another day” strategy.
If you accept this explanation for the level of debt we are staring at, the core issue with respect to IT debt at the individual company level [3] is how “patient” (or “impatient”) investment capital is. Studies by Carlota Perez seem to indicate we are entering a phase of the techno-economic cycle in which investment capital will shift from financial speculation toward (the more “patient”) production capital. While this shift is starting to happens, you have the opportunity to apply “an ounce of prevention is worth a pound of cure” strategy with respect to the new code you will be developing.
My recommendation would be to combine technical debt measurements with software process change. The ability to measure technical debt through code analysis is a necessary but not sufficient condition for changing deep-rooted patterns. Once you institute a process policy like “stop the line whenever the level of technical debt rose,” you combine the “necessary” with the “sufficient” by tying the measurement to human behavior. A possible way to do so through a modified Agile/Scrum process is illustrated in Figure 2:
Figure 2: Process Control Model for Controlling Technical Debt
As you can see in Figure 2, you stop the line and convene an event-driven Agile meeting whenever the technical debt of a certain build exceeds that of the previous build. If ‘stopping the line’ with every such build is “too much of a good thing” for your environment, you can adopt statistical process control methods to gauge when the line should be stopped. (See Using 3σ Control Limits in Software Engineering for a discussion of the settings appropriate for your environment.)
An absolutely critical question this analysis does not cover is “But how do we pay back our $1 trillion debt?!” I will address this most important question in a forthcoming post which draws upon the threads of this post plus those in the preceding Part I.
Footnotes:
[1] Kyte/Gartner define IT Debt as “the costs for bringing all the elements [i.e. business applications] in the [IT] portfolio up to a reasonable standard of engineering integrity, or replace them.” In essence, IT Debt differs from the definition of Technical Debt used in The Agile Executive in that it accounts for the possible costs associated with replacing an application. For example, the technical debt calculated through doing code analysis on a certain application might amount to $500K. In contrast, the cost of replacement might be $250K, $1M or some other figure that is not necessarily related to intrinsic quality defects in the current code base.
[2] See Hagel, Brown and Davison: The Power of Pull: How Small Moves, Smartly Made, Can Set Big Things in Motion.
[3] As distinct from the core issue at the national level.
The Friction of Agile
Everything is very simple in War, but the simplest thing is difficult. These difficulties accumulate and produce a friction which no man can imagine exactly who has not seen War… This enormous friction, which is not concentrated, as in mechanics, at a few points, is therefore everywhere brought into contact with chance, and thus incidents take place upon which it was impossible to calculate…
IMHO, this excerpt from On War applies exceptionally well to Agile roll-outs these days:
- Simplicity: The four principles of the Agile Manifesto are intuitively compelling. You could (and probably should) use them as the core definition of what Agile is all about. Likewise, you do not need more than a single hand-drawn matrix to illustrate how WIP limits in Kanban work. In contrast to various other terms used in development and IT – e.g. SOA – the conceptual power of Agile methods is easy to grasp.
- Friction: Assume you were building a company from scratch without any pre-conceived notions of the organizational constructs you would put in place. Assume as well that you were developing your organization with end-to-end Agile effectiveness in mind. You would probably devise a holistically integrated organization. For example, you might opt for an organizational design in which each level of the organization will include all functions relevant to Agile – R&D, IT, Marketing, Support, Sales etc. In other words, ideally you will not go for the traditional organizational design: a vertical R&D stove pipe, a vertical Marketing stove pipe, a vertical Sales stove pipe, etc. As in reality you are unlikely to get the charter to start with a clean sheet of paper, the friction arises in each and every point in which your end-to-end organizational design for Agile deviates from the traditional organizational constructs your company uses.
- Not concentrated: As Clausewitz points out, the friction of war is not mechanical friction – you can’t address it by pouring in a ‘organizational lubricant’ in just a few places. Flooding the whole organization with the lubricant is likely to create a morass in which all agility will be lost.
I recommend four principles to minimize the organizational friction of Agile, as follows:
- Acknowledge you accrued organizational debt: It is conceptually quite similar to accruing technical debt – various organizational decisions and compromises taken along the way were rushed to the extent that they leave much to be desired. The organizational constructs and practices that sprang out of these decisions need to be refactored.
- Carry out the organizational refactoring work from the outside to the inside: A truly holistic Agile design will incorporate customers and partners. Start with the way you will integrate them, thence apply this very same way to the integration of the organizational entities within your company.
- Build on the strengths of your core corporate culture: As pointed out by Drucker:
… culture is singularly persistent… changing [organizational] behavior works only if it can be based on the existing ‘culture’… [Drucker, 1991]
- Use modern corporate for the fundamental organizing principles. See Relational Networks, Strategic Advantage: New Challenges for Collaborative Control by Hagel, Brown and Jelinek for a good recent article on the subject.
Since the end of the Cold War, a fair amount of debate has taken place around the applicability of the friction of war principles to armed conflicts in the information age. The conclusion is of interest to both military personnel, Agile practitioners and IT professionals:
… while technological advances might temporarily mitigate general friction, they could neither eliminate it nor substantially reduce its potential magnitude.
Connecting the Dots: Operational Excellence, Strategic Freedom and the Pursuit of Passion
My recent post The Headlong Pursuit of Growth, and Its Aftermath applied insights from Toyota Motor Corporation to Agile methods. Among various lessons to be learned, the post highlighted the relationship between mechanism and policy:
Just like the Toyota Production System, your software method is a “vehicle” which is subject to policy decisions from above. It cannot, however, compensate for policy failures.
In other words, operational excellence in Agile methods is not a substitute for strategy/policy. It does not confer strategic freedom.
In another recent post – I Found My Voice; I did not Find My Tribe – the vicious cycle that leads to loss of passionate Agile talent was described as follows:
This “1.5” phenomenon is at the root of a vicious cycle that dilutes companies, particularly these days:
- A round of layoffs is implemented.
- Just about everyone takes notice and tries to exhibit the “proper behavior/values.”
- Folks in the “private tribe” don’t dare come out of the closet.
- The passionate person who found his/her voice in Agile is like a fish out of the water. Sooner or later he/she looks for a tribe elsewhere.
- The company becomes more diluted on folks who are willing to try new things and have the drive to make them happen.
- The products and the supporting processes continue to be mediocre.
- Goto step 1.
Reading the article Getting Toyota Out of Reverse, published in the December 18 issue of BusinessWeek, I found a fascinating linkage between the two posts:
“They say that young people are moving away from cars,” Toyoda said. “But surely it is us—the automakers—who have abandoned our passion for cars.”
One had better take notice when the president of Toyota speaks of the effects of loss of passion using phrases like “irrelevance or death” and “grasping for salvation”.
You need go no further than John Hagel‘s recent post Pursuing Passion for a resounding second opinion on the subject.
I Found My Voice; I did not Find My Tribe
Various Agile champions within the corporation often find themselves stuck at “level 1.5”, in between the following two levels:
- “I found my voice/passion.”
- “I found my tribe.”
The Agile champion typically gets stuck at this level in the following manner:
- He/she finds his or her voice/passion in Agile.
- Various other folks in the corporation agree with him/her and constitute kind of “private tribe.”
- However, the folks that agree are hesitant to come out of the closet and throw their full weight behind Agile.
- The corporation remains ambivalent about Agile.
This “1.5” phenomenon is at the root of a vicious cycle that dilutes companies, particularly these days:
- A round of layoffs is implemented.
- Just about everyone takes notice and tries to exhibit the “proper behavior/values.”
- Folks in the “private tribe” don’t dare come out of the closet.
- The passionate person who found his/her voice in Agile is like a fish out of the water. Sooner or later he/she looks for a tribe elsewhere.
- The company becomes more diluted on folks who are willing to try new things and have the drive to make them happen.
- The products and the supporting processes continue to be mediocre.
- Goto step 1.
IMHO The failure of many corporations to preserve Agile talent, and the resultant vicious cycle described above, is rooted in lack of appreciation how deep the connection between boredom and loneliness is. A young child does not know (nor does he/she have the vocabulary to express) what boredom is. The feeling the child expresses is that of loneliness. Only at a later stage does boredom get cognitively differentiated from loneliness. However, the two continue to be tied together emotionally.
Once the child grows up to become an Agile champion who found his/her voice, the boredom in the office is usually relieved. However, the twin sister of boredom – loneliness – cannot be satisfied through a “private tribe.” It requires full recognition and commitment within the corporation. In other words, it sort of demands that the corporation goes beyond recognizing the value (singular) of Agile and adopts the values (plural) expressed in the Agile Manifesto. If such adoption does not take place, an essential step to the formation of the tribe is curtailed . Without a full fledge tribe in his/her corporation, the induced feeling of loneliness sooner or later wears out the Agile champion.
This phenomenon, of course, applies to any professional passion an employee might pursue. John Hagel‘s Edge Perspectives post Pursuing Passion is a must-read for anyone who wonders how the corporation is impacted by losing the folks who got stuck at “level 1.5.”
The Case for Agile Business Service Management
BSM Review has just published my article The Case for Agile Business Service Management. Here is a key para from the article:
During turbulent times such as the past year, Agile business service management enables the business to become more competitive by speeding up the pace of delivery of new functionality and accommodating changes in business requirements as part of standard operating procedures. Like a computer chess program that extends clever tactics into the strategic realm [The New Yorker 2005], it compensates for the lack of prolonged periods of techno-economic stability through business Agility, substituting speed, flexibility and momentum for traditional long range planning. It is particularly noteworthy that Agile business service management applies equally well to companies pursuing adaptive strategies as to those betting on shaping strategies [Hagel et al 2008].
As indicated in a previous post, the article outlines the research agenda I will be pursuing. Specifically:
- How is agile BSM implemented and delivered? …measured?
- What are the benefits of agile BSM to the business objectives of development? …ops? …test?
- Who carriers responsibility for agile BSM delivery and implementation?
- Who benefits from agile BSM delivery & implementation?
- How are these benefits applied?
- When is Agile BSM expected to be understood and accepted by the business entities?
- Where is agile BSM likely to be wholeheartedly implemented first?
- What is the impact of Agile BSM on ISV’s (as distinct from IT “shops”)?
Listeners to Live Recording of Four Principles, Four Culture, One Mirror are well aware of my view of scaling downstream – it is the most tricky of the three dimensions of Agile scaling (up, out, downstream). IMHO Agile BSM is the first step toward effective scaling downstream.