As most readers know, the premise behind the CMM is that companies assessed at the highest maturity levels have the pieces in place to build the best software. As I read about the CMM and how companies around the world are embracing its concepts, one question has been nagging at me: why are companies based in India, Canada, and other countries more consistently adept at achieving maturity levels of 4 or 5, compared to US-based corporations, most of whom are struggling to achieve process maturity levels higher than 1?
I discovered some answers during an interview I did recently with Dr. David Zubrow of the SEI on my weekly talk radio show. (To listen to the entire interview or read transcripts of this and other interviewees from the past 26 shows, visit www.stickyminds.com/etalk). Dr. Zubrow had recently returned from a whirlwind trip to India teaching tutorials and attending the Software Engineering Process Group Asia conference. He shared his observations about the Indian and international software community. As he was speaking, I realized two major differences between offshore and domestic software development. It was, as Tom Peters would say, an “aha” moment. Here they are:
1. It’s easier to implement CMM in a “prescriptive” culture Professionals from cultures with a history of British dominance tend to embrace prescriptive models with far less resistance than their American counterparts. India, Canada, Britain, Australia, Singapore, and Hong Kong are examples of countries whose British colonization history continues to dominate their culture. The notion of choice, so critical to Americans, is not as pervasive in these cultures. One need only look at how laws are made and taxes collected these other countries to see evidence of this — e.g., “The Canadian Ministry of Fisheries decreed today…” In the US, the ruling would have been put to a vote of the people. In a prescriptive-friendly environment, it is easier to impose the CMM or other models on software professionals and expect them to follow the model without major resistance. There is also less inclination to do a cross-industry comparison and question whether the CMM is the “best” model. Saying this does not imply superiority or inferiority of culture — it simply points out that, in general, imposing the CMM can be more difficult in American companies.
2. It’s easier to “lay new track” than to reposition and realign It also occurred to me that many of the companies emerging as software powerhouses from India, are relatively “new” companies who started out using CMM recommended processes. In the same way that it’s easier for software developers to follow screen layout standards from the beginning of a project than to go back and apply the standards to existing screens, it is easier to implement CMM processes in companies where there are few or no processes in place. In many US and European companies, software processes (regardless of their usefulness or maturity) are already institutionalized and entrenched in the organization.
To come into such organizations and implement CMM processes is akin to replacing or redirecting train tracks that are in everyday use — companies must attempt to pull up existing tracks, realign them, and lay new track without interfering with ongoing systems development. Many offshore companies establish the sound software processes of the CMM from the get-go — it’s their first set of track in the absence of any infrastructure. No wonder it’s easier to obtain higher levels of process maturity!
What do these observations tell us about ourselves and our industry, especially in the US? They reveal insights about why certain practices work in some cultural environments and not others. Any US company that achieves Level 3 or higher on their CMM assessment deserves recognition for the fact that they overcame major obstacles on their journey: they successfully changed the culture, renovated their existing organization’s processes, and established sound new software practices. Those are certainly reasons to celebrate!