A Critical Look at CMM and Agile Through Gen Y

E-mail
Written by Akkiraju Bhattiprolu   
Sunday, 07 June 2009 20:04
jun-09-genybigDisclaimer:  Views expressed in this article are that of the author and do not necessarily reflect the views of his current or past employers

Much has been written about the commonality or even the lack of it between Agile and CMM [1,2,3,4]. CMM claims to be a flexible model that can be tailored and adapted to many life cycles [4,5,6]. This facilitated attempts to bring-in the iterative life cycles and practices of Agile under CMM model [1,2,3,4]. However, the debate on their compatibility continued as is evident in Kevin Trethewey‘s blog, which is one of many of its kinds[7].


The continued discussion is evident enough that it is not sufficient to compare practice to practice and arrive at any reasonable conclusion about their overall compatibility.

The one difference that seems to have earned consensus amongst most of the published literature on the subject is "the people aspect" of these models [3,4,8].   While CMM has little people focus, Agile's foundation   is   people   focus.   In   the   context   of Generation Y becoming a major part of the work force, this people aspect may become one of the main drivers for organizations to  endorse Agile and reject  CMM with or without Agile practices in it [9,10].

2. People Focus in CMM
There are multiple aspects of CMM and its implementation makes the people aspect take a back seat.  As  James  Bach  puts  it  "The  CMM  reveres process, but ignores people." [8]

Following is a compilation of some of these aspects culled from the available literature..

2.1 Historical baggage
Historically,   CMMi's   predecessor    CMM   was originally published in 1989. This date is much before the advent of Internet. Following is an excerpt from a relatively recent paper from SEI suggesting to embrace both Agile and CMM
"If we look at the genesis of the CMM, it predates the internet and nearly everything associated with internet technology. For that matter, CMM predates many  software  development,  deployment,  and infrastructure technologies, languages  and  methods. We've all learned a lot in the past 20 years. When the DoD set out to address their "software dilemma," the software world was different than it is today." [4]

CMM was mainly focused on models for high-risk, government contractor projects. In the age where there was not so much communication let alone collaboration channels established, the model had to be something that enforced accountability rather than expected it.

CMM later expanded to multiple other models and the latest being CMMi 1.2.  However, the remnants of old  times are present even in today's models.   The following reference states that explicitly.

"While the language of CMMI, admittedly, may retain some of the flavor and phrasing of this context, each release of a CMMI model grows further away from  these  roots  to  embrace  a  richer  and  more dynamic set of contexts." [4]

The  same  paper  goes  on  to  explain  how  the situation worsens further by practitioners who don't move with newer versions of CMM that are made to suit to modern contexts.  All this makes CMM and its newer variations a distant old relative to the current generation.  With little effort anyone can relate to their distant older relatives, but it would be inconceivable that they would be convinced to live like the earlier generation.

Defined with the value system having roots in a contractually    handled    market    system,    all    the relationships   would   be   between   non-life   abstract entities like organizations but not people.

"CMMI for Development, Version 1.2". [6] recognizes    people    amongst    the    three    critical dimensions of an organization.  But it emphasizes that it is the processes that hold the other two. Since the technologies are changing quickly and people are regularly changing   jobs, CMMi believes to entrust more on processes that can be  made static and can address the other two dynamic dimensions.   Following is an excerpt that draws an analogy with manufacturing industry.

"Manufacturing    has    long    recognized   the importance of process effectiveness and efficiency. Today, many organizations in manufacturing and service industries recognize the importance of quality processes. Process helps an organization's workforce meet   business   objectives   by   helping   them   work smarter,    not    harder,     and    with    improved consistency."[6]

The historical fears of the changing world may not be relevant today as the s/w is not organized; either in punch  cards  or  long  procedural codes.    The  object oriented, componentized, building block style of code with the very advanced tools does not make changing people and technologies as big an issue as it was in earlier decades.

