Dr. Hisham Abushama.  Software Quality (Why?):  Increasing Competitions Among Software Companies [1].  Human Safety[1].  Reducing Risks[1].  Increasing.

Slides:



Advertisements
Similar presentations
Introduction to Software Capability Maturity Model Chuck Connell Copyright 2002, Charles H. Connell Jr.
Advertisements

A presentation from June 20, 2000 Jim Brosseau The ‘How-To’ of Software Process Improvement.
How ISO9001 Compares with CMM Mark C. Paulk JAN,1995 CMM version 1.1 ISO9001 July 1994 presented by Zhilan Zhou.
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
Chapter 2 The Software Process
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Paul Davies Thomson Racal Defence Ltd
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
 Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
SE 470 Software Development Processes James Nowotarski 12 May 2003.
SE 450 Software Processes & Product Metrics 1 Quality Systems Frameworks.
Capability Maturity Model (CMM) in SW design
Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes.
R&D SDM 1 Software Process Improvement Capability Maturity Models
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Capability Maturity Model
SOFTWARE QUALITY ASSURANCE Asst. Prof. Dr. Selim BAYRAKLI Maltepe University Faculty of Engineering SE 410.
Chapter : Software Process
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
What ISO 9000 Mandates The requirements for a quality system have been standardized - but many organizations like to think of themselves as unique. So.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
The Capability Maturity Model for Software. Software Engineering Institute US DoD funded institute associated with Carnegie Mellon Mission is to promote.
Capability Maturity Model. Reflection Have you ever been a part of, or observed, a “difficult” software development effort? How did the difficulty surface?
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Chapter 2 Software Process: A Generic View
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
N By: Md Rezaul Huda Reza n
Chapter 2 Process: A Generic View
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
CMMi What is CMMi? Basic terms Levels Common Features Assessment process List of KPAs for each level.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Capability Maturity Model. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First version published in.
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Thomas L. Gilchrist Testing Basics Set 4: Strategies & Metrics By Thomas L. Gilchrist, 2009.
Quality Concepts within CMM and PMI G.C.Reddy
Z26 Project Management CMMI and Improving Process Quality Lecture 5 a Graham Collins, UCL.
Capability Maturity Model CS3300 Fall The Problem Contractors over budget and late. Need a way to rank how likely a software company is to deliver.
SEI CMM Robert Johnson Bobby Kolski Rafi Seddiqi Kumeel Alsmail.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
The Essence of Capability Maturity Model Prerna Sethi Oct 26, 2004.
CS Process Improvement CMM Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, Chapter 6. W. Humphrey,
CMMI. 1.Initial - The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual.
Introduction to Software Capability Maturity Model.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Page 1 The Capability Maturity Model (CMM) distinguishes between immature and mature software organizations. Immature software organizations are typically.
COMP 6710 Course NotesSlide 3-0 Auburn University Computer Science and Software Engineering Course Notes Set 3: Software Process Maturity Computer Science.
Personal Software Process PSP--Personal Software Process.
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Engineering CE 501 Prepared by : Ashwin Raiyani.
The Capability Maturity Model for Software: An Overview
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
Cmpe 589 Spring Fundamental Process and Process Management Concepts Process –the people, methods, and tools used to produce software products. –Improving.
State of Michigan Achieving Software Process Improvement with
CS4311 Spring 2011 Process Improvement Dr
Information Technology Project Management – Fifth Edition
THE SOFTWARE PROCESS (revisited)
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Dr. Hisham Abushama

 Software Quality (Why?):  Increasing Competitions Among Software Companies [1].  Human Safety[1].  Reducing Risks[1].  Increasing Customer Confidence[1].  Customer Satisfaction[1].  Business Welfare[1].

 Low Software Quality Could Cause:  Unreliable Software.  High Maintenance  E.g. London Ambulance Service System (Finkelstein and Dowel, 1995).  Explosion European Space Agency Rocket in 1996 (Arnold, 2000)

 Quality Process:  Positive impacts on Services (Cost, On-time delivery, development technology and people)[2].  Quality Software Process => Quality Software Product [1].

 SPI initiated to achieve Software Quality Processes[3].  The relation between the process and the product may it seems simple[3]!  Numerous approaches for SPI.  These approaches are often called “Frameworks”.

 Capability Maturity Model (CMM or SW-CMM).  Capability Maturity Model for Integration (CMMI).  IDEAL Model.  ISO/IEC / SPICE  BOOTSTRAP

 First Initiative  Developed by SEI-Carnegie Mellon University,  during the mid 1980s then  refined early 1990s.  Watts Humphrey was initial author, then Mark Paulk, Bill Curtis, and others.  Borrows heavily from general Total Quality Management (TQM) and work of Philip Crosby.  Objective:  Assess the capability of the US – DoD Software Contractors and to guide improvement.

 Main Properties:  Conceptual Framework  Based on Industrial Practices  Assess Capability and Performance of a Software Development Organization.  Covers Practices for: Planning, engineering, managing software development and maintenance.

 Used to:  Assess current state of the organization development process.  Identify areas for improvement  Provide roadmap as A plan to start with SPI programme. Based upon the identified areas for improvement.

 Widely Accepted [5].  Reference Model [5].  Was a de facto standard for SPI [5].

 Hire an officially certified CMM Assessor to conduct a formal evaluation.  To win government software contracts.  To find high-quality software subcontractors. (SA-CMM)  For pure development shops, to impress clients with your quality. (India)  Send your own people to official CMM training, then conduct internal assessments.  For a large organization where software process improvements have a big payoff.

