Annual Conference
CMMI & Agile
By Mr. Paul Iredale Mr. Benjamin Scherrey
19 December 2008 Bangkok Pullman King Power
CMMI & Agile
What is CMMI? What is Agile? Process & Organizational Culture Why do you want both? How to apply the two things together?
What is CMMI?
Use CMMI in process improvement activities as a • Collection of best practices • Framework for organizing and prioritizing activities • Support for the coordination of multi disciplined activities that might be required to successfully build a product • Means to emphasize the alignment of the process improvement objectives with organizational business objectives
CMMI incorporates lessons learned from use of the SW-CMM®, EIA-731, and other standards and models
CMMI framework
The Value Added from CMMI
•
•
•
• • •
•
Decision Analysis and Resolution is a counterpoint to Agile bias toward “resolve by building” Organizational improvement beyond the project team (Organizational Environment for Integration, Training, Process Focus and Definition, Innovation and Deployment, and Process Performance) Hardware awareness: Agile ignore coordinating long-lead time effort (Product Integration) Supplier interactions (SAM) Robust set of practices ensures most are addressed in Agile effort Provides insight into what processes are needed to maintain a disciplined mature organization Capable of predicting and improving performance of the organization and projects
Ref: Http://www.secc.gov.eg
The benefits of CMMI
CMMI provide: •Guidance for efficient, effective improvement across multiple process disciplines in an organization • Improvements to best practices incorporated from the earlier models • A common, integrated vision of improvement for all elements of an organization
CMMI & Agile
What is CMMI? What is Agile? Process & Organizational Culture Why do you want both? How to apply the two things together?
What is Agile?
The Agile Manifesto – Utah 2001
– Individuals and interactions over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation – Responding to change over following a plan
Agile comes from best practices
• Evolutionary Delivery vs. All at Once – Barry Boehm’s Spiral Model • User Stories – Kent Beck’s Xtreme Programming • Short, Focused, Meetings of Cross Functional Teams – Jeff Sutherland, et al, SCRUM
Core Aspects of Agile
• • • • Short, fixed length iterations. Test Driven Development Estimating with Story Points & Velocity Planning & Risk Management as a Discovery Process
The Value Added from Agile
• • • • • • • Iteration release rather than phased development Value of fast as possible production, work flow, and minimal work in progress Testing and continuous integration as essential drivers for implementation (and testing interleaved with other development activities) Waste reduction as a goal: testing and pair development as cost-effective options to inspection and review “Last responsible moment” decisions, options thinking, and incremental commitment [Gilb] Focus and synergy of technical leadership and technical management: practical concepts for engaging developers through empowerment Provides guidance for efficient management of projects in a way that allows for high flexibility and adaptability
•
Ref: Http://www.secc.gov.eg
Benefits of Agile
• Happy customers
– they get what they really want!
• • • • • •
Faster feedback Quick response to changes Trusts from customers Increase in Team Participation Risk management built-in Better software quality
CMMI & Agile
What is CMMI? What is Agile? Process & Organizational Culture Why do you want both? How to apply the two things together?
Why Invest in Process?
• Looking for an external certification • External perspective. • Cost to enter a market but do not receive full value from your process investment.
Why Invest in Process?
• Improve your organisation ? • Internal perspective. • CULTURAL shift. • Disruptive changes to increase competitiveness. Maximum ROI.
What is Your Culture?
• Enabling or Preventative? • Espouses Values or Enforces Doctrine? • Increase Competitiveness or “Business as Usual”.
Process is Culture
• In order to get the full return on your process investment you must change your organizational Culture. • Most CMMI implementations presume a certain organizational Culture. • Getting CMMI & Agile to work together is strictly a matter of Culture.
Toyota Case Study
• # 1 Car Manufacturer in the World • Went through ISO 9000 Process – declined to register. No certificate! • The 14 Principles of the Toyota Way • Instills an Ethos – a CULTURE.
4 Sections of the Toyota Way
• Long-Term Philosophy • The Right Process Will Produce the Right Results • Add Value to the Organization by Developing Your People • Continuously Solving Root Problems Drives Organizational Learning
CMMI & Agile
What is CMMI? What is Agile? Process & Organizational Culture Why do you want both? How to apply the two things together?
Why do you want both?
• CMMI and Agile often perceived as didactic …
• People that advocate Agile tend to disdain structure • People who support CMMI tend to want to avoid chaos and risk
• …So it follows that CMMI focuses on planning and that • Agile focuses on iterations and failing fast • Who said we have to choose?
Problem Definition
Two primary reasons for the discord between the Agile and CMMI
Myths about Agile and CMMI
No documentation is required – Just Code Man! We can only “do CMMI” if we focus on developing PIIDS, documents, and reports CMMI is something that you “implement” CMMI only applies to large Companies It will double our workload and slow us down It’s designed to work well with “waterfall” projects
“Design on the fly” results in a better product
Customers are at every meeting making decisions with the team No need to record decisions: we just have a meeting CMMI is incompatible with Agile Appraisals or audits are not valuable
Why do you want both?
provides insight into what processes are needed to maintain a disciplined mature organization capable of predicting and improving performance of the organization and projects provides guidance for efficient management of projects in a way that allows for high flexibility and adaptability Agile
CMMI + Agile
CMMI
the mindset from Agile ensures that processes are implemented efficiently while embracing change, and CMMI ensures that all relevant processes are considered
The Agile Core Culture
• Culture of Collaboration • Cross Functional Empowering Teams • Visual Control & Transparency
CMMI Cultural Change
• Every process area talks about Stakeholder Involvement and Management • Cross Functional Empowering Teams through IPPD • Control and Transparency through PMC and QPM
The Agile Core Culture
• Culture of Demonstrating Deliverables Early • Immediate Feedback & Improvement • Results Driven vs. “Hope”/Plan Driven
CMMI Cultural Change
• Requirements Development (RD) promotes the use of proto-types to help discover the clients requirements • Every Process Area talks about constant feedback through measurement and lessons learned • Control through measurement and review and immediate corrective action if things go wrong
The Agile Core Culture
• Culture of Test Driven Development • Ensure highest quality first time • Support for bold, innovative change
CMMI Cultural Change
• Verification (Ver) and Validation (Val) test the product to ensure quality • Peer Reviews (Ver) try to ensure we do an early type of test • Innovative change is good, it should be control
The Agile Core Culture
• Culture of Risk (Value) Management • State uncertainties in no uncertain terms • Proper balance of risk vs. reward
CMMI Cultural Change
• Use the Risk Management Process (RSKM) to: • Identify and categorize all risks • Quantify the risks so you can balance risk and reward • Add value to the project through true risk management
The Agile Core Culture
• Culture of Continuous Improvement • Consider all Options Slowly building Consensus • Identify Root causes and not symptoms • Implement decisions Rapidly
CMMI Cultural Change
• Continuous Process Improvement through OPF, OPD and OPP • Use Decision and Analysis process (DAR) to consider all options and use criteria to help make the right decision • Use Casual Analysis Process (CAR) to fix the root cause not just the problem • Use different lifecycles for different decisions (IPM)
Conclusion
CMMI and Agile are compatible
CMMI and Agile can complement each other by creating synergies that benefit the organization using them
Conclusion
Using Agile+ to achieve CMMI Level 2 and 3 will provide several benefits that might not otherwise accrue:
•
Ref: http://www.agiletek.com
How to apply the 2 thing together?
The “what” quality principle
CMMI-ACQ
CMMI-SVC ISO
CMMI-DEV
The “how” operational methods
PMI ITIL TSP
AGILE
How to apply the 2 thing together?
How to apply the 2 thing together?
Process Area
Agile Best Practices
Agile Best Practices
References
• • • •
• • •
http://www.sei.cmu.edu/cmmi www.sverdrup.com http://www.broadswordsolutions.com http://jeffsutherland.com/scrum/SutherlandScrumCMMI6pages.pdf http://www.secc.gov.eg http://www.sei.cmu.edu/publications/documents/08.reports/08t n003.html http://www.agiletek.com
Questions
Contact Us
Global Process Innovations (GPI) Asia 2 Ploenchit Center, G Floor, Sukhumvit Rd., Klongtoey, Klongtoey,
Bangkok 10110
Tel: +66 (0)2 305 6612
Website: WWW.GPIASIA.NET
Paul Iredale : paul_d_iredale@yahoo.co.uk Benjamin Scherrey : scherrey@proteus-tech.com