Software Development Process. Process Improvement Using the Shewhart Cycle 1.PLAN - Plan a change aimed at improvement, collect data, and establish a.

Slides:



Advertisements
Similar presentations
Advanced Information Systems Development (SD3043)
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
1.Quality-“a characteristic or attribute of something.” As an attribute of an item, quality refers to measurable characteristics— things we are able to.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
EPSON STAMPING ISO REV 1 2/10/2000.
MethodAssess System Assessment. Methoda Computers Ltd 2 List of Subjects 1. Introduction 2. Actions and deliverables 3. Lessons and decisions.
Reliability and Safety Lessons Learned. Ways to Prevent Problems Good computer systems Good computer systems Good training Good training Accountability.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
Unit 191 Introduction to Software Engineering The objective of this section is to introduce the subject of software engineering. When you have read this.
Capability Maturity Model (CMM) in SW design
1 Methodology for customer relationship management Author : Ricardo Chalmeta From : The Journal of Systems and Software (2006) Report : Yu-Juan Chiu Date.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Chapter 24 - Quality Management 1Chapter 24 Quality management.
Capability Maturity Model
Introduction to Computer Technology
Software Measurement and Analysis Team Assignment ===== K15T2 - Team ===== K15T2 - Team =====
CS 4310: Software Engineering
Chapter 16 Software Quality Assurance
Quality Management in Business and Manufacturing Sectors.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
Integrated Capability Maturity Model (CMMI)
Systems Analysis and Design
Managing Software Quality
Product Quality, Testing, Reviews and Standards
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
CLEANROOM SOFTWARE ENGINEERING.
N By: Md Rezaul Huda Reza n
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Quality Control Concepts. Outline 1.Introduction 2.Quality Control 3.Quality Assurance 4.Total Quality Management 5.Quality Tools 6.Summary.
Software Quality See accompanying Word file “Software quality 1”
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Project Management Lecture # 11. Outline Quality Management (chapter 26 - Pressman)  What is quality?  Meaning of Quality in Various Context.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Putting the “Engineering” in Software Engineering: Technology Infrastructure in Process Improvement Adam Kolawa, Ph.D. CEO, Parasoft.
Georgia Institute of Technology CS 4320 Fall 2003.
Process System Capability An introduction to 9103 ‘VARIATION MANAGEMENT OF KEY CHARACTERISTICS’ Bernard LAURAS AIRBUS.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 9 Software Quality Assurance.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
1 Lecture 12: Chapter 16 Software Quality Assurance Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
SOFTWARE PROCESS IMPROVEMENT
Testing And Software Quality Assurance - Meenu Kohli Eagle Eye Testing Services.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
CMMI Certification - By Global Certification Consultancy.
Poka-yoke in software A software products company sells application software to an international market. The pull-down menus and associated mnemonics provided.
Software Project Configuration Management
Software Quality Control and Quality Assurance: Introduction
Core Competencies Training for Supervisors
Core Competencies Training for Supervisors
Quality Management in Business and Manufacturing Sectors
Quality Management chapter 27.
Prologue.
The Systems Engineering Context
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Chapter 13 Quality Management
Quality Measurable characteristic Cyclomatic complexity Cohesion
The Continuous Improvement Process
Software Engineering I
Capability Maturity Model
Quality Management in Business and Manufacturing Sectors
TS
Capability Maturity Model
TS
Software Reviews.
TS
Presentation transcript:

Software Development Process

Process Improvement Using the Shewhart Cycle 1.PLAN - Plan a change aimed at improvement, collect data, and establish a timetable. 2.DO – Implement the change on a small scale. 3.CHECK – Study the results of your actions. What did you find? 4.ACT – Apply the change or abandon it, or run through the cycle again under different conditions.

Why Must the Software Development Process be Written?

So it can be: – read – understood – questioned – communicated – modified – improved

Won’t a Written Process Stifle Creativity? A process does not define how software engineers do what they do It can even leave them more time to be creative since it removes mundane aspects of their jobs Written processes and procedures in other engineering disciplines haven’t stifled creativity

Our Process Was Never Written Down, But It Seems to Work – Why Write It Down? To make it easier to train new people To facilitate making process improvements To identify areas where improvements are needed To help achieve predictable software development

How Can a Software Engineering Manager Be Persuaded to Follow a Written Procedure? Build a case based on controlling costs Show how collecting data on one project can be used to make changes in the process to reduce the costs on the next project

How Can a Written Process Improve Software Quality? In a large company it can help to connect software engineering to other engineering disciplines. It helps establish a corporate memory on software development so the organization can learn from past mistakes. It helps improve the use of valuable resources

How Can a Written Process Improve Software Quality? (cont’d) It facilitates the introduction of new technology It helps to improve consistency and lower overall costs It provides a framework for continuous process improvement

We Don’t Have a Written Process and Software Quality Is OK – Why Change? Over time customers become more concerned with quality – OK quality may not be good enough. Improving quality may be important too stay competitive.

What is Software Quality Anyway? Low levels of defects High reliability User satisfaction Low occurrence of “bad fixes” Effective customer support Rapid repairs for defects –Capers Jones

What Do We Do After We Write Down Our Current Process? Collect process data Evaluate quality and customer satisfaction Identify and implement areas for process improvement

How Can the Process Be Tailored to Meet the Needs of the Project Team? The documented process should be viewed as a framework Specific project plans can be developed that deviate from the documented process as long as those deviations are appropriate and agreed to by all concerned.

How Can Information Collected From Using the Process Be Used for Process Improvement? By collecting data on errors found at various stages of development, the potential areas for process improvement can be identified. Collecting data on customer reported problems will increase the likelihood that similar types of problems will be caught and corrected in the future.

Who Is Responsible for Enforcing the Process? Ideally, there should be no need for enforcement. Project managers should bear most of the responsibility to ensure that the process is followed. The Quality Assurance organization may have some oversight in this area.

Who Should Be the Keeper of the Process? The responsibility for the process should be shared by those who are bound to follow it.

Summary A written software development process is essential so it can be read, understood, communicated, followed and improved. A written process is a required element for predictable software development. The process should be owned by the software development organization.