The Agile Executive

Making Agile Work

Posts Tagged ‘Mobile

Super-Fresh Code

leave a comment »

Below is the detailed outline for my August 10, 9:00AM Agile 2011 presentation. I look forward to meeting you and interacting with you in the conference before, during and after this presentation!

Best,

Israel

Super-Fresh Code

Part I: The Changing Nature of Change

  • Traditional View of Agile as a Software Method
  • A New Context for Agile
  • Hyper-Segmented Global Markets
  • A Modern Testing Value Chain
  • Prosumption All the Way to the Brand

Part II: Agile –> Agility

  • Agility as an End-to-End Challenge
  • The Value Delivery Journey
  • Confluence of Agile, Cloud, Mobile and Social
  • Everything as a Service
  • Multiple Forms of Agile

Part III: Your Agile Process has been Obsoleted

  • A Passage in Time with Profound Implications
  • Multi-Level Inspect and Adapt
  • The New Product Backlog
  • The New Nature of Dependency Management
  • New Story Format
  • “Not Reaching the Mainstream” Patterns
  • More Than an Obsoleted Process

Part IV: What’s Next?

  • From Contents per Profile to Features per Profile
  • No Temporal Anchor
  • A Mere Matter of Emergence

Part V: It Takes Multiple Levels of Agility

  • Agile as a Software Method
  • Agility at the Enterprise Level
  • Agility as a Continuous Improvement  Philosophy

Written by israelgat

August 4, 2011 at 7:03 am

Posted in Events, Trends

Tagged with , , ,

Getting Ready for Agile 2011 – Part II

leave a comment »

In her recent post Getting Ready for Agile 2011, Anne Mullaney gave an outline of my forthcoming sessions at the conference. Specifically, she highlighted the emergence of new forms of Agility:

“Super-Fresh Code” is a term Israel coined (an extension of the “Super-Fresh Web” concept) to describe code that results from seizing upon the opportunities opened by combining recent advances in Agile software methods, cloud computing, mobile applications, and social networking. With the right mix, a company can outgun, outclass and outmaneuver its competition through real-time requirements management and superior business designs. Essentially, super-fresh code becomes the source of competitive advantage. This is a workshop that will make you think about Agile in ways you never have before.

Appropriately enough for the anniversary year of the Agile Manifesto, my strong conviction indeed is that we are just about witnessing Agile going beyond being “just” a software method. Markets are becoming hyper-segmented. There is no way to reach tiny, granular market segments economically without sophisticated software. Moreover, markets are becoming ultra-fluid. It takes a high degree of software-based business agility to penetrate market segments that form and collapse at the speed with which social networking groups emerge (and disappear). Hence, software is becoming a bigger and bigger part of just about any business — avionics, financial services, healthcare, retail, transportation, telco, and so on. In fact, in many engagements Cutter consultants carry out, the software is the company. Unless Agile methods are used strategically, the ability of a company to generate value for its customers and capture profit for itself might be in jeopardy: the company simply cannot adapt fast enough in the face of a significant amount of technical debt.

Viewed from this perspective, technical debt becomes an integral part of Agile methods. One starts an enterprise level Agile roll-out in order to, well, gain Agility. The accrual of technical debt puts a damper on Agility. Hence, implementing a technical debt assessment, reduction and prevention program is an essential part of the Agile initiative. In fact, Cutter recommends to its clients to integrate the two all the way down to the backlog stories.

I can’t wait to discuss these topics with you and other Agile 2011 participants in just about two weeks!

Late Night Thoughts on Stepping Into Cutter’s Agile Practice Director Role

with one comment

http://www.flickr.com/photos/holia/3204431590/

I have just stepped into the role of Director, Cutter’s Agile Product and Project Management Practice. It has been a long time since I felt so honored. Little had I expected that a friendly 2008 email from Brian Robertson suggesting I write an article for Cutter, and a later invite from Jim Highsmith to join the practice would lead to my heading it now.

My preliminary thoughts about evolving the practice are summarized in the Cutter press release. I view Agility as much more than a ‘mere’ software method. I envision the combination of Agile, Cloud, Mobile and Social as transformative in nature. Specifically:

