My Agile Life with CMMI Imagine living an Agile lifestyle with CMMI as your mother-in-law. What, with the constant pestering for improving yourself and providing better quality for her grandchildren. Not to mention always on your back about how much you spend on wasteful endeavors. Is she really a pest or does she just not understand you? Doesn't she see that you are improving yourself? That your quality does improve? That your cost variances and efficiency of resources are tighter than any of your friends? Or *her* friends' children for that matter? "Oh! Look at how so-and-so's son-in-law bought his wife a big diamond! I bet *he* doesn't lead an agile lifestyle!" Yeah, so what! And exactly how does that big diamond contribute to improvement, quality or productivity? Huh? HUH?! So, you figure, if your CMMI mother-in-law is going to be looking over your shoulder all the time, you might as well show her how you are addressing improvements, quality, efficiency and productivity. It just might not be exactly as she's used to seeing it. So, in this session, "My Agile Life with CMMI", we'll show you how Agile and CMMI can live together and gain the approval of your no-longer over-bearing mother-in-law. Whether it's accurate or not, the perception by many in the development world is that proponents of CMMI follow a top-down, plan-driven approach to developing wares (soft or hard). Similarly, there's a perception that Agile proponents have no plans or process discipline. Before an understanding can be reached, we must address and correct for these perceptions. In particular, this presentation establishes a background that the audience can relate-to. They should be able to relate to one or both of either the "plan-driven" or the "Agile" (also "continuously re-planned") approach to managing software/systems development projects. The discussion will then look into the concept of a "plan" in the abstract and see how critical it is to have an appropriate abstraction for the "plan" in order for Agile and CMMI to "get along". In fact, the concept of what is a "project" may also shift abstractions to make the planned-to-Agile jump, so we'll jump into that too. We will see how/why positions may have become "entrenched" into these backgrounds and why it might be difficult to break free of these positions. The discussion will turn in the direction of values and outcomes. We will look into how proponents of "plan-driven" approaches and "Agile" approaches seem to have different values and as such may be measuring outcomes differently. For true understanding and communication to be achieved, we must see how and where the values can be brought together (if, in fact, they are 'apart' in the first place) and also see how and where the desired outcomes are aligned. We can then propose ways to "look at" CMMI that allow for Agile approaches, and ways to "look at" Agile that allows for CMMI implementation. The idea behind the presentation is that CMMI is (perceived to be) an over-bearing mother-in-law constantly meddling the affairs of her young newlywed offspring with "Agile" development methods fulfilling the role of "son-in-law" whose "new ideas" about running their household running against the grain of how "traditional" households are run. With "tradition" on one side and "progressiveness" on the other, while perhaps a bit over-dramatized, the tale is nonetheless a classic one of "the establishment" vs. the "new guard". CMMI was developed by people and in a time in which Agile methods had not yet reached mainstream discussions. Whether intentional or not, many practices of CMMI intrinsically lean towards traditional, "big-plan-up-front-driven" approaches to developing wares. In fact, many of those practices came from development models adopted from manufacturing -- a widely reviled approach which has been repeatedly demonstrated to be out of step with modern development. So, with the face of development changing as rapidly as the technology and the market itself, it's not surprising that the "new guard" and their approach to dealing with the challenges of today's market and the capabilities of today's technology are (at least superficially) at odds with more "traditional" approaches to development. If the stereotypical mother-in-law tries to judge the well-being of her married children by superficial the standards of her own time, she will undoubtedly be looking for things that she will not find. When values are different, what is measured is different and what is actually of value to measure is easily neglected. When outcomes are sought in certain places, the lack of those outcomes can be misinterpreted as "expected outcome not present" and actual outcomes are ignored. The end result is not that the mother and son-in-law are actually at odds its simply a matter of a conversation about values and outcomes never took place. Actual values and actual outcomes are blankly lost upon each other even though the values are strong and the outcomes are good on both sides. The analogy of "family counseling" may be whimsically appropriate, the presentation's basic message nonetheless boils-down to the need for proponents of Agile and CMMI to invest the time and energy in understanding the values and expected outcomes of the "other side" in order for each to demonstrate what's important to both and for each to guide the other towards working ("living") together towards each other's mutual benefit. And live happily ever after.