The analogy with manufacturing to s/w industry is rather demeaning. In the industrialized world of the manufacturing industry,   work is done and goods are produced by machines. Humans only operate machines that are part of a long assembly chain. On the contrary, if it is humans that have to deliver goods that too of intellectual nature, the analogy with manufacturing industry cannot withstand. The only analogy that can suit the situation would be creation of art [20].

2.2 Consulting business model
It    has    been    mostly  the   services/consulting companies that went for appraisals and certifications. This is the main reason why there are more Indian IT companies with more certifications than others [11,12]. It would be difficult to find product/technology development companies like Oracle, Apple, Google going  for  such  elaborate  process  models   and certifications. The distinction is that the technology-centric companies need not prove their ability to build new technologies to the external world. The end product in the market place establishes their capability. When it comes to consulting companies, they cannot exhibit "a product" in the market place; since service is a  matter of customer experience. Earlier client references may fulfill a part need to showcase their ability. However, a need for a more credible body certifying a consultant company stays intact.

Following excerpt from the case study  "Managing Growth in a High Technology Venture - the Fact-Tree Way" explains this need.

""Processes" and "Quality Certifications" were the buzz words now. It was not just the Fact-Tree management that felt a strong need to get the organization certified, the prospective customers, especially the European clients, preferred firms that could flash a Quality certification such as ISO." [9]

The firm discussed in this case study starts with an ISO certification and then suddenly finds itself in the need for an SEI-CMM assessment.   The reasons for this as stated in the paper are not necessarily to do a better job, but sustainance in the competition with other companies in the certification race.

The  decision  of  these  companies going for  ISO, CMM or an Agile model tomorrow is not because of their own convictions and/or internal needs; but would be determined by their competition and what is a "hot" certificate in the market place.

"Meanwhile,   Fact-Tree's  top   competitors  were going for SEI-CMM (Software Engineering Institute- Capability Maturity Model) certification and Fact-Tree did not want to stay behind." [9]

It would be an easy observation for anyone who works closely with Indian IT companies.  In such an environment where flashing a certificate becomes the business need, everything else including people focus takes back seat. To start and survive in such market starts with the strategy of how quickly the certification can be achieved.

As Nagaraju puts it in his reply to the case study "What is wrong with the Indian Software Industry?" [10],  this  environment  creates  more  value  for  the people who fall in line with the process and make them grow up in the career as leaders and managers.

"The CMMI does not preclude innovation and change. The process owners are the ones who are the gatekeepers to progress." [13]

The core skills needed to perform a technical job becomes secondary.  These incapable managers and leaders who grew up quickly not because of their technical abilities will find it difficult to work with the programmers working for them. This in turn results in the mistrust between managers and teams.

Quality groups, checklists and audits become the major activities in such organizations.

"The job of the quality department was felt to be policing rather than playing an important role in developing the system." [9]

The  mistrust   in   the  atmosphere   results   in manufacturing data, last minute documentation and an overall unhealthy atmosphere.

"The perennial problem is that of employees not being too keen on the processes and treating processes as a burden. New entrants still feel that documentation is  a  hell  of  work and  the  tendency for  last  minute documentation is a common phenomenon."[9]

3. People Focus In Agile
Agile by definition is a bottom-up approach.  Team gets to decide what works for them.  There is an added trust and responsibility on the team to retrospect and fix its own course... and most importantly this is not driven from the top  or  external departments.   Trust leads to responsibility that leads to commitment. This contrast of "we control our course" vs "we follow and work  under  a  prescriptive  process/model"  becomes very significant differentiator.

3.1 Trust

The  very first  line  in  the  Agile Manifesto states "Individuals and interactions over processes and tools"[14]. This being the major value definition, any and all the flavors of agile keeps this at the top of their priorities.
"Scrum believes that people, their skills and how they are harnessed are the most important factors for the success of a software development effort." [2]
"XP also emphasizes open workspaces, a similar
"people issue" that is outside CMM's scope."[3]

3.2 Ownership

