Agile And Cmmi


Published on

Presentation made at SEPG China 2007 meeting in Hangzhou. Selected as one of the top 10 presentations at the conference.

Published in: Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Agile And Cmmi

    1. 1. Agile and CMMI Perficient China
    2. 2. Agenda <ul><li>Brief Overview of Agile Methodologies </li></ul><ul><li>Comparing Agile and CMMI </li></ul><ul><li>Why CMMI? </li></ul><ul><li>Enhancing Agility with CMMI </li></ul>
    3. 3. Agile Manifesto <ul><li>We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: </li></ul><ul><li>Individuals and interactions over processes and tools </li></ul><ul><li>Working software over comprehensive documentation </li></ul><ul><li>Customer collaboration over contract negotiation </li></ul><ul><li>Responding to change over following a plan </li></ul><ul><li>That is, while there is value in the items on </li></ul><ul><li>the right , we value the items on the left more. </li></ul><ul><li> </li></ul>
    4. 4. Common Agile Methods <ul><li>eXtreme Programming (XP) [Beck] </li></ul><ul><li>Scrum [Schwaber] </li></ul><ul><li>Feature-Driven Development (FDD) [de Luca] </li></ul><ul><li>Crystal Methodolgies [Cockburn] </li></ul><ul><li>Lean Software Development [Poppendieck] </li></ul><ul><li>BoldDelivery [Perficient] </li></ul>
    5. 5. BoldDelivery Methodology
    6. 6. Why CMMI? <ul><li>Our motivations in pursuing CMMI include: </li></ul><ul><ul><li>As a new technology consulting company, CMMI compliance would improve our marketability. </li></ul></ul><ul><ul><li>Leverage CMMI to institutionalize the BoldDelivery methodology. </li></ul></ul><ul><ul><ul><li>Have the processes in place to support rapid growth </li></ul></ul></ul><ul><ul><ul><li>We don't want our agile processes to degrade into undisciplined code-and-fix cycles. </li></ul></ul></ul>
    7. 7. From a CMMI perspective <ul><li>Agile </li></ul><ul><li>Unstructured and unmeasured </li></ul><ul><li>No defined organizational standard </li></ul><ul><li>Success relies on people (high risk) </li></ul><ul><li>Less control (Less measurement) </li></ul><ul><li>Suitable ONLY for SMALL project </li></ul><ul><li>CMMI </li></ul><ul><li>Structured (Roadmap to improve) </li></ul><ul><li>Organizational knowledge repository </li></ul><ul><li>Success relies on documented and repeatable process </li></ul><ul><li>Statistically control performance </li></ul><ul><li>Scalable to any project size </li></ul>
    8. 8. From an agile perspective <ul><li>Agile </li></ul><ul><li>Lightweight Process </li></ul><ul><ul><li>Minimize Documentation (eliminate waste) </li></ul></ul><ul><li>Embrace Change </li></ul><ul><ul><li>Acknowledge that things will change </li></ul></ul><ul><ul><li>Iterative (Minimize cost of change) </li></ul></ul><ul><li>Focus on delivering working software </li></ul><ul><li>CMMI </li></ul><ul><li>Heavyweight Process </li></ul><ul><ul><li>Document Centric (extra work) </li></ul></ul><ul><li>Plan Driven (Not flexible) </li></ul><ul><ul><li>Linear or Waterfall (Upfront design to minimize down stream change) </li></ul></ul><ul><li>Focus on conformance to Process and Specification </li></ul><ul><li>Delivery not stressed </li></ul>
    9. 9. Addressing misconceptions <ul><li>CMMI </li></ul><ul><li>Heavyweight Process </li></ul><ul><li>Plan Driven (Not flexible) </li></ul><ul><li>Focus on Process and Specification </li></ul><ul><li>Agile </li></ul><ul><li>Unstructured and unmeasured </li></ul><ul><li>No defined organizational standard </li></ul><ul><li>Success relies on people (high risk) </li></ul><ul><li>Less control (Less measurement) </li></ul><ul><li>Suitable ONLY for SMALL project </li></ul><ul><li>CMMI </li></ul><ul><li>Heavyweight process/copious documentation not “required” </li></ul><ul><li>Waterfall not required: Flexible, iterative processes can be applied </li></ul><ul><li>Focus is delivery of results through formal, measured process </li></ul><ul><li>Agile </li></ul><ul><li>Velocity, Burndown Charts, Parking Lot Charts, Delivery </li></ul><ul><li>Scrum/FDD well defined </li></ul><ul><li>Success relies on people and process </li></ul><ul><li>Measured and focused </li></ul><ul><li>Proven to work across a range of project sizes </li></ul>
    10. 10. No Fundamental Conflict Between Agile and CMMI <ul><li>CMMI and Agile methods both aspire to: </li></ul><ul><ul><li>Improve productivity and quality </li></ul></ul><ul><ul><li>Improve customer satisfaction </li></ul></ul><ul><ul><li>Meet cost and schedule objectives </li></ul></ul><ul><ul><li>Deliver Results </li></ul></ul><ul><li>CMMI is flexible </li></ul><ul><ul><li>The Specific Goals (SGs) and Generic Goals (GGs) are Required </li></ul></ul><ul><ul><ul><li>How to accomplish these goals is not specified </li></ul></ul></ul><ul><ul><ul><li>Specific Practices and Generic Practices are Expected </li></ul></ul></ul><ul><ul><ul><li>We use BoldDelivery to satisfy the goals and practices </li></ul></ul></ul><ul><ul><ul><li>When we identify goals or practices not satisfied by the existing methodology, we enhance. </li></ul></ul></ul><ul><ul><ul><li>When we enhance, we still consider lightweight </li></ul></ul></ul>
    11. 11. Example: QPM <ul><li>Use statistical analysis to control process performance. SQA can help PM to do statistical analysis and control the performance. </li></ul>SP 1.4 Manage Project Performance <ul><li>Select sub-processes based on problems found of previous iteration (probably during retrospective meeting). </li></ul>SP 1.3 Select the Sub processes that Will Be Statistically Managed <ul><li>Tailor the project process based on organizational process performance data. </li></ul><ul><li>Revise the project process based on the feedback from retrospective and the collected data from previous iterations. </li></ul>SP 1.2 Compose the Defined Process <ul><li>Set up project objective for quality and velocity for each iteration based on the data of previous iterations and business needs from client. </li></ul>SP 1.1 Establish the Project’s Objectives SG1 Quantitatively Manage the Project
    12. 12. Example: Agile Metrics – Iteration Delivery Indicator
    13. 13. Example: Agile Metrics – Iteration Velocity <ul><li>Definition: Story points per iteration </li></ul><ul><li>Usage: Velocity allows the team to estimate how much work they can expect to complete based on prior efforts. </li></ul>Iterations Iterations
    14. 14. Example: Agile Metrics -- Monitoring Behavior of Continuous Integration <ul><li>Definition: Number of builds per iteration (failures vs. success) </li></ul><ul><li>Usage: Monitoring the status of continuous integration </li></ul>
    15. 15. Thanks!