Initial (1) Repeatable (2) Defined (3) Managed (4) Optimizing (5) Disciplined process Standard, consistent process Predictable processContinuouslyimproving process

 Level 1 – Initial. Anything at all. Ad- hoc and chaotic. Will have some successes, but will also have failures and badly missed deadlines.  Level 2 – Repeatable. SW processes are defined, documented, practiced, and people are trained in them. Groups across an organization may use different processes.

 Level 3 – Defined. SW processes are consistent and known across the whole organization.  Level 4 – Managed. SW processes and results are measured quantitatively, and processes are evaluated with this data.  Level 5 – Optimizing. Continuous process improvement. Experimenting with new methods and technologies. Change processes when find something that works better.

 Team tackles projects in different ways each time  Can have strong successes, but may not repeat  Some time/cost estimates are accurate, many far off  Success comes from smart people doing the right things  Hard to recover from good people leaving  Frequent crises and "firefighting.” (Many believe this is standard for SW development. CMM says NO.)  Most SW development organizations are Level 1.  Estimating curve, process diagram.

 Key areas  Requirements management  Software project planning  Project tracking and oversight  Subcontracts management  Quality assurance  Configuration management  Usually takes 18+ months. (Some ask for Level 1.5.)  Estimating curve  Process diagram

 Key areas. Level 2, plus…  Organization-wide process focus  Organization-wide process definition  Training program in above  Integrated software management (above applied per project)  Software product engineering (coding, etc.)  Inter-group coordination  Peer reviews  Estimating curve  Process diagram

 Key areas. Level 3, plus…  Quantitative process management (data gathering)  Quality management (data-driven quality improvement)  Estimating curve  Process diagram

 Key areas. Level 4, plus…  Defect prevention  Technology change management (bring in new methods)  Process change management (improve processes)  Estimating curve  Process diagram

 Maturity Levels (5)  Key Process Areas (2-7) Goals (2-4) Commitment to perform Ability to perform Measurement and analysis Verification Activities performed Key practice #1 Key practice #2 …  Main idea: Saying you will do something is not enough.

 Personal Software Process (PSP)  Team Software Process (TSP)  People CMM (P-CMM)  Software Acquisition CMM (SA-CMM)  System Engineering CMM (SE-CMM)  Integrated Product Development CMM (IPD-CMM)  CMM Integration (CMMI): SW + SE + IPD

 It is a goal, not a method  Being used just as stamp of approval  Doesn’t say anything about software!  Doesn’t help in a crisis  Only for repetitive tasks

 Organizations often look to CMM as a method or formula for improvement  Tempting to want easy answers.  CMM is actually a management framework, with many details left out  Example: “You must have peer reviews.” But how should the reviews be run?  If you say, "we do CMM just like the book", you aren't doing CMM  To use CMM, you have to think  You must be flexible, be creative, and integrate the goals of CMM with the realities of your business.

 Some organizations want CMM only as a stamp of approval, without a high-level commitment to process improvement or quality  Want to find easiest way to get certified as Level 2 (or 3) without really changing  I talked to the first CMM assessor in the world. She was tired and disillusioned. Why?  She wanted companies to say, “Let’s work together to improve our software processes.”  Instead, they say, “Just tell us what to do to get Level 2, so we can get back to work."

 CMM is, by design, a model for managing software projects  They claim most software failures are due to management problems rather than technical barriers (I agree)  But CMM goes too far in this direction  An organization could write lousy code (consistently) and be rated highly by CMM  This is counter-intuitive, since good code is the goal of software development

 CMM does not help projects that are in crisis right now  Trying to apply it then would make things worse  Unfortunately, this is often when companies look for help with their software processes  Analogy: For long-term cardiac health…  Eat lots of fruits and veggies, quit smoking, get exercise, reduce stress  But suppose you are having a heart attack now. Will these actions help?  It is too late for preventive measures. You need some other kind of intervention.

 CMM is based on re-using past results for future software projects  In management activities, quality measurements, development processes  But, this only makes sense for relatively repetitive projects  Example: MS Word team creating V7 after V1-6  To create brand-new software of unknown size, with unknown hurdles, using human creativity, CMM is clearly not the right model.