Once Trust becomes the core of the working model, it results in giving more ownership to the team.  The only expectation on the team would be delivering what they are good at, that is working software. "Scrum  Team:  Responsible   for   developing functionality.  Teams  are  self-managing,  self- organizing, and cross-functional, and they are responsible for figuring out how to turn Product Backlog into an increment of functionality within an iteration and managing their own work to do so. Team members are collectively responsible for the success of each iteration and of the project as a whole." [1]

3.3 Fulfillment
Agile prescribes delivering in  short  and  frequent intervals.
"Our highest priority is to satisfy the customer through early and continuous delivery of valuable software" [15].
There are multiple objectives that get met through this principle.   It gives an opportunity to realize the benefits quickly, the trivial one being reduced time to market.  It gives frequent retrospections for the team to reflect on their own progress and collectively alter their course for betterment, and gives an opportunity to demonstrate what is being built for the customer and get necessary feedback to align their course to meet customer's expectations.

There is another aspect that is a direct result of these short cycles. The team gets to see the results of their hard work pretty quickly.  This results in a team getting the sense of fulfillment at regular and short intervals. This  makes a  staggering contrast to  ambiguous and abstract  control  charts  under  the  supervision  of  a quality group that may not understand what the team is building.

Success of a team in an Agile environment rests with team and not with Agile.  The same cannot be said in a CMM atmosphere where the success is assumed and accredited to the process.

4. Generation Y
A major portion of work force today belongs to a generation that is termed as Gen Y.   These are the people who are born between 1977 and 2000.    They are estimated to be more than 20% and are the fastest growing segment of the work force [19] .   This is the generation that grew up with numerous TV channels, Internet, CDs, DVDs and cell phones.  They are highly educated, tech savvy, know how to quickly get help and from anywhere.   They like to own their work and control it.  They are willing to accept the responsibility for  what  they  own.    They  would  rather  take  this responsibility than take orders from the top or work in a completely prescribed working model, for whichthey have no time .

5. Why Agile suits better to Gen Y
Gen Y has grown up educated, informed and formed opinions at a very early age.
They have high expectations from their employers. They  expect  fair  and  direct  managers  [19].  They expect the managers to help them grow professionally. They cannot take a controlling manager who doesn't trust them.

Gen Yers want to learn quickly, continuously and from their co-workers.  They also want ownership and immediate responsibility. They want to  control their fate  and  are  willing  to  face  consequences for  their decisions. This makes it impossible for a CMM-like atmosphere to  engage  them  where  they  get  audited periodically for some compliance or other. In contrast, the same trait  works perfectly to  Agile as they can continuously get feedback for which they are directly responsible    and  have  an  opportunity in  their  own hands to take corrective actions.

The best way for organizations to exploit this high energy generation is to provide such a relatively free and trusted environment.   Organizations can set high level goals for Gen Y and demand quick returns. Organizations  in  fact  can  relieve  themselves  from trying to educate this generation on how to achieve the goals.   This generation does not need those expensive heavy-weight models to make them work any more.

This makes Agile a ready buy-in with Gen Y.  The feeling that they are in control of what they are doing wins their hearts more than anything else.

As Mary Christensen puts it  "Corporations trapped in outdated ideologies are struggling to adapt to these free-spirited individuals."[17]  Teams that are learning to trust individuals are adapting to a generation that's producing results struggle-free.

6. References

[1] Ana Sofia C. Marçal, Bruno Celso C. de Freitas, Felipe S. Furtado Soares, and Arnaldo D. Belchior1, "Mapping CMMI Project Management Process Areas to SCRUM Practices", http://www.cesar.org.br/files/file/SCRUMxCMMMI_IEEE-final03.pdf

[2] Srinivas Chillara and Pete Deemer, "Scrum and CMMI: A    High    level    assessment    of    compatibility", http://www.etakey.net/articles/BnB-kleine-ScrumCMMI.pdf

[3] Mark C. Paulk, "Extreme Programming from a CMM Perspective", ftp://ftp.sei.cmu.edu/pub/documents/articles/pdf/xp- from-a-cmm-perspective.pdf