It is not ‘just’ about doing one thing or another a little faster. Rather, it is about enabling new business designs that utilize the ultra-fast pace and flexibility of multiple links in the company’s value chain. [Excerpt from the Cutter press release].

An example of the transformation I foresee is given in my 2011 prediction:

The paramount need to deliver faster/earlier is, for all practical purposes, dictated by today’s markets becoming hyper-segmented. For example, my (or your) Twitter network today is an evolving market segment. My Twitter network in March 2011 could easily be a different segment than the segment it is today. The only way to penetrate such fluid market segments effectively is by following the classic Agile mantra “Release early and often.”

Viewed from such perspective, Agility is more than a strategic initiative. It actually becomes a philosophy of life in the best sense of the word:

The real challenge, however, lies in how to go about solving problems when you don’t understand them well enough to get to a viable solution … when you don’t have a clear enough understanding of the problem to create clear solutions, you have to iterate. [Interview with Russ Daniels]

I will be the first one to admit that I don’t fully understand various facets of what it will take to make the Agile practice most meaningful to current Cutter clients and highly enticing to future prospects. Just as Russ suggests above, I plan to iterate.

And this, in the final analysis, is all that matters in an Agile practice.

Written by israelgat

December 19, 2010 at 10:35 pm

Agile Enterprise Forum 2011

with 4 comments

Charles Handy, Chris Potts, Don Reinertsen, John Seddon and I are the featured speakers in the Agile Enterprise Forum 2011. The Forum will be held on March 10, 2011 in the Chandos House at the Royal Society of Medicine,  London. Attendance is limited to 30 CIOs.

The theme for the forum is Agility for Complex Organizations. The overarching message is nicely captured in the following summary by James Yoxall:

There are two strands of interest for a CIO: strategy and delivery.  The Agile/Lean message can be summarised as “merging” the two, so that delivery can start before strategy is complete, and delivery informs strategy through feedback loops. This leads to a faster/earlier delivery and a better end result.

My own workshop – Agile Governance: Tying Delivery to Value – builds on this message by describing a specific strategic initiative which is not achievable without the use of advanced delivery techniques. Here is the abstract for my workshop:

This workshop will explore mechanisms for unlocking the full potential of existing software through the combination of Agile/Lean methods with technical debt techniques. These mechanisms apply to complex organisations that rely on in-house development teams as well as to third party delivery partners. Israel’s approach emphasizes the need to continuously monitor and mitigate the decay of software that more often than not had been developed over many years. Most importantly, it shows how well-governed software can become the enabler for unleashing the synergistic power of cloud, mobile and social.

You can think of the workshop as linking past, present and future. The “sins” of the past require technical debt reduction initiatives today. These initiatives utilize the classical Agile/Lean techniques of continuous measurement and tight feedback loops. Without such initiative, the value of existing software cannot be unlocked in the future. In particular, competing in the hyper-segmented markets that cloud, mobile and social generate will be next to impossible for legacy software that has not been modernized.

Code2Cloud: Bigger than a Disruption in ALM

with 2 comments

 

Update, October 22, 2010: Watch this excellent demo of Code2Cloud!

 

 

http://en.wikipedia.org/wiki/File:ALM.svg

Figure 1: A Representation of the Application Lifecycle Management Concepts

VMware’s Code2Cloud announcement a couple of days ago is intriguing. According to this announcement, the whole development infrastructure is delivered as a service with no setup, no hardware or software to manage. The tedious and time consuming task of setting (and as appropriate modifying) the environment within which coding is carried out is done by Code2Cloud, not by the programming/testing team. As pointed out by colleague and friend Michael Cote, Code2Cloud might have the potential to be quite a disruption in Application Lifecycle Management (ALM):

“The software development tool chain has always been tedious to setup and integrate,” said Red Monk analyst Michael Cote. “While cloud-based development promises to make application delivery, deployment, and use easier, I haven’t seen excellent unified application management approaches that take full advantage of cloud. VMware’s SpringSource Code2Cloud is an ambitious step towards moving much of the development management stack into the cloud and hopefully vacuuming up those tedious application management tasks. It’ll be fun to watch this idea evolve as more and more people and applications start taking advantage of cloud computing.”

