The Agile Executive

Making Agile Work

Posts Tagged ‘Outsourcing

Beyond Labor Arbitrage

with one comment

It is a little late for 2011 predictions. However, I believe you would still find the following prediction of interest:

I would be a little nervous these days if I were in the outsourcing business. My ability to recapture value through labor arbitrage is being eroded by the twin  ‘brothers’ – Social Networking and Kanban. A third ‘brother’ – Cloud Computing – enhances and accelerates the erosion.

The rationale for this prediction is quite straightforward. Forward-looking development managers utilize three trends to achieve impressive results in productivity, time-to-market and cost of software. They “acquire” talent on a per-task basis wherever it resides through marketplaces such as oDesk and uTest. They procure computing resources inexpensively, when they need them, through the good services of Amazon Web Services or similar providers. And, they effectively oversee the work stream(s) of dispersed programmers and testers through Kanban tools such as LeanKit Kanban. In addition, they employ collaboration tools like Sococo to compensate for the harsh realities of most offshore software projects wherein team interactions need to occur across the pond. By so doing, they are able to carry out expert sourcing on their own at a fraction of the cost a global outsourcing company would typically charge.

Click here for full details. IMHO what we are starting to witness is really transformative.

Written by israelgat

February 6, 2011 at 7:25 pm

What 108M Lines of Code Tell Us

with 16 comments

Results of the first annual report on application quality have just been released by CAST. The company analyzed 108M lines of code in 288 applications from 75 companies in various industries. In addition to the ‘usual suspects’ –  COBOL, C/C++, Java, .NET – CAST included Oracle 4GL and ABAP in the report.

The CAST report is quite important in shedding light on the code itself. As explained in various posts in this blog, this transition from the process to its output is of paramount importance. Proficiency in the software process is a bit allusive. The ‘proof of the pudding’ is in the output of the software process. The ability to measure code quality enables effective governance of the software process. Moreover, Statistical Process Control methods can be applied to samples of technical debt readings. Such application is most helpful in striking a good balance in ‘stopping the line’ – neither too frequently nor too rarely.

According to CAST’s report, the average technical debt per line of code across all application is $2.82.  This figure, depressing that it might be, is reasonably consistent with quick eyeballing of Nemo. The figure is somewhat lower than the average technical debt figure reported recently by Cutter for a sample of the Cassandra code. (The difference is probably attributable to the differences in sample sizes between the two studies). What the data means is that the average business application in the CAST study is saddled with over $1M in technical debt!

An intriguing finding in the CAST report is the impact of size on the quality of COBOL applications.  This finding is demonstrated in Figure 1. It has been quite a while since I last saw such a dramatic demonstration of the correlation between size and quality (again, for COBOL applications in the CAST study).

Source: First Annual CAST Worldwide Application Software Quality Study – 2010

One other intriguing findings in the CAST study is that “application in government sector show poor changeability.” CAST hypothesizes that the poor changeability might be due to higher level of outsourcing in the government sector compared to the private sector. As pointed out by Amy Thorne in a recent comment posted in The Agile Executive, it might also be attributable to the incentive system:

… since external developers often don’t maintain the code they write, they don’t have incentives to write code that is low in technical debt…

Congratulations to Vincent Delaroche, Dr. Bill Curtis, Lev Lesokhin and the rest of the CAST team. We as an industry need more studies like this!

Cloud Computing Forecasts: “Cloudy” Future for Enterprise IT

leave a comment »

In a comment on The Urgency of Now, Marcel Den Hartog discusses technology assimilation in the face of hype:

But if people are already reluctant to run the things they have, on another platform they already have, on an operating system they are already familiar with (Linux on zSeries), how can you expect them to even look at cloud computing seriously? Every technological advancement requires people to adapt and change. Human nature is that we don’t like that, so it often requires a disaster to change our behavior. Or carefully planned steps to prove and convince people. However, nothing makes IT people more cautious than a hype. And that is how cloud is perceived. When the press, the analysts and the industry start writing about cloud as part of the IT solution, people will want to change. Now that it’s presented as the silver bullet to all IT problems, people are cautious to say the least.

Here is Annie Shum‘s thoughtful reply to Marcel’s comment:

Today, the Cloud era has only just begun. Despite lingering doubts, growing concerns and wide-spread confusion (especially separating media and vendor spun hype from reality), the IT industry generally views Cloud Computing as more appealing than traditional ASP /hosting or outsourcing/off-shoring. To technology-centric startups and nimble entrepreneurs, Cloud Computing enables them to punch above their weight class. By turning up-front CapEx into a more scalable and variable cost structure based on an on-demand pay-as-you-go model, Cloud Computing can provide a temporary, level playing field. Similarly, many budget-constrained and cash-strapped organizations also look to Cloud Computing for immediate (friction-free) access to “unlimited” computing resources. To wit: Cloud Computing may be considered as a utility-based alternative to an on-premises datacenter and allow an organization (notably cash-strapped startups) to “Think like a ‘big guy’. Pay like a ‘little guy’ ”.

Forward-thinking organizations should not lose sight of the vast potential of Cloud Computing that extends well beyond short-term economics. At its core, Cloud Computing is about enabling business agility and connectivity by abstracting computing infrastructure via a new set of flexible service delivery/deployment models. Harvard Business School Professor Andrew McAffee painted a “Cloudy” future for Corporate IT in his August 21, 2009 blog and cited a perceptive 1983 paper by Warren D. Devine, Jr. in the Journal of Economic History called “From Shafts to Wires: Historical Perspective on Electrification”.[1] There are three key take-away messages that resonate with the current Cloud Computing paradigm shift. First: The real impact of the new technology was not apparent right away. Second: The transition to full utilization of the new technology will be long, but inevitable. Third: There will be detractors and skeptics about the new technology throughout the transition. Interestingly, telephone is another groundbreaking disruptive technology that might have faced similar skepticism in the beginning. Legend has it that a Western Union internal memo dated 1876 downplayed the viability of the telephone: “This ‘telephone’ has too many shortcomings to be seriously considered as a means of communications. The device is inherently of no value to us.”

