Why BI needs CMMI-5


Published on

High level presentation of why CMMI-5 is needed for BI development

Published in: Technology, 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
  • Gerd Vi vil konsentrere oss om hovedpunktene, ikke detaljer!!!! Vi vil ikke snakke om rollefordeling
  • Gerd Vi vil konsentrere oss om hovedpunktene, ikke detaljer!!!! Vi vil ikke snakke om rollefordeling
  • Why BI needs CMMI-5

    1. 1. Presented by: Alain Charpentier Why BI needs CMMI-5
    2. 2. Table of content <ul><li>Introduction </li></ul><ul><li>Basic Process Thinking </li></ul><ul><li>Basic of BI development </li></ul><ul><li>Basic of CMMI </li></ul><ul><li>Why the BI process need CMMI-5 </li></ul>
    3. 3. Introduction <ul><li>This document present a high-level justification why the BI development process need a CMMI-5 approach. </li></ul><ul><ul><li>We first introduce some basic Process Thinking concepts </li></ul></ul><ul><ul><li>Then we highlight the difference between the BI development process and the development of transactional application </li></ul></ul><ul><ul><li>We then present a summary view of the CMMI </li></ul></ul><ul><ul><li>And we concluded on why the BI development approach is a good fit for CMMI-5 </li></ul></ul>
    4. 4. Basic Process Thinking
    5. 5. Basic Process Thinking <ul><li>We use a simplified Ketchup factory to introduce Processes Thinking </li></ul><ul><li>If all our tomatoes are of uniform size and have the same &quot;maturity&quot;, we will have a very simple manufacturing process, variability will be low. </li></ul>10 tomatoes 1 bottle
    6. 6. Basic Process Thinking (cont's) <ul><li>If the size and the &quot;maturity&quot; varies then we introduce a lot a variability in our process. </li></ul><ul><ul><li>We need to adjust de number of tomatoes by bottle, the cooking time, the quantity of spice, etc. </li></ul></ul>? tomatoes 1 bottle
    7. 7. Complex Process = Small batch <ul><li>The complexity of the process has an impact on the size of the &quot;batch&quot; we can process. </li></ul><ul><ul><li>Intuitively we can see that the more often we need to adjust the cooking time or the spice of a process the smaller the &quot;batch&quot; will need to be. </li></ul></ul><ul><ul><li>This can be demonstrated mathematically using Queuing Theory and Little's Law*. </li></ul></ul>* George and Wilson (2004),Conquering Complexity in Your Business,McGraw Hill
    8. 8. Impact of many variables <ul><li>As we raise the number of control variables (ie. complexity) we reach a point were the deterministic approach (ie. a fix recipe) will not work. </li></ul><ul><ul><li>Intuitively we know that if we have a few variables we could devise a fix recipe. But, if the number of variable is large, than the multiple combination of variables (n x n) make it impossible to have a &quot;fix recipe&quot;. </li></ul></ul>* Sterman, John D. (2000). Business Dynamics . McGraw Hill.
    9. 9. The need for feedback <ul><li>We need to introduce feedback to control complex process. </li></ul><ul><ul><li>This can be demonstrated using Theory of System and System Dynamic*. </li></ul></ul>* Sterman, John D. (2000). Business Dynamics . McGraw Hill. Input Output
    10. 10. Controlling Complex Process <ul><li>Production cycle will be short. </li></ul><ul><ul><li>Trying to implement long production cycle is doomed for failure. </li></ul></ul><ul><li>Feedback is essential </li></ul><ul><ul><li>The quality of the input will trigger adjustment to the process </li></ul></ul><ul><ul><li>Feedback from the customer and feedback from within the process will be required </li></ul></ul>Input control Customer feedback Process feedback
    11. 11. Basic of BI development
    12. 12. Basic BI development <ul><li>BI development is more complex that Transactional development </li></ul><ul><li>A over simplified example: develop a system with 5 screens </li></ul><ul><ul><li>Effort to develop the screen </li></ul></ul><ul><ul><ul><li>H1: Effort and complexity is equivalent </li></ul></ul></ul><ul><ul><li>Effort to develop the database </li></ul></ul><ul><ul><ul><li>Relational model vs Dimensional model </li></ul></ul></ul><ul><ul><ul><li>H2 : Effort and complexity is equivalent </li></ul></ul></ul><ul><ul><li>Effort to develop the extract and load </li></ul></ul><ul><ul><ul><li>No equivalent for the transactional system </li></ul></ul></ul><ul><li>For an application of the same size (5 screens), BI development is more complex. </li></ul>ETL
    13. 13. Other BI differences <ul><li>Transactional </li></ul><ul><ul><li>Automate business process </li></ul></ul><ul><ul><li>Design for efficiency </li></ul></ul><ul><ul><li>React to events </li></ul></ul><ul><ul><li>Analysis process </li></ul></ul><ul><ul><ul><li>Decompose the process (create, read, update, destruction) </li></ul></ul></ul><ul><ul><ul><li>Identify the validations </li></ul></ul></ul><ul><ul><li>Development process </li></ul></ul><ul><ul><ul><li>By adding function (linear) </li></ul></ul></ul><ul><ul><ul><li>Project, clear start and stop date, fix budget </li></ul></ul></ul><ul><ul><li>Data </li></ul></ul><ul><ul><ul><li>Short transaction </li></ul></ul></ul><ul><ul><ul><li>Current data </li></ul></ul></ul><ul><ul><ul><li>Sources specific </li></ul></ul></ul><ul><ul><ul><li>Detail </li></ul></ul></ul><ul><ul><li>Life cycle : 10-15 years </li></ul></ul><ul><li>BI </li></ul><ul><ul><li>Automate decision process (accelerate recurring decision) </li></ul></ul><ul><ul><li>Design for effectiveness </li></ul></ul><ul><ul><li>Anticipate events </li></ul></ul><ul><ul><li>Analysis process </li></ul></ul><ul><ul><ul><li>Understand the process </li></ul></ul></ul><ul><ul><ul><li>Identify recurring questions </li></ul></ul></ul><ul><ul><ul><li>Define the context </li></ul></ul></ul><ul><ul><ul><li>Identify how to make the information actionable </li></ul></ul></ul><ul><ul><li>Development process </li></ul></ul><ul><ul><ul><li>Additive iteration </li></ul></ul></ul><ul><ul><ul><li>More of a repetitive process, no clear definition when we have enough information </li></ul></ul></ul><ul><ul><li>Data </li></ul></ul><ul><ul><ul><li>Long query </li></ul></ul></ul><ul><ul><ul><li>Historical data </li></ul></ul></ul><ul><ul><ul><li>Integrate multiple sources </li></ul></ul></ul><ul><ul><ul><li>Detail, summarized & derived </li></ul></ul></ul><ul><ul><li>Life cycle : 5-7 years </li></ul></ul>
    14. 14. Process Thinking applied to BI development <ul><li>Because the BI development process is more complex </li></ul><ul><ul><li>We should use series of short cycle (short batch) </li></ul></ul><ul><ul><li>Make greater use of feedback </li></ul></ul><ul><ul><ul><li>Need to have more attention to input </li></ul></ul></ul><ul><ul><ul><li>Need more feedback from customers </li></ul></ul></ul><ul><ul><ul><li>Need more feedback from the process (the team) </li></ul></ul></ul><ul><li>Because of the shorter life cycle, BI solution will need to be re-architected more often </li></ul><ul><ul><li>Need to separate the infrastructure (Data backplane) architecture from the data flow architecture. </li></ul></ul>Data flow Data backplane
    15. 15. Basic of CMMI
    16. 16. History of CMMI <ul><li>1984 – SEI founded </li></ul><ul><li>1988 – Watts Humphrey report </li></ul><ul><li>1991 – Publication of SW-CMM version 1.0 </li></ul><ul><li>1995 – Work start on SW-CMM version 2.0 </li></ul><ul><li>1998 – SW-CMM work stop, start CMMI </li></ul><ul><li>2000 – Publication of CMMI version 1.0 </li></ul><ul><li>2003 – Publication of CMMI version 1.1 </li></ul><ul><li>2006 – Publication of CMMI version 1.2 </li></ul>
    17. 17. Structure of CMMI <ul><li>Four disciplines </li></ul><ul><ul><li>System Engineering (SE) </li></ul></ul><ul><ul><li>Software Engineering (SW) </li></ul></ul><ul><ul><li>Integrated Product and Process Development (IPPD) </li></ul></ul><ul><ul><li>Supplier Sourcing (SS) </li></ul></ul><ul><li>Two representations </li></ul><ul><ul><li>Staged </li></ul></ul><ul><ul><li>Continuous </li></ul></ul><ul><li>Module </li></ul><ul><ul><li>CMMI Acquisition module </li></ul></ul><ul><li>Appraisal Method </li></ul><ul><ul><li>Appraisal Requirements for CMMI (ARC) </li></ul></ul><ul><ul><li>SCAMPI Method Definition Document (MDD) </li></ul></ul><ul><li>Four Courses </li></ul><ul><ul><li>Introduction to CMMI </li></ul></ul><ul><ul><li>Intermediate Concepts of CMMI </li></ul></ul><ul><ul><li>CMMI Instructor training </li></ul></ul><ul><ul><li>SCAMPI Lead appraiser Training </li></ul></ul>CMMI product team, CMMI for Development (CMMI-DEV), Version 1.2, Carnegie Mellon Univ., Aug. 2006.
    18. 18. CMMI Two representations <ul><li>Stage representation </li></ul><ul><ul><li>Level – 5 </li></ul></ul><ul><ul><ul><li>OID, CAR </li></ul></ul></ul><ul><ul><li>Level – 4 </li></ul></ul><ul><ul><ul><li>OPP, QPM </li></ul></ul></ul><ul><ul><li>Level – 3 </li></ul></ul><ul><ul><ul><li>REQS, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR </li></ul></ul></ul><ul><ul><li>Level – 2 </li></ul></ul><ul><ul><ul><li>REQM, PP, PMC, SAM, MA, PPQA, CM </li></ul></ul></ul><ul><li>Continuous representation </li></ul><ul><ul><li>Support </li></ul></ul><ul><ul><ul><li>CM, PPQA, MA, CAR, DAR </li></ul></ul></ul><ul><ul><li>Engineering </li></ul></ul><ul><ul><ul><li>REQM, REQS, TS, PI, VER, VAL </li></ul></ul></ul><ul><ul><li>Project Management </li></ul></ul><ul><ul><ul><li>PP, PMC, SAM, IPM, RSKM, QPM </li></ul></ul></ul><ul><ul><li>Process Management </li></ul></ul><ul><ul><ul><li>OPF, OPD, OT, OPP, OID </li></ul></ul></ul>CMMI product team, CMMI for Development (CMMI-DEV), Version 1.2, Carnegie Mellon Univ., Aug. 2006.
    19. 19. CMMI Maturity level Level 1 Initial Level 2 Managed Level 3 Defined Level 4 Quantitatively Managed Level 5 Optimized Process unpredictable, poorly controlled, and reactive Process characterized for project and is often reactive Process characterized for the organisation and is proactive Process measured and managed Focus on continuous process improvement
    20. 20. CMMI Maturity level - 5 <ul><li>Level 3 </li></ul><ul><ul><li>You document the process and insure everybody follows the process </li></ul></ul><ul><li>Level 4 </li></ul><ul><ul><li>You measure the process as documented in the level 3 </li></ul></ul><ul><li>Level 5 </li></ul><ul><ul><li>You use the measurement captured in level 4 to optimised the process </li></ul></ul><ul><ul><li>Level 5 introduce formal feedback to the process. It is define in the CAR – Causal Analysis and Resolution process area. </li></ul></ul>
    21. 21. Why BI needs CMMI-5
    22. 22. Why BI need CMMI-5 <ul><li>BI is a complex process that requires feedback </li></ul><ul><li>Only CMMI-5 has formal feedback </li></ul><ul><li>But CMMI-5 is hard to achieve ? </li></ul>
    23. 23. How hard is CMMI-5 <ul><li>The average CMMI process uses ~400 &quot;objectives evidences&quot; or control point </li></ul><ul><li>Template, form or document are always the obvious answer </li></ul><ul><ul><li>A CMMI Appraiser will typically examines ~1000 documents </li></ul></ul><ul><li>But they are other options </li></ul><ul><ul><li>Digital photo (standard on many phone) </li></ul></ul><ul><ul><li>White board printout </li></ul></ul><ul><ul><li>Videos (Captured by cheap web cam) </li></ul></ul><ul><ul><li>Scanned drawing, documents including napkins </li></ul></ul><ul><ul><li>Database entry </li></ul></ul><ul><ul><li>Code comments </li></ul></ul>
    24. 24. Examples of &quot;objective evidence&quot; <ul><li>Code reviews can be evidenced directly in the code library with comments. </li></ul><ul><li>Configuration Planning documents can be consolidated within a single document (Tailoring checklist, Configuration audit checklist, Sizing and Estimating evidence). </li></ul><ul><li>Meeting Log can be used to consolidate: Meeting minute, Notice of decision, Stakeholder Involvement Report, Status Report, Stakeholder Communication. </li></ul><ul><li>Story Card can be used to consolidate: Customer Requirements, Product Component Requirements, Concepts and Scenario, Definition of Requirements Functionality. </li></ul><ul><li>Requirements Log can be used to consolidate: Change Request Log, Change Request Approval Form, Bi-Directional Traceability Matrix. </li></ul><ul><li>Test Driven Development can be use to consolidate : User Acceptance, Detail Specification, Customer signoff. </li></ul>
    25. 25. Consolidating CMMI-5 evidences <ul><li>For process that are repetitive, like braking a BI project in a series of smaller &quot;sprints&quot;, the CMMI-5 evidences can be consolidate: </li></ul><ul><ul><li>From ~400 &quot;objectives evidences&quot; </li></ul></ul><ul><ul><li>To ~70 &quot;objectives evidences&quot; </li></ul></ul><ul><li>With tools like code libraries, collaborative task board, user story management, automated test the resulting consolidation can reach down to: </li></ul><ul><ul><li>~ 50 &quot;objectives evidences&quot; </li></ul></ul>CMMI or Agile : Why Not Embrace Both: H. Glazer, J. Dalton, D. Anderson, M. Konrad et S. Shrum
    26. 26. How to achieve BI CMMI-5 <ul><li>Because of the nature of BI development </li></ul><ul><ul><li>Complex process </li></ul></ul><ul><ul><li>Short development cycle </li></ul></ul><ul><ul><li>Greater need for feedback </li></ul></ul><ul><ul><li>Need a rigorous process </li></ul></ul><ul><li>By CMMI-5 combine with modern practices like </li></ul><ul><ul><li>Product Backlog and planning meeting </li></ul></ul><ul><ul><li>Daily review </li></ul></ul><ul><ul><li>Short sprint </li></ul></ul><ul><ul><li>Review and retrospective meeting </li></ul></ul><ul><li>Not only does it make CMMI-5 achievable, it make it a requirement for BI development. </li></ul>Scrum and CMMI Level 5 : The Magic Potion for Code Warriors: Jeff Sutherland, Carsten Ruseng Jakobsen , Kent Johnson, Agile 2005
    27. 27. Questions