Important that such a disruption in the ALM space might be, I believe the main significance of the Code2Cloud announcement is in demonstrating so vividly how powerful the Everything as a Service (EaaS) paradigm could be and probably will be. IMHO Code2Cloud is another proof point to the power of the confluence of Agile, Cloud, Mobile and Social. It is a virtuous cycle of unprecedented impact – in technology delivery, in the structure of markets, in society and in the patterns of living we are accustomed to.

© Copyright 2010 Israel Gat

Figure 2: The Virtuous Cycle of Agile, Cloud, Mobile and Social

The Code2Cloud announcement is primarily about the {Agile –> Cloud} link in Figure 2. The {Cloud –> Mobile}, {Mobile –> Social} and {Social –> Agile} are just as powerful. For example, the {Social –> Agile} link, in conjunction with Cloud and Mobile, opens the door for highly efficient Testing as a Service.

Think of the Code2Cloud as a great example of Everything as a Service. Many other examples of such services are forthcoming. The common denominator of all these examples to come is their transformative power. Not in the tactical sense of “transformative”, but in the deep strategic meaning of the word.

Action item: Start a pilot to evaluate Code2Cloud. Expand rapidly if it meets your development needs. Tie at the earliest point in time to your plans for application delivery, deployment and use in the cloud.

____________________________________________________________________________________________________

Wrestling with governing your software from a lifcycle perspective? Let me know if you would like assistance in implementing a simple yet highly effective software governance framework that can be used by both technical and non-technical members of your staff. Click Services for details and contact information.

____________________________________________________________________________________________________

 

Written by israelgat

October 21, 2010 at 7:19 am

A New Chasm is Forming

leave a comment »

http://www.flickr.com/photos/96483949@N00/192144459/

Recently I had frustrating experiences with the bureaucracies of two companies: a company who is bringing me in to consult on continuous value delivery and another company who is interested in a seminar on the consumerization of enterprise software. While the two companies could not be more different, good-hearted engagement managers in both companies cautioned me in advance that their bureaucracies would drive me nuts. Based on my experience to date they were not kidding…

It is a striking contrast between the ease with which I can get precious data from my social network anytime I need it versus the unbelievable waste of time answering the very same question in two or three redundant forms used to screen me as a supplier. This contrast leads me to conclude we are witnessing the formation of a new chasm. It is between companies who stick to their old bureaucratic patterns with respect to suppliers versus those that realize that a supplier these days is a “prosumer.” He/she might provide services one day, consume (other) services the other day.

The business opportunity this chasm presents is providing efficient marketplace infrastructures. Anyone who can collect my data once and provide it as needed to multiple companies I interact with as a supplier will be doing me, and countless number of social networking aficionado, a huge service. Time is simply too precious to be wasted typing in the maiden name of my mother multiple times.

The distinguished economist Ronald Coase perceived reduction of transaction costs as the essence of the firm. His thoughts of more than 70 years ago are right on these days. The bar for transaction costs is “fill in the details only once”. Once in this context means “once in your lifetime.”

Recommendation: Examine the  way your company acquires new customers versus the way it brings aboard suppliers. Something is wrong if your company’s procurement folks routinely tell suppliers “we know you have already given this information, but ‘they’ would not accept it from ‘us’ if you don’t fill this extra form as well.” This being the case, you need to rethink your approach to composite value chains.

Written by israelgat

October 13, 2010 at 7:40 am

How Technical Debt Ties to Cloud, Mobile and Social

leave a comment »

http://en.wikipedia.org/wiki/File:West_Side_Highway_collapsed_at_14th.jpg

Many years ago, when I came to the US, I was shocked to the core seeing the collapsed West Side Highway in New York City. I simply could not believe that a highway would be neglected to that extent amidst all the affluence of the city. The contrast was too much for me.

