Preface: One of the benefits of being part of the Cutter Consortium is the chance to share ideas with fellow Consortium members. My most recent opportunity to take advantage of this came during a phone call with Jim Highsmith, who is also author of the book Adaptive Software Development from Dorset House. Jim had just returned from an overseas speaking tour, where he was conducting workshops on his adaptive software techniques. Our conversation about his trip was the catalyst for this month's column.
Imagine you're with a software consulting start-up. Your primary product is software-development outsourcing. Your prospective customers are large American and European companies. Your job is to grow the business. And, oh, by the way, your company is located in India.
This was just the situation that Indian outsourcers faced 10 years ago. Not only did they have to give prospective customers proof that they could develop quality software on time and on budget, but they also had to prove that they could successfully do so from thousands of miles away.
One important proof for many prospective customers was professional certification, such as that offered by the Software Engineering Institute's Capability Maturity Model (CMM) and the International Standards Organization's (ISO) ISO 9000 programs. The CMM arose from efforts to improve Department of Defense (DoD) software contract management. It specifies a five-step path that begins with Level 1, in which an organization has no formal software development processes, and progresses through Level 5, with continuous process improvement measured through formal metrics. (For more information on the CMM, see www.sei.cmu.edu/cmm/cmm.html.) The ISO 9000 program provides a way to judge quality management programs and improve them over time. Companies can be certified under the ISO 9001 component for their ability to meet customer requirements. (See www.iso.ch/9000e/essai.htm for more information on ISO 9000.)
By achieving CMM and ISO certification, Indian outsourcers could point to independent evidence that their software-development processes were solid. Many firms advanced through the CMM's maturity levels, ultimately reaching levels 4 and 5, and they also became ISO 9001 certified. By the time e-business came along, professional certification had helped Indian outsourcers become an established fixture in the IT landscape. So Indian outsourcers naturally began winning e-business projects. And, quite reasonably, they continued to use the development techniques that had been serving them well.
It turned out, however, that these techniques were less than ideal for most e-projects. For one thing, they were too slow. For another, they tended to be inflexible with limited adaptability. The demands of e-projects and the assumptions behind the CMM/ISO processes simply do not mesh. To be fair, it must be mentioned that CMM and ISO were not designed with e-projects in mind. Nonetheless, companies that had spent the time and money to establish certified software processes found that e-business projects introduced demands that their processes were not well equipped to handle.
Cutter Consortium senior consultant Jim Highsmith defines e-projects as "large, research-like, mission-critical projects that must be delivered rapidly in a turbulent business and technology environment." In short, e-projects are characterized by extreme time pressure and uncertainty. CMM and ISO, on the other hand, assume a high degree of predictability and repeatability. Indian outsourcers found that their certified processes were too slow and rigid to keep up with the constant change of e-projects. They learned from experience that e-project success depends heavily on flexibility and adaptability. To achieve this, the outsourcing firms had to reduce the overhead that CMM and ISO development processes require. They began adopting "lighter methods," which, in turn, led them to begin integrating some features of the recognized "light methods" in their development practices.
Light methods have been around since the mid-1990s. The best-known examples are Kent Beck's Xtreme Programming (XP), Alistair Cockburn's Crystal Light, SCRUM (popularized by Ken Schwaber), and Highsmith's Adaptive Software Development. Whereas traditional development strategies are heavy on process and light on skills, light methods are heavy on skills and light on process. "Just enough process to provide adequate control," as Highsmith puts it. Light methods rely on the power of people left free to do their jobs creatively. The result is maximum flexibility and adaptability in the software process -- just the thing we need for e-projects.
The Indian outsourcers, it turns out, are pointing the way for the rest of us.
This little vignette contains several e-business lessons. The most obvious is that if you're selecting an outsourcer for your latest e-project and the firm is touting its CMM or ISO certification, consider that an indication of the firm's commitment to software excellence and inquire about when and how it "lightens" up for e-projects. And, of course, a few examples of where it has done so successfully wouldn't hurt, either.
"Lightening up" applies to internal projects also. If you've hired the best folks you can find, enjoy the full advantage they bring to your development efforts and leave them free to do their jobs in the best way they know how. Provide the training and other professional development to give them the skills they need, as well as the tools and technology the project requires. Establish a productive work environment (the subject of a future column), and avoid the traditional temptation to handcuff them with a prescriptive process that specifies everything down to the lowest task, without concern for context, relevance, or applicability.
A less obvious lesson applies to advanced technology groups, enterprise architects, and anyone else who might be tasked with improving the software process: It's a waste of time to create a comprehensive enterprisewide methodology. A better approach is to emphasize proven principles and then, for each project, specify only the minimum set of deliverables required. Serve the customer, not the Process God -- that should be your guide!
E-projects have pushed the envelope for high-demand, high-tech, high-change software projects. The way to execute such projects successfully is to depend on your developers' ability to think and adapt. Make it easier for them to do so by taking advantage of the Indian outsourcing experience -- when it comes to process, keep it light!
Chris Pickering is president of Systems Development, Inc., an IT research and consulting firm. He also is a senior consultant for the Cutter Consortium, where he has written a survey-based report on the state of e-business (more information is available at www.cutter.com/itgroup/reports/ebustrend.html). He may be reached at firstname.lastname@example.org.