The dominance of Cloud Computing as a computing platform, however, is far from a fait accompli. Nor will it ever be complete, a “one-size fits all” or a “big and overnight switch”. The shape of computing is constantly changing but it is always a blended and gradual transition, analogous to a modern city. While the cityscape continues to change, a complete “rip-and-replace” overhaul is rarely feasible or cost-effective. Instead, city planners generally preserve legacy structures although some of them are retrofitted with standards-based interfaces that enable them to connect to the shared infrastructure of the city. For example, the Paris city planners retrofitted Notre Dame with facilities such as electricity, water, and plumbing. Similarly, despite the passage of the last three computing paradigm shifts – first mainframe, next Client/Server and PCs, and then Web N-tier – they all co-exist and can be expected to continue in the future. Consider the following. Major shares of mission-critical business applications are running today on mainframe servers. Through application modernization, legacy applications – notably Cobol for example – now can operate in a Web 2.0 environment as well as deploy in the Cloud via the Amazon EC2 platform.

Cloud Computing can provide great appeal to a wide swath of organizations spanning startups, SMBs, ISVs, enterprise IT and government agencies. The most commonly cited benefits include the promise of avoiding CapEx and lowering TCO to on-demand elasticity, immediacy and ease of deployment, time to value, location independence and catalyzing innovation. However, there is no magic in the Cloud and it is certainly not a panacea for all IT woes. Some applications are not “Cloud-friendly”. While deploying applications in the Cloud can enable business agility incrementally, such deployment will not change the characteristics of the applications fundamentally to be highly scalable, flexible and automatically responsive to new business requirements. Realistically, one must recognize that the many of the challenging problems – security, data integration and service interoperability in particular – will persist and live on regardless of the computing delivery medium: Cloud, hosted or on-premises.

[1] “The author combed through the contemporaneous business and technology press to learn what ‘experts’ were saying as manufacturing switched over from steam to electrical power, a process that took about 50 years to complete.” – Andrew McAfee, September 21, 2009.

I will go one step further and add quality to Annie’s list of challenging problem. A crappy on-premises application will continue to be crappy in the cloud. An audit of the technical debt should be conducted before “clouding” an application. See Technical Debt on Your Balance Sheet for a recommendation on quantifying the results of the quality audit.

The Executive’s Workshop for Scaling Agile to The Enterprise

with one comment

Readers of this blog are well aware of my keen interest in enterprise level Agile. I am now offering a specialized workshop for executives on this topic.

The Executive’s Workshop for Scaling Agile to The Enterprise

This one day workshop and free follow-on coaching service prepares executives for their roles in large-scale Agile implementation.

This workshop is ideal for building a shared understanding of your company’s Agile goals and practices amongst members of the leadership team. It illustrates how executives could/should engage in the Agile process in a meaningful manner, and includes strategies for addressing common challenges.  Your team will see how to govern Agile effectively, and most importantly, you’ll learn proven practices for attaining the operational, financial and business benefits of a successful enterprise-level Agile implementation.

Objectives

Agile is shown to cut the cost, improve the flexibility and shorten time-to-market of software-driven projects. Upon completion of this service, executive teams will be able to:

  • Scale Agile to the enterprise level
  • Minimize risks associated with large-scale Agile rollout
  • Apply Agile practices in development and beyond
  • Galvanize the team around a shared, cross-functional Agile vision

Approach

The Executive’s Workshop for Scaling Agile to The Enterprise service is divided into three parts, each designed to help company leaders accelerate their adoption of Agile.

Part I: Preparation via phone interviews and web-based coaching. The workshop leader works with your executive team to gather context, discuss logistics and focus the on-site workshop on your needs.

Part II: One day on-site workshop is delivered through combination of presentation, examples, exercises and participant discussion.

Part III: Free telephone coaching and mentoring with the Workshop Leader for six months after the workshop. The objective is to help executives respond effectively to the challenges they encounter in the course of implementing Agile.

On-Site Workshop Details

Leading an enterprise adoption of Agile requires that you understand the key concepts, principles and practices of Agile without getting bogged down in technical details.  You must learn techniques for handling the expected “noise” associated with organizational change while identifying the critical tasks needing your attention and leadership to succeed. The workshop is designed to address these challenges with a minimal investment of time.

Here is an overview of the key topics you will add to your experience set:

Explaining the Rationale for Agile to Your Company

  • Why now?
  • What is the state of the art in Agile and what is our goal
  • Expected return on our Agile investment

How The Agile Process Fits into Your Company:

  • Understanding Agile as an example of  other common,  iterative, quality-oriented processes
  • How Agile works with other software development life cycle processes
  • How to run a heterogeneous software development environment that mixes Waterfall, Agile and other methods
  • Connecting Agile to your budgeting process
  • How to perform governance and portfolio management with Agile

How to Implement Agile:

  • Choosing suitable projects for Agile methods
  • Rollout strategies that mitigate risks
  • Keeping departments aligned during the Agile rollout
  • Defining the social contract for Agile
  • How to make Agile sustainable in your particular culture
  • How Agile impacts your partner eco-system
  • Succeeding with off-shoring and outsourcing

Setting Up The Agile Enterprise:

  • Determining your performance metrics for Agile
  • How to negotiate Agile contracts
  • Achieving breakthrough innovation through Agile
  • Business designs that utilize the power of Agile

Price and Availability