Nowadays I often have a deja vu sensation in various technical debt engagements in which I find the code crumbling. This sensation is not so much about what happened (see The Real Cost of a One Trillion Dollars in IT Debt: Part II – The Performance Paradox for an explanation of the economics of the neglect of software maintenance during the past decade), but about the company for which I do the assessment giving up on immense forthcoming opportunities.

Whether you do or do not fully subscribe to the vision of the Internet-of-Things depicted in the figure below, it is fairly safe to assume that your business in the years to come will be much more connected to the outside world than it is now. The enhanced connectivity might come through mobile applications, through social networks or through the cloud. As a matter of fact, it is quite likely to come through a confluence of the three: Cloud, Mobile and Social.

http://en.wikipedia.org/wiki/File:Internet_of_Things.png

In the context of current trends in cloud, mobile and social, your legacy software is like the West Side Highway in New York City. If you maintain it to an acceptable level, it can become the core of two major benefits of much higher connectivity and connectedness in the not-too-far future:

  • Through mobile and social your legacy software will enable you to flexibly produce, market and distribute small quantities of whatever your products might need to be in niche markets.
  • Through cloud it will enable you to offer these very same products and many others as services.

Conversely, if you consistently neglect to pay back your technical debt, your legacy code is likely to collapse due to the effects of software decay. You certainly will not be able to get it to interoperate with mobile and social networking applications, let alone offer it in the form of cloud services. Nor would you be able to wrap additional services around decaying legacy code. Take a look at the warehousing and distribution services offered by Amazon to get a sense of what this kind of additional services could do for your core business: they will enable you to transform your current business design by adding an Online-to-Offline (O2O) component to it.

What is the fine line differentiating “acceptably maintained” code from toxic code? I don’t think I have conducted a large enough sample of technical debt assessments to provide a statistically significant answer. My hunch is that the magic ceiling for software development in the US is somewhere around $10 per line of code in technical debt. As long as you are under this ceiling you could still pay back your technical debt (or a significant portion of it) in an economically viable manner. Beyond $10 per line of code the decay might prove too high to fix.

Why $10 and not $1 or $100 per line of code? It is a matter of balancing investment versus debt. An average programmer (in the US) with a $100,000 salary would probably be able to produce about 10K lines of Java code per year. The cost of a line of code under these simplistic assumptions is $10. Something is terribly wrong if the technical debt exceeds the cost per line. They call it living on margin.

Action item: CIOs should conduct a technical debt assessment on a representative sample of their legacy code. A board level discussion on the strategic implications for the company is called for if technical debt per line of code exceeds $10. The board discussion should focus on the ability of the company (or lack thereof) to participate in the business tsunami that cloud, mobile and social are likely to unleash.

____________________________________________________________________________________________________

Considering modernization of your legacy code? Let me know if you would like assistance in monetizing your technical debt, devising plans to reduce it and governing the debt reduction process. Click Services for details.

____________________________________________________________________________________________________

The Real Cost of One Trillion Dollars in IT Debt: Part I – Value Generation and Recapture

with 2 comments

In a recent research note and a corresponding press release, Gartner’s Andrew Kyte assessed the current level of world-wide IT Debt [1] at about $500 billion. Andrew actually considers $500 billion a conservative estimate, expecting it to grow to $1 trillion by 2015. As was pointed out by David Nagel, $1 trillion is more than four times total worldwide enterprise software expenditures this year.

I am publishing two posts in order to put these staggering figures in perspective. This post primarily addresses the business design ramifications of the numbers quoted above. A follow-on post in the coming week will explore the dire repercussions of disregarding the proven practice “an ounce of prevention is worth a pound of cure.” It will also offer an explanation rooted in our business context why this tried and true wisdom has so often been disregarded over the past decade.

The first thing to point out about the Kyte/Gartner figures is that these figures are the cost of fixing, not the value that could be lost due to the myriad malfunctions that a $1 trillion worth of software quality deficits can cause. It is like the loss incurred through fixing the truck in Figure 1 below. The cost of fixing might be $10,000. The corresponding loss of value due to the time it took to carry out the fixing of the truck is vividly captured in the quip written on the back of the sleeper: “Day late $100,000 short.”

