Computer Engineering 203 R Smith Process/Plan Model 7/2009 1 Development Process Models Development Process Models are different ways to look at the processes.

Slides:



Advertisements
Similar presentations
Group 7 - Chapter 3 Steven Shroyer - Introduction, ad hoc, level 2 Xiao Jingshan - Levels 3 and 4 Dusting Marker - Level 5 and example companies Definintions.
Advertisements

Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
More CMM Part Two : Details.
1 Brief Descriptions of CMM KPAs CEN 6070 Summer 2004.
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
Chapter 2 The Software Process
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Stepan Potiyenko ISS Sr.SW Developer.
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.
Capability Maturity Model (CMM) in SW design
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.
Chapter 3 The Structure of the CMM
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Capability Maturity Model
CMM Level 3 KPA’s CS4320 Fall Organizational Process Focus (Goals) Software process development and improvement activities are coordinated across.
Chapter : Software Process
The Key Process Areas for Level 2: Repeatable Ralph Covington David Wang.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Org Name Org Site CMM Assessment Kick-off Meeting Dates of assessment.
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
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
CMM Level 2 KPA’s CS 4320 Fall Requirements Management 1 Goals: – System requirements allocated to software are controlled using a baseline for.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Soft Tech Development Inc. 1 Software Project Tracking A CMM Level 2 Key Process Area Soft Tech Development Inc.
Lecture 1 Introduction to Software Engineering
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Engineering Lecture # 17
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,
Georgia Institute of Technology CS 4320 Fall 2003.
Software Process Improvement: SEI Capability Maturity Model
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
Software Engineering - I
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
________________________________________________________________________ Jonsson School of Engineering and Computer Science Dr. Mark C. Paulk 2015 ASEE.
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.
Software Engineering (CSI 321) Software Process: A Generic View 1.
COMPGZ07 Project Management CMMI Project Planning Lecture 5b Graham Collins, UCL.
Pertemuan 14 Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
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.
MIS Project Management Instructor: Sihem Smida Project Man agent 3Future Managers1.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
State of Michigan Achieving Software Process Improvement with
CS4311 Spring 2011 Process Improvement Dr
Software Engineering (CSI 321)
Information Technology Project Management – Fifth Edition
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
A possible solution: Personal Software Process (PSP)
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes used on a specific project. Project characteristics influence the process model that is used. – Size: people, time, function – Complexity – Risk – Requirements

Computer Engineering 203 R Smith Process/Plan Model 7/ Other Factors How knowledge is kept and stored Impact of change – Change after implementation is always expensive and considered waste Stability of workforce Complexity of the customer

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models There are many different models for developing software. – SEI/CMM – IEEE – PSP/TSP – Agile Methods Extreme Programming

Computer Engineering 203 R Smith Process/Plan Model 7/ Disciplined Process Every process describes itself as disciplined. What does it mean to be disciplined?

Computer Engineering 203 R Smith Process/Plan Model 7/ Planned Process models can also be called planned development models. Because a process model is called planned does not mean that it is rigid. Because a process model is called Agile does not mean it is undisciplined.

Computer Engineering 203 R Smith Process/Plan Model 7/ Plan v Agile Having a plan does not mean that the plan can not change Being Agile does not mean that you do not have a plan

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models They all have some common objectives: – Better Improved Quality – Faster Lower overall development time – Cheaper Lower resource costs

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models The different development models employ many of the same development techniques. The different development models see the same phases in development. – Requirements gathering – Requirements analysis – Design – Implementation – Deployment

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models If the different models have so much in common why are there different models?

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models The process models can fall into two basic camps each having a different focus on certain aspects of the model. Long term/Short term Process/People Large/Small Predictability/Flexibility

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models How knowledge is kept and transferred – Agile has a person to person focus Low overhead for small groups – In process development models it is through documents Knowledge is maintained outside of individuals

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Each model has its own success stories. Supporters of each model show how to incorporate elements of the other model. No one model has been clearly more successful. A large percentage of all development projects follow no set model.

Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Model The key is to understand the strengths and weaknesses of each model. Understand the characteristics of both the project you are undertaking and the team/resources you have available. Adapt what works best for the project.

Computer Engineering 203 R Smith Process/Plan Model 7/ Process Models SEI/CMM – Process focus; people are interchangeable – Predictability Agile Methods/Extreme Programming – People focus; people make the difference – Flexibility

Computer Engineering 203 R Smith Process/Plan Model 7/ Process Models Process does not mean without change or the ability to adapt.

Computer Engineering 203 R Smith Process/Plan Model 7/ SEI/CMM Software Engineering Institute Capability Maturity Model – Federally funded starting in 1984 – SEI established to address the issues directly related to software development – Initial version published in 1989 by Watts Humphrey

Computer Engineering 203 R Smith Process/Plan Model 7/ The Model 5 Levels – Initial – Repeatable – Defined – Managed – Optimizing As you progress through the level risk decreases and predictability increases

Computer Engineering 203 R Smith Process/Plan Model 7/ The Spirit of CMM CMM is not: – A methodology for Software Development – A production template – A set of process laws CMM is conceptual and non-specific Not a quick fix CMM is a discipline and guideline

Computer Engineering 203 R Smith Process/Plan Model 7/ The Spirit of CMM Looking at the forest and not the trees – What does this mean? The big picture not the details The primary objective is to improve a development organizations ability to develop software

Computer Engineering 203 R Smith Process/Plan Model 7/ Key Process Areas At each level beyond level one there are Key Process Areas defined, KPAs. Within each KPA there is: – Commitment to perform – Ability to perform – Activities to perform – Measurement and analysis – Verifying implementation

