The Wolf and the Lamb shall Feed Together Dr. Tami Zemel Tangram Hi-Tech Ltd. Shlomi Oren Creo Israel Ltd. The Scrum is an agile, lightweight process developed as a mean to deal with ever changing requirements and dynamic technologies and the need to speed up product development. The development of a product according to Scrum is incremental and organized by short period Sprints. The content of a sprint is defined in a sprint backlog that can t be changed during the sprint. Short daily scrum meetings are used for coordination and problem resolution. The team is autonomous, focused and delivers its work products with higher productivity. Scrum is scaleable to larger groups and products. The CMMI (capability Maturity Model integration) is a model used for process improvement around the world for large and small companies. The model is divided into process areas and does not require implementation of specific method or tool. It allows staged process improvement according to a road map or continuous process improvement that fits the organization business goals and needs. Many practitioners believe that the CMMI imposes heavyweight processes. Yet, it is possible to use the Scrum practices and achieve a subset of the goals of the project planning, project monitoring and requirements management process areas of the CMMI. Therefore, it is suggested to use both the CMMI and the Scrum for process improvement in small and dynamic companies. The presentation describes the CMMI and the Scrum and provides a mapping between them.
The Third National Conference Advanced System Engineering Processes The Wolf and the Lamb shall Feed Together Dr. Tami Zemel Tangram Hi-Tech Ltd. Shlomi Oren Creo Israel Ltd. SM CMM Integration,SCAMPI and IDEAL are service marks of Carnegie Mellon University. Capability Maturity Model, CMMI, and CMM are registered with the U.S. Patent and Trademark Office. 1
Today s Reality Large Number of users Frequent changes in requirements Dynamicity of technologies Increased size and complexity of systems Competition Global development groups Product quality Decrease time to market Limited budgets 2
If you keep doing the same things you ll get the same results Change Processes 3
Content What is the CMMI? An overview to the Scrum CMMI and the Scrum 4
The CMMI - What is it? A comprehensive set of best practices for development and maintenance of systems Used for processes improvement and evaluations of organizational capabilities for SW and System engineering Developed by SEI in Carnegie-Mellon University Used by thousands of companies around the world and tens of companies in Israel Used by large and small companies in various domains 5
Model Focus Engineering Project Management Support Process Management Activities 6
CMMI s Process Areas SAM RD TS REQM PP IPM PI Ver Val Engineering PMC Management RSKM QPM MA CM PPQA OPF OPD ISM CAR DAR OEI OT OPP IT OID 7
An Example for Process Area - Requirements Management Purpose: Manage the requirements of the project's products and product components and to identify inconsistencies between those requirements and the project's plans and work products Goals: SG 1 Manage Requirements Requirements are managed and inconsistencies with project plans and work products are identified. 8
The Dimensions of The CMMI the process dimension Capability (How well) What you do - Process Area, Specific goals, specific practices the capability dimension How well you do it Generic goals and generic practices Process Area (What you do) 9
The Model Representation Continuous Process Area Capability 0 1 2 3 4 5 PA PA PA...for a single process area or a set of process areas Staged ML5 ML4 ML3 ML2 ML 1...for an established set of process areas across an organization 10
Why it Works? Allows incremental improvement Driven by organizational business goals and needs Integrates practices from management, engineering, support and organizational processes Does not require usage of a specific method or tool 11
Scrum What is It? Scrum is one of the popular Agile Development methodologies, that have gained popularity in recent years Developed as a mean to deal with ever changing requirements and dynamic technologies and the need to speed up product development Defined as a wrapper around existing engineering practices of the organization 12
Scrum Concepts Incremental development Organized by short period Sprints. The content of a sprint is defined in a sprint backlog, taken out of the Product Backlog. Anyone can insert items into the Product Backlog, only Product Owner can prioritize During the sprint, the team is isolated from changed requirements 13
Scrum Concepts (Con.) Short daily scrum meetings are used for coordination and problem resolution (Scrum Master) Anyone can observe, only team members can speak Sprints are defined in the Sprint Planning meeting, and reviewed in the Sprint Review meeting Autonomous, focused development team 14
CMMI and the Scrum CMMI is a model and the Scrum is a development method CMMI fits SW and System engineering and other disciplines while Scrum is focused on SW CMMI fits all size of organizations Scrum fits small to mid size projects CMMI includes practices that allow the organization to institutionalize mature processes 15
Scrum Concepts and the CMMI s Process Areas Requirement Management Product backlog list of all items to be developed, continuously prioritized Product owner - sets priorities Scrum team - takes what it believe it can do in within a sprint Requirement changes not allowed during the sprint Project Planning Sprint complete a complete lifecycle (defined, develop, test) within a short period Sprint Planning - meeting to define content of coming sprint Sprint backlog defines the content of the sprint Sprint goal a minimal objective for the sprint that must be achieved Project Monitoring and Control Daily Scrum meeting short daily meeting, 3 key questions: what have I done yesterday, what will I do today, what is in my way Sprint review meeting - at the end of the sprint, review results, analyze difficulties Verification/validation Incremental every version must be tested 16
Scrum Concepts and the CMMI s Generic practices GP 2.4 Roles and responsibilities Product Owner - sets priorities Team autonomous, focused on achieving goals Scrum master his role is to remove blocks from the team GP 2.7 Identify and involve relevant stakeholders Scrum meetings (daily, sprint planning, sprint review) open for all Sprint backlog visibility for all to see progress Anyone can observe, only team members can speak in daily meetings GP 2.10 Review status with higher level management Sprint review meeting - at the end of the sprint, review results, analyze difficulties 17
Consequences As Scrum is a wrapper of existing engineering practices, it does not contradict the CMMI The Scrum fulfills some of the requirements of the CMMI practices and gives them an Agile-driven implementation The combination of Scrum and CMMI can be ideal for smaller projects within CMMI-aware organizations 18
What Can You Gain by Using the CMMI with the Scrum? CMMI as a framework Comprehensive set of practices for management and engineering for all disciplines + Scrum as a method Better responsiveness to dynamic & changing business and technology environments Shorter time to market Higher product quality Increased visibility into the developed product Improved communication and cooperation within the organization Higher employee moral 19
What Can You Gain by Using the CMMI with the Scrum? CMMI as a framework + Scrum as a method Benefits to: the Organization, its Customers, and its Employees 20
References CMMI, Guidelines for Process Integration and product improvement, M.B Chrissis, M. Konard, S. Shrum, Addison Wesley, 2003 Agile Software Development with Scrum, K. Schwaber, M. Beedle, Prentice Hall, 2002 21
Thanks for your participation For more information: Dr. Tami Zemel tami@tangramhitech.com Shlomi Oren shlomi.oren@creo.com 22