[4] Hillel Glazer,    Jeff Dalton,    David Anderson,        Mike Konrad,   and   Sandy  Shrum,  "CMMI® or Agile: Why Not Embrace Both!", http://www.sei.cmu.edu/pub/documents/08.reports/08tn003.pdf

[5] David J. Anderson, "Stretching Agile to fit CMMI Level
3",    Agile    Conference,    Denver    July    2005, http://www.agilemanagement.net/AMPDFArchive/Agile_2005_Paper_DJA_v1_6.pdf

[6] CMMI Product Team, "CMMI for Development, Version1.2",    Software   Engineeering    Institue,    CarnegieMellon
http://www.sei.cmu.edu/publications/documents/06.reports/06tr008.html

[7] Kevin Trethewey, "BLOG: The difference between Agile methods and CMMI", http://dotnet.org.za/kevint/archive/2005/11/21/48410.aspx

[8]    James    Bach,    "The    Immaturity    of    CMM", http://www.core.org.cn/NR/rdonlyres/Aeronautics-and-Astronautics/16-355JFall-2005/A832C947-2CB2-47BE-9947-50993932EC28/0/bach_reading.pdf

[9] Vasudeva Varma, Vamsi and Kirti Garg, "Managing Growth in a High Technology Venture - the Fact-Tree Way", http://www.canopusconsulting.com/resources/techarticles/facttreecasestudy.pdf

[10] Nagaraju Pappu, "Response to the Fact-Tree Case Study
- What is wrong with the Indian Software Industry?", http://www.canopusconsulting.com/resources/techarticles/whatiswrongwithindiansoftwareindustry.pdf

[11] Ajay Batra, "What makes Indian Software Companies Tick? (CMM Practices in India)", QAI http://www.qaichina.com/Misc/thought_leadership/hkspin.pdf

[12] QAI in the press http://72.14.235.132/search?q=cache:http://www.qaiindia.com/News_room/News/quality_bug.htm

[13]  Christine  Davis,  Margaret  Glover,  John  Manzo,  and Donald  Opperthauser,  "An  Agile  Approach  to  Achieving CMMI", http://www.agiletek.com/images/AgileTek/pdf/an_agile_approach_to_achieving_cmmi.pdf
[14] "Agile Manifesto",  http://agilemanifesto.org/

[15] "Agile 12 Principles", http://agilemanifesto.org/principles.html

[16] Gen Y on Wikipedia, http://en.wikipedia.org/wiki/Generation_Y

[17]   Mary   Christensen,    "Be   a   recruiting   superstar" AMACOM publishing May 7, 2008

[18] Carolyn A. Martin Ph.D, and Bruce "Tulgan Managing generation Y" HRD Press

[19]   Cara   Spiro   "Generation   Y   in   the   Workplace", http://www.dau.mil/pubs/dam/11_12_2006/11_12_2006_spi_nd06.pdf

[20] Donald E. Knuth "Computer Programming as an art",
1974    ACM    Turing    Award    Lecture http://www.paulgraham.com/knuth.html


About the Author
Akkiraju Bhattiprolu has a masters in computer science and a total 15 years of  software industry experience. He's currently working for ADP  (Automatic Data Processing) in India as a senior manager. Before  returning to India in 2004, he lived and worked in California for 7+ years. He Worked for PeopleSoft USA for 5 years as a development manager in reporting, datawarehousing and buisness intelligence tools. akkirajub@gmail.com

Comments (5)Add Comment

0
...
written by Don Strayer, September 30, 2009
I wish you had included some of Jeff Sutherland's work among your many references. Jeff, as you probably know, is co-creator of Scrum and one of the founders of the Agile Alliance. He helped Nokia Systems, a CMM Level 5 organization, to adopt Scrum while retaining Level 5. He noted that being Level 5 made the transition easier since a high capability maturity organization really understands their current processes and has integrated continual improvement into them -- Not just incremental improvement but the ability to make major changes. After the first 6 months of Scrum they measured: 80% reduction in planning cost, 40% reduction in defects, 50% reduction in rework, 100% increase in productivity, reduced estimation error to less than 10%, and more than 95% of projects completed on time. (from Jeff's presentation at Agile Richmond, July 23, 2009. His presentation slides are available at www.agilerichmond.com under Events.)