Computer Engineering 203 R Smith Process/Plan Model 7/ Key Process Areas Commitment – Management actively supports the process with resources – Management believes in the process Ability – Resources and training Activity – Defined processes and procedures

Computer Engineering 203 R Smith Process/Plan Model 7/ Key Process Areas Measurement – Gathering quantitative data for process improvement Verification – Regular review of the process

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 1 Initial No formal procedures Not repeatable Whatever is being done General chaos Very little learning or process improvement

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 2 Repeatable At level 2 you implement processes and then study them repeating what works and discarding what does not. You become a “conscious” organization, able to learn and improve. At level 2 the focus is at the project level. Policies and procedures apply to individual projects not the entire organization.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 2 Repeatable Repeatable requires documented policies and procedures, so you know what you did. Level 2 is the first time formal controls are put in place. Level 2 is the time for experimentation. Level 2 is generally the hardest level to achieve, in many cases requiring 2+ years.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 2 KPAs Requirements management – The requirements process is controlled Documented, under change control – Software Project Plans are consistent with requirements Software Project Planning – Software project activities are planned and documented – Commitments are made and documented – Software estimates are documented for planning and tracking

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 2 KPAs Project Tracking and Oversight – Actual results are tracked against plans – Corrective actions are taken – Changes to commitments are agreed to by affected groups Software Configuration Management – SCM activities are planned – Selected work products are identified and controlled

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 2 KPAs Software Quality Assurance – SQA activities are planned – Adherence to standards, procedures and policies is verified objectively – Noncompliance issues are addressed Software Subcontract Management – Only qualified subcontractors are selected – Commitments are agreed to – Subcontractor performance is tracked

Computer Engineering 203 R Smith Process/Plan Model 7/ Issues in Achieving Level 2 Lack of commitment – Inability of senior management to keep their hands off. – Lack of commitment of resources. Over analysis – Looking at the trees and not the forest. – Being more concerned with the letter rather than the intent.

Computer Engineering 203 R Smith Process/Plan Model 7/ Issues in Achieving Level 2 Change in mind set – Not the way we have always done it. – Thinking in terms of size not dates. – Making conscious decisions – The need to get objective data. Level 2 is not Rocket Science, but it does require commitment and discipline.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 3 Defined At level 3 the focus shifts from project to organization. At level 2 you experimented to determine what works and what does not work, at level 3 you define the processes that worked for the entire organization. Level 2 also changed the organization’s way of thinking.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 3 KPAs Software Process Improvement focused on the organizational level. – Process improvement efforts are coordinated across the organization. Organization Process Definition – Standard processes are defined across the organization. Training Program – The organization has a coordinated management and technical training program.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 3 KPAs Integrated Software Management – Establish how the organization as a whole does software project planning. Software Product Engineering – Software work products are verified and validated against requirements. – Applicable support is delivered to customers and end-users.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 3 KPAs Intergroup Coordination – Activities among project groups are coordinated. – Commitments among groups are established and maintained. Peer Reviews – Defects in software work products are removed early in the software lifecycle. – Software work products are reviewed by the producers peers.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 3 Estimates put only 3 to 7% of development shops at level 3. Level 3 needs a strong commitment from Senior Management to be successful.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 4 Managed Level 4 is about measurement and gauging the effectiveness of the development process. Goals are quantitative and require the consistent gathering of metrics.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 4 KPAs Quantitative Process Management – Use of metrics to evaluate existing process effectiveness. Software Quality Management – Use of metrics to evaluate product quality. Estimates put only 2 to 3% of development shops at level 4

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 5 Optimizing Level 5 is characterized as a continuous state of improvement. Quality, technology and processes used are under regular review for areas that can be improved.

Computer Engineering 203 R Smith Process/Plan Model 7/ Level 5 KPAs Defect Prevention Technology Change Management Process Change Management Estimates put less than 2% of development shops at Level 5

Computer Engineering 203 R Smith Process/Plan Model 7/ Summary of CMM Document and discipline Measure the results Make changes Measure the result of the changes

Computer Engineering 203 R Smith Process/Plan Model 7/ PSP/TSP as they relate to CMM In CMM the focus is on what, in Personal Software Process and Team Software Process the focus is on how. Results – Major improvements in software quality – Effort and schedule estimates within 10% of plan – Shorter test cycles

Computer Engineering 203 R Smith Process/Plan Model 7/ PSP In PSP the focus is retraining individual habits. A series of 10 programming exercises is required. Skills in estimating size and quality improvement are emphasized Acquiring discipline and keeping focus are also stressed.

Computer Engineering 203 R Smith Process/Plan Model 7/ TSP In TSP the focus is on self directed teams Management needs training as much as the team, to coach and motivate. Key are Launch/Relaunch meetings at each of the 4 phases. Postmortem, what was learned.

Computer Engineering 203 R Smith Process/Plan Model 7/ TSP Phases Requirements High Level Design Implementation Integration and Test

Computer Engineering 203 R Smith Process/Plan Model 7/ Within each Launch Review Project Objectives Establish Roles Agree and Document Team Goals Define the Development Process Plan Support Facilities Produce a Development Plan Produce a Quality Plan

Computer Engineering 203 R Smith Process/Plan Model 7/ Within each Launch Develop Detailed Plans for each Engineer Merge Plans Rebalance the workload Assess Risks Hold Weekly Meetings

Computer Engineering 203 R Smith Process/Plan Model 7/ Observations on PSP/TSP Because PSP/TSP stresses self managing teams it is often a hard sell to management.