Agile or CMMI: the Differential is Knowledge.

How you frame a topic (question, problem, etc. . . ) is critical in how you come to understand it.  It’s at the heart of why perspective is so important.  A different theory, metaphor or emotional tact can make a vast difference in meaning.

I have been reading about agile methods and how it is an unplanned methods that is contrasted with planned methods, especially with CMMI (Capability Maturity Model Integration).  Although planning is the most salient difference in features, knowledge is the key difference here for analysis; what you know or are capable of knowing as opposed to what you don’t know and are incapable of knowing. CMMI is a framework for managing what you know and can include standardized processes, evidence-based practices or processes and practices that can be standardized.  Many processes or practices are repeatable and can be standardized and managed through a CMMI framework.  But, we also know that science (the basis for standardization) makes knowledge claims in narrow and very specific ways.  This means that there are many aspects to practice that are unique, context bound, not repeatable and not standardizable.  These aspects of practice are best approached through Agile methodology.  The decision to use agile or CMMI methodology should be base on what you are able to know.

I believe the time is approaching that will require more agility, but this will not preclude an expansion of CMMI methods.  Agile methodology needs to incorporate CMMI methodology according to what we are able to know, while maintaining agility for what we are unable to know.  Some project may call primarily for agile methods, some for CMMI methods and some will call for mixed methods.