Agile and CMMi

July 15, 2007

Disclaimer: this blog post won’t answer any major questions.  It is going to raise more questions than answer them and it will leave us hanging at the end.  So with that intriguing lead… here we go.

Last Friday I attended a presentation by Scott Ambler titled Agile at the Enterprise Level.  Having read many articles from Scott I was naturally excited to hear him speak in person.  Especially interesting was the title where I thought there would be a lot of insight into implementing Agile practices in the real world with real world constraints.  Some of these constraints include mainly CMMi and client requirements along with client expectations.

I had listened to Scott’s presentations in podcasts before (one of them can be found here) and I believe even saw a video of one his talks.  So I knew he was pretty much a no holds barred type of agile advocate.  He gave the same warnings at the beginning that I had heard before so knew we were in for a good talk.  He is a straight talker (good!), uses facts to back up his arguments and is enthusiastic and really believes in what he is saying. 

A quick overview of the discussion involved introducing agile, the main principles.

·        Individual and interactions OVER processes and tools

·        Working software OVER comprehensive upfront documentation

·        Customer collaboration OVER contract negotiation

·        Responding to change OVER following a plan

Scott addressed any fallacies of Agile such as Agile projects do not document and do not plan.  He also presented many statistics and metrics, mostly from this survey  done in Doctor Dobb’s.

I did learn some new concepts and gained a deeper understanding of other areas, but what I was looking for was not directly answered to my satisfaction.  I believe in the world we operate in many people struggle to reconcile the two worlds of CMMi and Agile practices. This was evident as it was brought up multiple times in the Q & A session at the end.  Also, I know I was not alone that I went away still somewhat confused. I spoke to two other attendees and they had the same issue.  I don’t think anyone has any issues with Agile practices of test driven development (TDD), prevent creating unneeded documentation, deliver working software as a priority, involve the client on a regular basis, etc.   But in our day jobs we live under constraints that seem to make becoming a real agile shop a pipe dream. 

Like most development groups we have done parts of Agile.  We are almost doing TDD across the board, we occasionally have our people do some pair programming and we are lucky in that we have an engaged client which interacts with our developers almost daily (in a good way). But I would not consider us an agile group.  We spend a lot of time producing MS Project Plans, we create fairly large requirements documents up front and we are not delivering working software in small intervals.  Portions of this are cultural issues that can be worked on over time.  We are incrementally changing our efforts.  But, other parts are required because we are told they are CMMi requirements and working for the government and being CMMi compliant there is nothing we can do.  How to bridge the two and live in both worlds is the question?  At least in this neck of the woods, ignoring CMMi requirements is not an option. Scott repeated many times that of the 3 world’s worst SW development groups the U.S. DOD is # 1 and the rest of the U.S. government is #3.   (Thanks to the U.K. MOD for breaking up our super track history).  However, many of us pay our mortgages and our car loans based on working for one or both of these entities.  So, again ignoring it is not something I (or my bank manager I assume) is willing to do.

A quick search on Google brought back one specific site that addresses just this issue. The site, from a company called Entinex covers some of the issues but also leaves us with some unanswered questions.   This is useful but after contemplating it further and reading the information on this site I realized I need to do some homework.  Why?  I imagine I am not alone in this.  Although I know a little about CMMi, I really don’t understand it to the level I would need to understand it to tackle this type of issue.

– I need to understand exactly what CMMi requires and what is being assumed to be required?

– What does it mean to be CMMi Level 3 and maintain compliancy?

– What does the government require when they issue RFP’s and state that you must meet CMMi requirements?

After answering these questions I can move on to the next level and see if the two can be bridged.   Hopefully you will see more here….

Finally thanks to Command Information for organizing the Scott Ambler presentation I mentioned in the beginning of the blog.  Although I came away with quite a few questions, I learned a lot,  the organization was top notch and Scott is a great presenter.

2 Responses to “Agile and CMMi”

  1. – I need to understand exactly what CMMi requires and what is being assumed to be required?

    HG: REQUIRED: Achieve the goals, and, have something tangible (even if it’s deltas between state changes) that shows that the goals were purposefully achieved, and not happenstance. Be able to explain what practices you performed to achieve the Goals and whose output of those practices are your evidence that the practices done.

    – What does it mean to be CMMi Level 3 and maintain compliancy?

    HG: Maturity Level 3 requires 18 particular Process Areas to be performed up to and including Generic Goal 3. Capability Level 3 requires any selection of process areas to be performed up to and including Generic Goal 3, but which process areas are yours to decide.

    Appraisals are valid for 3 years. Re-appraisal with up-to-date process data would be expected for the results to be current.

    – What does the government require when they issue RFP’s and state that you must meet CMMi requirements?

    HG: If they know what they’re doing they will ask for your “Appraisal Disclosure Statement” which describes exactly what the appraisal was (and, by extrapolation, wasn’t) on, who performed the appraisal and when it was done. If they’re lazy they’ll just go to the SEI’s web site and see if your company appears there. If they’re stupid they’ll just take a company’s word for it.

    Much is answered here:

  2. Harinee Says:

    I am an MBA student. I am doing a research on adopting both cmmi and agile practices. Most of the papers, blogs, websites that i referred talk about how obviously the two can be implemented. But they seemed to be very vague. They just generalised everything and talked on a very theoretical level.
    I wanted to know what happens practically. I waant to know of its failures or where organisations who planned to adopt the two finally backed out etc.
    Basically i want to know the practical reasons where an organisation will not want to/ find it diffult to adopt both.
    It is on these points that i wish to focus more than talk on general terms.
    Could you please list down the problems that you faced when trying to comply with both. Anything apart fromt the documetnation problem?
    If you know of any other organisation in similar trauma, the information could be very useful too.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s