Requirements Management Traceability Planning for Change Methodology Tools.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

IBM Software Group ® Traceability From Need To Solution What, Why and How Tammy Lavi Alon Bar-Ner.
Requirements Specification and Management
© 2000 Technology Builders, Inc. All rights reserved. A Requirements-Based Approach To Delivering E-business and Enterprise Applications Scott Jefferies.
Inception: Starting a New Project Needs Features Vision.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
PRJ270: Essentials of Rational Unified Process
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory1 Requirements Change Management Section Six Version: 1.0.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
SE 555 Software Requirements & Specification Requirements Management.
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.
1 Systems V & V, Quality and Standards Dr Sita Ramakrishnan School CSSE Monash University.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Software Configuration Management
CSSE 375 Software Construction and Evolution: Configuration Management
Change Request Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
Overview of Change Management ClearQuest Overview for CORUG January, 2008.
This chapter is extracted from Sommerville’s slides. Text book chapter
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
What is Business Analysis Planning & Monitoring?
Dr Suad AlRamouni. ◦ Understand some key terms used in software requirements engineering. ◦ Distinguish requirements development from requirements management.
RUP Requirements RUP Artifacts and Deliverables
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Component-level testing – Equivalence partitioning, boundary value analysis, path testing Navigation testing – Testing navigation syntax and semantics.
Software Configuration Management
Rational Unified Process Fundamentals Module 4: Disciplines II.
Software Configuration Management (SCM)
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Requirements Engineering Requirements Elicitation Requirements Analysis Requirements Validation Requirements Management.
 To describe the principal requirements engineering activities and their relationships  To introduce techniques for requirements elicitation and analysis.
What are Requirements?. "The hardest single part of building a system is deciding what to build... No other part of the work so cripples the resulting.
IT Requirements Management Balancing Needs and Expectations.
+ Chapter 9: Management of Business Intelligence © Sabherwal & Becerra-Fernandez.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
SOFTWARE REQUIREMENT ANALYSIS AND SPECIFICATION. What is a requirement? It may range from a high-level abstract statement of a service or of a system.
Software Engineering, 8th edition. Chapter 7 1 Courtesy: ©Ian Sommerville 2006 March 20 th, 2008 Lecture # 12 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Process
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Requirements Specification Document (SRS)
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.
~ pertemuan 4 ~ Oleh: Ir. Abdul Hayat, MTI 20-Mar-2009 [Abdul Hayat, [4]Project Integration Management, Semester Genap 2008/2009] 1 PROJECT INTEGRATION.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville.
Requirement Engineering Management Amna Shifia Nisafani Feby Artwodini M. Department of Information Systems Subject : Requirement Engineering.
 System Requirement Specification and System Planning.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Change Request Management
Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 11: Software Configuration Management
Configuration Management
Software Configuration Management
Lecture 3 Change Management
Software Configuration Management
Chapter 11: Software Configuration Management
Requirements Management - I
Lecture # 7 System Requirements
Presentation transcript:

Requirements Management Traceability Planning for Change Methodology Tools

Requirements Management Requirements Trace To Many Project Elements SRS Business Vision / Roadmap Informal Requirements Feasibility/Cost Analysis Project Plans Requirements Analysis Contract(s) Customers Business Stakeholders QA Requirements Analysts ArchitectUsers Everybody depends on it!

Requirements change Change is Risk!  Your customer’s biz environment may change (Mutable)  New requirements as understanding evolves (Emergent)  Users may want something new or different after they see the initial system (Consequential)  Users always find “their own way” of working with a system most productively after delivery (Adaptive)  Current user base must be supported during rollout (Migration)  The priority of requirements may change during the development (or other downstream) process Change may be a risk, but it is a truism - it will happen! First 5 attributed to Harker et. Al. 1993

Requirements Management Maturity* Level 0: Chaos! No Requirements  Missing/unneeded functionality, poor quality Level 1: Written Requirements  Basis for a contract with the customer  Basis for a contract with your implementation team  Basis for integrating new additions to your team Level 2: Organized  Requirements identification, persistence & versioning  Format and security (?)  Quality of the requirements - remember IEEE-830? *5 levels from the Heumann (RUP) whitepaper