1. Herbsleb, J., Zubrow, David, D. and Goldenson, et al., Software Quality and the Capability Maturity model, Communications of the ACM, Jun 1997, 40, 6 2. Humphrey, Watts (1989) Managing the Software Process, Addison- Wesley, Reading, Massachusetts, SEI Series in Software Engineering, ISBN , 494 pages. 3. Jian Wang, Capability Maturity Model with Information Systems Development, IS6840 Information Systems Analysis, University of Missouri at St. Louis, December 14, John Nagel, Wendy van der Voort Interview versus Mailed Questionnaire, Synovate, Johnson, D.L. and Brodman, J.G., Applying CMM Project Planning Practices to Diverse Environments, Software, IEEE, Volume: 17 Issue: 4, July-Aug. 2000, pp NASA community, Software Quality (SQ), Systems Assurance Manager (SAM) Role in SQ Program, GODDARD SPACE FLIGHT CENTER, Neerland, Henning (2000) Kvalt av kvalitet, In Trendenes Tyranni, (Ed, Rolfsen, Monica), Fagbokforlaget, Bergen, ISBN , pp

8. Paulk, M. C., Curtis, B., Chrissis, M.B., et al., Capability Maturity Model, Version 1.1, IEEE Software, Vol. 10, No. 4, July 1993, pp Rajeeva Ratna SHAH, IT / Software Industries in India and Asian Development, Government of India Ministry of Communications & Information Technology Department of Information Technology, 11th November RON S. KENETT, On the Planning and Design of Sample Surveys, Journal of Applied Statistics Vol. 33, No. 4, 405–415, May 2006 KPA Ltd, Raanana, Israel and University of Torino, Torino, Italy. 11. Sommerville, Software Engineering, Addison Wesley, Tellioglu, Hilda and Wagner, Ina, The Future of Software, Communications of the ACM, vol. 42, no. 12, pp , Walker Royce, CMM vs. CMMI: From Conventional to Modern Software Management, Rational edge, Patrick VIGIER, Software Process Assessment Course, SCAMPI sm Lead Appraiser CMMI® Instructor, 13 July 2005