Recent discussions about the coexistence of the Capability Maturity Model (CMM) and agile development has prompted me to revisit my master's thesis on the subject.
Ten years ago, I was one of the first practitioners of eXtreme Programming (XP), a software development method that belongs to the agile development movement. The big stumbling block of these methods has always been how to introduce it in an organization. Mentioning the words "extreme programming" makes you fight an uphill battle from the start. Agile is definitely a better word when presenting it. But still, the adoption of agile development requires a shift in the organizational culture, which historically has been more formal.
After having participated in and coached a few pilot projects, I started to think about how to best introduce the method in a software organization. This thinking caused me to return to university to research the topic - the result was a master's thesis on the subject.
During my research, I considered the existing and accepted certification levels in the software industry and compared it with the agile way of developing software. The Capability Maturity Model (CMM) is the most widely accepted definition for measuring process and organizational maturity. It was developed by academics and industry experts and is used by the largest governmental organizations in the world. If I could find that XP was compatible with the CMM, it would be so much easier to introduce in software development organizations.
What I found went beyond compatibility between the CMM and XP - I actually found that XP is an excellent springboard for organizations that want to reach greater levels of CMM maturity! I presented my findings at the XP2003 conference and these results are still used by many organizations to convince risk-averse managers of the traits of agile development. Maturing Extreme Programming Through The CMM
It is interesting to see that today, the members of the agile community are still fighting the same battle. Scott Ambler, IBM's agile expert and evangelist, is working on an Agile Process Maturity Model (APMM), for the same reasons: to ease that adoption of agile methods in traditional software organizations.
Take control of your unwieldy to do-list by combining Google Docs and PocketMod. With the system described here you will always be ready to take notes, and never run the risk of losing an idea! Update (July 30, 2009): Now using a Google Docs template. I use a subset of GTD (" Getting Things Done ") by having a digital copy of my next actions, sorted by context (@Home, @Office, @Shopping, @Computer, etc.). This lets me easily look up what I need to do, depending on where I am. However, a digital copy is not very useful by itself, since it is not accessible when I am offline. Putting it in my PDA is not ideal either, since the overhead of adding a new note is too big (turning on the device, opening the right application, having it recognize my handwriting). That's why I print out my to-do list on paper once a week and carry it in my pocket. It's the ideal way of accessing and editing tasks. Before I print out a new list I spend a minute or two copying the edits from my
Comments
Post a Comment