Requirements Management Maturity Level 3: Structured  Create requirements taxonomy Functional/Non/Domain, Functional/Design Constraint, Mutable/Emergent/Consequential/Adaptive/Migration, User/System, Enduring/Volatile, etc.  Use requirements metadata Describe state (identified, defined, stable, accepted), priority (must have, nice to have, etc.), dependencies (parent-child, depends-on, includes, extends, etc.), owner/sponsor Level 4: Traced  Upward: where did the requirement come from & why?  Downward: what resources do we allocate to do it?  The basis for V&V (see Traceability slides)

Requirements Management Maturity Level 5: Integrated  Using requirements to drive your full process  No requirements changes made w/out review (CCB)  Requirements should also drive project management  Implication: you cannot maintain a fully integrated RM process without a sophisticated tool. What is the true cost of doing RM?  RUP/Traditional: costs cascade through rest of the cycle. You can’t afford not to do it!  Agile/XP: large tomes that nobody looks at; focus on creating a common understanding and go! YAGNI!

Requirements Management Planning Planning during the requirements process:  Requirements identification How requirements are individually identified and stored  Requirements organization Functional/Nonfunctional, Enduring/Volatile, etc.  Change Request Management (CRM) process The process followed when wanting to change a requirement after the SRS baseline has been established  Traceability policies The amount of information about requirements relationships that is maintained –Relationships such as “depends on”, “see also”, “parent-of”, etc.  CASE tool support The tool support required to help manage requirements change

Requirements Identification Requirements require “ground truth”  Everyone needs to point to the same place and say: “There are the requirements, and I mean that one” Requirements need a place to persist & be identified  Including versioning, change history, and state Requirements Database Documents and Attributes Queries and Reports

Requirements Organization Enduring requirements  Stable requirements derived from the core activity of the customer organisation.  e.g. a hospital will always have doctors, nurses, etc.  May be derived from domain models Volatile requirements  Requirements which change during development or when the system is in use.  e.g. In a hospital, requirements derived from health-care policy Classifying may help mitigate scope of impact

Change Request Management Help Desk User input Coders input Testers input Customer and User input Marketing New Feature New Requirement Bug Approved Decision Process Change Control Board (CCB) Single Channel for Approval Change Request (CR) Reqt Design Code Test Maint Weinberg, ‘95 Best Practice: Use a CCB to serve as a centralized Product Management oversight committee that can understand the broader impact of a change. Made up of a cross-section of stakeholders at all levels Problem: potential bottleneck!

Traceability  “The degree to which a relationship can be established between two or more products of the development process” (IEEE )  Requirements artifacts can be modeled Example relationships: Predecessor-successor, Parent-child Issue: How big do you want the process to get?!

Traceability Why is it so important? Quality  Can we determine if the requirement is validated?  Can we determine if the requirement is verified? Impact Analysis  Do we know what other requirements are affected?  Do we know what people are affected? Users, Customers, Biz stakeholders, Coders, …  Do we know what downstream artifacts are affected? Design, Tests, Training documents, Sales literature, Code (!)  Do we know what the change would cost? Without it, we could not execute a CRM Process!

CASE Tools Requirements Management is hard!  Suggests a database engine  But also consider where information comes from: Meeting minutes, phone calls, s, chat transcripts, etc.  How to you track all this stuff and what is important? “Heavy” processes supported by “heavy” tools  Tools do a lot of the lifting  Still need a well-defined process to get information into the tool and keep it “clean” Lightweight processes  YAGNI! Just not worth the overhead and cost  Save the CCB for defects, and force customers to migrate forward to minimize scope of change  Tools include Wikis, spreadsheets, whiteboards, and shared BOK

In-class Exercise What is wrong with this traceability graph? Use Cases Supplementary Requirements Tests Implementation Objects Features FEAT1FEAT2FEAT3 SUPL1SUPL2SUPL3 TST1TST2TST3 UC1 UC2

Change Management Processes Leffingwell&Widrig suggest a 5-step CM process: 1.Recognize change is inevitable, and plan for it “Embrace change” is the new mantra of software organizations – how you can deal with it while maintaining project momentum? 2.Baseline the Requirements The acceptance of your SRS & SDP represents your baseline 3.Establish a single channel to control change This is what a CCB is for. Envision what will happen if every team member and every project sponsor is allowed to cause change? 4.Use a change control system You have various ways – document revision histories, spreadsheets, code repositories, issue trackers, … how will you use? 5.Manage change hierarchically See preceding slide, or think or your pyramid!