Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.

Slides:



Advertisements
Similar presentations
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 1.
Advertisements

Configuration Management
Configuration Management
Environmental Management System (EMS)
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Create New feature Approved Change request Create User Stories for the feature Add User stories to Target Process backlog User Stories – 1.Create Story.
Team Skill 6 - Building The Right System Part 2: Traceability, Change and Quality (Chapters of the requirements text) CSSE 371 Software Requirements.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
SE 555 Software Requirements & Specification Requirements Management.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.
Health Informatics Series
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Purpose of the Standards
Change Request Management
Change Management Chris Colomb Trish Fullmer Jordan Bloodworth Veronica Beichner.
Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.
This chapter is extracted from Sommerville’s slides. Text book chapter
Chapter 4 Requirements Engineering
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 2 The process Process, Methods, and Tools
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
Identify steps for understanding and solving the
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
Software Requirements Engineering: What, Why, Who, When, and How
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
1 Dr. Ralph R. Young Director of Software Engineering PRC, Inc. (703) DOORS USER GROUP CONFERENCE Reston, VA September 17,
Team Skill 6: Building the Right System Managing Change (28)
Georgia Institute of Technology CS 4320 Fall 2003.
Traceability, Change and Quality – Chapters Requirements Text Steve Chenoweth & Chandan Rupakheti RHIT Question 1.
1 Chapter 4 Analyzing End-to-End Business Processes.
1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Managing Risk CHAPTER SEVEN Student Version Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin.
Chapter 31 Your Prescription for Requirements Management.
Team Skill 6: Building the Right System Assessing Requirements Quality (29)
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Topic 5 Initiating a project
Initiation Project Management Minder Chen, Ph.D. CSU Channel Islands
Integrated Change Control 1 MEC-8. Processing of a Change Processing of a Change 2 Assess Impact within KA Change Request Implemented Change Create a.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Project Management Processes for a Project Chapter 3 PMBOK® Fourth Edition.
Traceability, Change and Quality – Chapters Requirements Text Sriram Mohan/Steve Chenoweth.
Configuration Control (Aliases: change control, change management )
Your Prescription for Requirements Management 1. Assumptions The prescription for requirements management is based on the following assumptions:  The.
Change Request Management
Configuration Management
Managing the Project Lifecycle
Configuration Management
Chapter 2 par Overview.
Portfolio, Programme and Project
Managing Change and Quality
Presentation transcript:

Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System Definition 6. Building the Right System From Use Cases to Implementation From Use Cases to Test Cases Tracing Requirements Managing Change Assessing Requirements Quality

Chapter 28 Managing Change

Why Do Requirements Change?  A requirements management process can be useful only if it recognizes and addresses the issue of change.  There are several reasons for the inevitability of changes to the requirements. Some of these reasons are internal factors and may be under our control But many of them are external factors and are outside the control of the developers and the users

External Factors  External factors are those change agents over which the project team has little or no control.  Changes occur because of : a change to the problem we attempting to solve the identity of the users changed The users changed their minds or their perceptions about what they wanted the system to do The external environment has changed, which creates new constraints and/or new opportunities. The existence of a new system causes the requirements for the system itself to change.  We can't prevent change, but we can manage it.

Internal Factors  We failed to ask the right people the right questions at the right time during the initial requirements gathering effort.  We failed to create a practical process to help manage changes to the requirements that would normally have happened on an incremental basis.  Iterating from requirements to design causes new requirements.

Unofficial Requirement Change  Some requirement changes are "official" external changes, representing customer requests made through the appropriate channels of communications  But many are "unofficial" (also known as "requirements leakage”). Examples: Direct customer requests to programmers Functionality inserted by programmers with "careful consideration" of what's good for the customer  Up to half of the total work product of the system are invested in requirements leakage!

A Process for Managing Change 1.Recognize that change is inevitable, and plan for it. 2.Baseline the requirements. 3.Establish a single channel to control change. 4.Use a change control system to capture changes. 5.Manage change hierarchically.

Step 1: Recognize That Change Is Inevitable, and Plan for It  The team must recognize that changing requirements for the system is inevitable and even necessary.  Develop a plan for managing change that should include some allowance for change in the initial baseline.

Step 2: Baseline the Requirements  In each iteration, the team should baseline the requirements for the build Putting version control on vision document, software requirements and use-case models Publishing it for the development team  Once the baseline has been established, new requirements can be more easily identified and managed. A request for a new requirement can be compared against the existing baseline to see where it will fit in and whether it will create a conflict with any other requirements.

Step 2: Baseline the Requirements  If the change is accepted, we can manage the evolution of that change from the vision to the software requirements, from the software requirements to the appropriate technical design documents and models, and then to the code and the test procedures.

Step 3: Establish a Single Channel to Control Change  Ad hoc changes to a software system can cause significant and unintended consequences  Every change should go through a single channel to determine its impact on the system and to make the official decision as to whether the change is going to be made in the system or not. For small projects, the official channel can be one person – e.g., the project manager For larger systems, the channel should consist of a few people who share the responsibility and make the decision together: Change Control Board (CCB)

Step 4: Use a Change Control System to Capture Changes  The team should implement a system for capturing all change requests.  When considering whether to approve a change request, the CCB must consider the following factors: The impact of the change on the cost and functionality of the system The impact of the change on customers and other external stakeholders not well represented on the CCB: other project contractors, component suppliers, and so on The potential for the change to destabilize the system

Step 4: Use a Change Control System to Capture Changes  Once a change has been approved, the next step is to decide where to insert the change. For example, we need to determine whether to change a requirement or to change a test being proposed. Subsequent changes will ripple through in the hierarchy

Change Request Flow

Step 5: Manage Change Hierarchically  A change to one requirement can have a ripple effect in other related requirements, the design, or other subsystems This fact may not be obvious to the requester, who casually asks the programmer to make a "quick and easy" change to the system.  If the requirements is well structured and the system is well encapsulated, changes should be limited to certain areas instead of being spread everywhere.  A programmer doesn't have the authority to introduce new features and requirements directly into the code on the user's behalf.

Hierarchical Ripple Effect

Impact Analysis by Traceability Link

Requirements Configuration Management  Some elements of the preceding change review and approval process are referred to as change control, version control, or configuration management in some organizations.

Requirements Configuration Management  The benefits of requirements configuration management are: Prevents unauthorized and potentially destructive changes to the requirements Preserves the revisions to requirements documents Facilitates the retrieval and/or reconstruction of previous versions of documents Supports a managed, organized baseline "release strategy" for incremental improvements or updates to a system Prevents simultaneous update of documents or conflicting and uncoordinated updates to different documents at the same time.

Key Points  A process to manage requirements can be useful only if it recognizes and addresses the issue of change.  Internal change factors include failing to ask the right people the right questions at the right time and failing to create a practical process to help manage changes to requirements.  In order to have a reasonable probability of success, requirements leakage must be stopped or at least reduced to a manageable level.