Figure 1: “Day late $100,000 short”

Source: http://www.flickr.com/photos/bachir/489090063/

If you accept this premise, one real risk of a high level of IT debt is the deterioration of services provided through the software. An even bigger risk, however, is obsolescence of business designs due to the software systems decaying to the point that adding critical services is next to impossible. For example, consider the following B2B eCommerce services for retailers (taken from an unrelated exchange I recently had with my friend Erik Huddleston):

  • Vendor drop ship
  • Catalog/data sync
  • Vendor management
  • Compliance

It is unlikely a 10-year-old eCommerce software system whose upkeep was neglected for the past decade would have enough changeability left in it to enable providing such services. Lacking these services, the business is likely to revert to outdated designs for generating and recapturing value.

The B2B eCommerce situation discussed above is not really different from the classical dynamics of regression in the development of a child. It is, of course, poignant when a child suffers during one phase or another in his/her development. The bigger poignancy, however, is that the struggling child gets stuck. He/she is unable to move on to the next developmental phase(s). Other children surpass him/her.

What it means in less metaphorical terms is that  an incumbent with a significant IT debt might fall behind new entrants who are not (yet?) saddled with such debt. The new entrants can utilize the flexibility of their software to satisfy customer needs in ways that the incumbent’s legacy software will be hard pressed to meet. Moreover, the new entrants can modify their software in response to actual customer feedback in a much faster manner than the ‘neglectful incumbent’ can.

As an incumbent, you need to really start worrying about your IT debt if you accept the inevitability of the transformation driven by the confluence of Cloud, Mobile and Social (see Consumerization of Enterprise Software). No matter what industry you are in, the versatility, modularity, flexibility and mobility of the forthcoming consumerized enterprise software apply to every aspect of your business design. The IT debt you did not ‘pay back’ stands in the way of modernizing your business design.

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.

How to Break the Vicious Cycle of Technical Debt

with 10 comments

The dire consequences of the pressure to quickly deliver more functions and features to the market have been described in detail in various posts in this blog (see, for example, Toxic Code). Relentless pressure forces the development team to take technical debt. The very same pressure stands in the way of paying back the debt in a timely manner. The accrued technical debt reduces the velocity of the development team. Reduced development velocity leads to increased pressure to deliver, which leads to taking additional technical debt, which… It is a vicious cycle that is extremely difficult to break.

Figure 1: The Vicious Cycle of Technical Debt

The post Using Credit Limits to Constrain “Development on Margin” proposed a way of coping with the vicious cycle of technical debt – placing a limit on the amount of technical debt a development team is allowed to accrue. Such a limit addresses the demand side of the software development process. Once a team reaches the pre-determined technical debt limit (such as $3 per line of code) it cannot continue piling on new functions and features. It must attend to reducing the technical debt.

A complementary measure can be applied to the supply side of the software development process. For example, one can dynamically augment the team by drawing upon on-demand testing. uTest‘s recent announcement about securing Series C financing explains the rationale for the on-demand paradigm:

“The whole ‘appification’ of software platforms, whether it’s for social platforms like Facebook or mobile platforms like the iPhone or Android or Palm, or even just Web apps, creates a dramatically more complex user-testing matrix for software publishers, which could mean media companies, retailers, enterprise software companies,” says Wienbar. “Anybody who has to interact with consumers needs a service to help with that testing. You can’t cover that whole matrix with your in-house test team.”

Likewise, on-demand development can augment the development team whenever the capacity of the in-house team is insufficient to satisfy demand. IMHO it is only a matter of little time till marketplaces for on-demand development will evolve. All the necessary ‘ingredients’ for so doing – Agile, Cloud, Mobile and Social – are readily available. It is merely a matter of putting them together to offer on-demand development as a commercial service.

Whether you do on-demand testing, on-demand development or both, you will soon be able to address the supply side of software development in a flexible and cost-effective manner. Between curtailing demand through technical debt limits and expanding supply through on-demand testing/development, you will be better able to cope with the relentless pressure to deliver more and quicker than the capacity of your team allows.