During the 10 years when I was a CMM assessor I found the biggest mistake organizations made when they first adopted it was to treat it as a rigid set of rules, often copying the verbage directly into their policies and procedures. But as they achieved higher levels they learned to focus on the goals.
0
...
written by Anupama, July 08, 2009
AkkiRaju,

Good Article.

However, the basic point is missed here. One size never fits all. The characteristics of the project must be the basis on which project management approaches are defined. Depending on your goal and Requirements and solutions, how clear they are we map what methodology suits the project. Whether it is Agile, Extreme, Traditional.

Organisations may get certifications in one methodology, but the that may not suit every kind of project. Refer, Effective Project Management, by Robert K.Wysocki. He is the Guru of Project Management.

thanks
Anupama
0
...
written by Kameswara Rao, July 01, 2009
Nice article indeed. It brings out the problems of CMM with respect to its people focus.
However it still doesn't convince me that Agile methodology would work for Indian IT (Services) Industry as of today. I very much doubt if the "Generation Y" characterization would apply to the workforce in the Indian IT Industry. For Agile to work, I feel the industry has to undergo a lot of transformation:
1. The business models have to change from volume-based to value-based.
2. The focus has to be more on specialization (domain or technology) rather than on breadth of services.
3. Organization structures have to undergo change.
4. Most importantly customer outlook has to be changed.

Can this transformation happen within a short-period of time? I have seen medium to big sized companies struggling to undergo this transformation for last 4 to 5 years but with little success.
0
...
written by B.S.V. Prasad, June 09, 2009
Great article. Excellent martialling of facts. However, please consider the following:

- CMM(i) is not a burocracy-enhancing/abetting system; I used to know some very nice, light & right implementations.
It is just mythology that encourages such belief.

- CMM admittedly does not talk much about people, but this does not mean it is a people-ignoring system. This is not so bad as it appears at first.

Having said those two things, I must hasten to add that I have no particular bias for CMM. Because:

- Process models are much like religions. As they become popular, they acquire holy books, high priests, heretics, clergy & even the Devil.

Further:

- I don't think the view that each succeding generation is somehow "special" & "different" is particularly warranted. For example, very similar things have been said about
Baby Boomers & then the Yuppies.

Finally:

- I am almost certain that the term "internet" has been used since around 1975 for the internet. Can't give you a reference right now, though.

Super article overall. Congratulations!

BPrasad
0
...
written by B.S.V. Prasad, June 09, 2009
Akki,

Great article! I liked the way you martialled your facts and presented them succinctly. However, I would like you to consider the following:

- CMM does not mandate anything that would lead to a burocracy; it is only certain implementations of the model that are unfortunately so popular today, that do this. In fact, CMM mandates very little, and that is its chief problem.

- It is not true that CMM does not have a people orientation. It just does not talk much about people. This is not such a bad thing as it appears at first sight.

Having said that, let me hasten to add that I am not for or against a particular system. Because:

- Process models are like religions. As they gain popularity they acquire a complicated & user unfriendly characters such as high priests, holy books, clergy, various heavens & hells, heretics & even the Devil.

- Strong anecdotal evidence forces me to suspect that there is nothing much to the view that each new generation is smarter & different, just because that were exposed to different social mores & (assumed to be better) technology. Much the same thing was being said about the Yuppies & the Baby Boomers as are being said now about Gen Y.

Lastly, one small correction - The term "internet" has been used for the internet since around 1975, if my memory serves me right. I can't give you a reference rightaway on this, of course.

Overall, great article. Enjoyed reading it. Thanks,

BPrasad

Write comment

You must be logged in to post a comment. Please register if you do not have an account yet.

busy
Last Updated on Tuesday, 23 June 2009 17:06