Cargo Cult Methodology: How Agile Can Go Terribly, Terribly Wrong

Agile methodologies seemed like a good idea to this software development team. But when the company doesn't sincerely accept the change in work style, the result is just a buzzword for "project hell."

By Charlie Martin
Thu, August 07, 2008

CIO — Software development is prone to fads, going back to the days of "goto Considered Harmful." One current fad goes under the general name of "Agile methods;" some of its variants are extreme programming, the SCRUM methodology and Alastair Cockburn's Crystal Clear Methodology.

Now, I'm the last guy to run down Agile methodologies, but...let me tell you a story.

About two years ago, I joined a project to build an appliance to Do A Good Thing. I'm changing the names and details to protect, well, primarily me, but innocents were involved. In any case, the details of what we were doing are unimportant; what matters is how we did it.

All of us team members were survivors of another much larger project. That project had been done with outsourcing to a CMM Level 5 organization, with great care in the methodology at our end and with careful detailed project management overall. The project consumed tens of millions of dollars and years of overtime. It failed utterly.

The whole experience was traumatic. None of us wanted to repeat it. Some of us advocated adopting Agile methods, which had generated plenty of good reports. Since it was clear that the last thing anyone would have said about the last project was that it was "agile," adopting Agile seemed like a good idea.

We couldn't adopt an Agile methodology whole, though. We had to adapt to our corporate environment. User stories or use cases sounded like a great idea; we'd do use cases. Continuous integration would be great. Incremental development was a good idea too, so we'd do that. And extreme programming uses a morning "stand up meeting," which some of us had used before; we'd have a standup meeting.

The problems started when we tried to integrate these methods into our existing environment. First, management demanded that we estimate—and commit to—a schedule and budget. You can't do that without knowing what you'll be doing, so we built our use cases and created a schedule. Several months later, we had hundreds of use cases, and the local Microsoft Project wizard had a schedule estimated down to the day.

The schedule ran for more than a year. We wanted to do incremental deliveries, but "making a delivery" into the rest of the organization required additional effort. There was no scheduled time for that either; besides, it was silly to go through all that effort repeatedly. The schedule ended up with four increments, months apart. Of course, as the months went by, we learned more about the problem, and we had changes requested; that meant more use cases and more effort. We slipped the schedule somewhat, but there was a lot of whining in upper management about how we'd made commitments, so why couldn't we keep them? Besides, time to market was critical.

We based the project on an existing purchased code base, so the initial builds came relatively easily. However, we hadn't really allocated any effort in the schedule to the actual build and continuous integration support—we'd assumed the build would be right the first time. We also budgeted for a full-time system administrator, but then we lost the position, so we'd just have to make do on our own. Of course, system administration wasn't on the schedule either, but by now we'd committed, and commitments are important. End result: We used up the slack in the schedule.

We had arrived at an "Agile project" in which we did all the requirements up front and committed to them, had a "let's pretend" schedule that allocated time for a year in advance but didn't recognize all the tasks that were needed, and delivered our increments months and months apart.

Now this project was a "success." We delivered on time (at least after the last big slips), and the product is shipping. It just required major slips, big cost overruns and a month of seven-day weeks and 16-hour days. Over the year-end holidays.

We didn't have an Agile project at all: What we had was an Agile methodology cargo cult. Cargo cults developed in Melanesia, starting in the 19th century, but really grew during World War II. To the locals, the war meant cargo planes and cargo ships arriving, carrying everything from canned pineapple to Quonset huts. And it was good.

Then the war ended, and the cargo stopped. The locals responded by building their own runways, with airplanes made of bamboo and palm fronds, in hopes of attracting it back.

We heard that Agile methods were good, so we adopted Agile methods. But we managed to apply them in such a way that we actually built the project in a top-down, waterfall death march.

Now, class, what have we learned from this?

Continue Reading

With 1.5 billion instructions in one second (BIPS), while consuming less energy than ever before, Wintergreen Research says IT departments need to sit up and take notice of this hybrid system that combines the System z with servers.
As you know, everything is mobile, connected, interactive, and immediate. This is exactly why organizations need a highly agile IT infrastructure in order to keep pace with extreme fluctuations in business demand. This book will help you understand why infrastructure convergence has been widely accepted as the optimal approach for simplifying and accelerating your IT to deliver services at the speed of business while also shifting significantly more IT resources from operations to innovation.
With business activities of all types increasingly dependent on a strong information technology foundation, companies find themselves struggling to keep pace with constant technological advances.
This guide focuses on key considerations for IT Architects who are in the process of migrating Java applications from UNIX to Linux as part of their VMware server consolidation project.
This online eBook provides insight and advice on how to build an effective disaster recovery strategy in the evolving world of virtual infrastructures, while mitigating the impact of so-called 'Black Swan' events in the datacenter. Practical, how-to best practices, real customer success testimonials and links to additional resources.
This report outlines five trends that enterprises are architecting to better equip their DR solutions today including: secondary site configuration and separation, cloud recovery, tiers of applications and causes of disasters.
Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn about VMware customer, Navicure, and their experiences testing and evaluating the recovery manager, their progress in implementing it in their environment and their advice other customers considering using vCenter.
Many enterprises have discovered that the use of virtualization to support desktop workloads creates a range of significant benefits. These benefits include price efficiencies, improved IT management and greater agility and choice for end users.

This VMware sponsored webcast with IDC will provide both quantitative measurement of the business value -- defined as the expected ROI -- and qualitative analysis associated with the use of VMware View™. IDC will also provide an analysis of the View Composer and ThinApp™ features of VMware View, including the business value of these solutions and an overview of how they work.

Attend this webcast to learn about:
- Challenges and barriers that might impede the adoption of desktop virtualization
- Navigating roadblocks to facilitate a strategic implementation
- Optimizing qualitative and quantitative benefits to IT and your business
VMware recently announced VMware vFabric™ Data Director, a new database deployment and operations platform that enables enterprise IT organizations to offer database as a private cloud service. Built on top of VMware vSphere 5, vFabric Data Director enables IT organizations to ontrol database sprawl through automation and consistent policy enforcement and accelerate application development cycles with self-service database management. Attend this webcast to learn how vFabric Data Director can help you build database-as-a-service in your datacenter.
Traditional disaster recovery solutions are often too expensive, complex and unreliable to meet business requirements. As a result, IT departments are hesitant to expand disaster protection beyond their most critical applications, largely because they are uncertain whether the quality of the protection is really worth its cost. VMware vCenter™ Site Recovery Manager 5 is the market-leading disaster recovery product that addresses this situation for organizations of all kinds. It complements VMware vSphere to ensure the simplest and most reliable disaster protection for all virtualized applications.
A simple, cost-effective disaster-recovery solution for virtual environments is high on the agenda for IT organizations as they virtualize more business-critical applications with VMware. VMware vCenter™ Site Recovery Manager-the market-leading disaster-recovery product-ensures the simplest and most reliable disaster protection for all virtualized applications. VMware vCenter Site Recovery Manager provides centralized management of recovery plans, enables nondisruptive testing and automates site-failover processes.
How do you manage performance for apps with 100 to 500 users but no consistent peak periods? If you don't ensure sub-second response at all times, your help desk will get flooded with complaints. But there's no budget for more servers to handle random load spikes. So what's the solution? Elastic load balancing with VMware vSphere™ and the VMware vFabric™ Cloud Application Platform. pace of change. View this webcast to learn how to cost-effectively run your applications & balance your load across virtual machines.
Newsletter Sign-Up »

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all Newsletters | Privacy Policy
Resource Center