IBM Software Group. Mastering Requirements Management with Use Cases Module 2: Introduction to RMUC

Similar documents
IECI Chapter Japan Series Vol. 5 No. 2, 2003 ISSN

Introduction. Requirements Engineering: Why RE? What is RE? How to do RE? -> RE Processes. Why RE in SysE? Case Studies and The Standish Report

UML and Patterns.book Page 52 Thursday, September 16, :48 PM

Understanding Requirements. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

UNIT-III LIFE-CYCLE PHASES

CSE - Annual Research Review. From Informal WinWin Agreements to Formalized Requirements

UNIT VIII SYSTEM METHODOLOGY 2014

F. Tip and M. Weintraub REQUIREMENTS

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

Object-oriented Analysis and Design

Unit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows.

A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING

Introduction to Systems Engineering

An introduction to software development. Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University

Systems Engineering Presented at Stevens New Jersey Community College Strategic Partnership 27 th September, 2005

Chapter 7 Requirements Engineering

Software Life Cycle Models

WNR Approach: An Extension to Requirements Engineering Lifecycle

Software Maintenance Cycles with the RUP

Requirements elicitation and specification using the agent paradigm: the case study of an aircraft turnaround simulator

IS 525 Chapter 2. Methodology Dr. Nesrine Zemirli

Non-Functional Requirements (NFRs) Definitions

Systems Engineering Overview. Axel Claudio Alex Gonzalez

Social Gaming Network. Software Engineering I Dr Mahmoud Elish Requirements Engineering Report

Moonzoo Kim. KAIST CS350 Intro. to SE Spring

By the end of this chapter, you should: Understand what is meant by engineering design. Understand the phases of the engineering design process.

Domain Understanding and Requirements Elicitation

M&S Requirements and VV&A: What s the Relationship?

Object-Oriented Design

Socio-cognitive Engineering

Towards an MDA-based development methodology 1

Mid Term Exam SES 405 Exploration Systems Engineering 3 March Your Name

A Case Study of Changing the Tires on the Bus While Moving

SWEN 256 Software Process & Project Management

TOWARDS CUSTOMIZED SMART GOVERNMENT QUALITY MODEL

R3ST for Requirements Recovery of Legacy Runtime Code

Overview and Version 3.1.0

Systems. Professor Vaughan Pomeroy. The LRET Research Collegium Southampton, 11 July 2 September 2011

Years 9 and 10 standard elaborations Australian Curriculum: Digital Technologies

EGS-CC. System Engineering Team. Commonality of Ground Systems. Executive Summary

OCEAN OBSERVATORIES INITIATIVE. Release 2 Schedule. OOI CI Release 2 Kickoff M a y 2,

Grundlagen des Software Engineering Fundamentals of Software Engineering

DEPUIS project: Design of Environmentallyfriendly Products Using Information Standards

Smart 3D Plant/Outfitting Curriculum Path & Training Guidelines

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

The aims. An evaluation framework. Evaluation paradigm. User studies

Towards a multi-view point safety contract Alejandra Ruiz 1, Tim Kelly 2, Huascar Espinoza 1

The Standards for Technological Literacy

ESA Iris Programme Analysis & definition of the Satellite System Operations. Briefing 28 July

Documentary Heritage Development Framework. Mark Levene Library and Archives Canada

Software Requirements

A Mashup of Techniques to Create Reference Architectures

EAB Engineering Accreditation Board

Radhika.B 1, S.Nikila 2, Manjula.R 3 1 Final Year Student, SCOPE, VIT University, Vellore. IJRASET: All Rights are Reserved

DARPA-BAA Next Generation Social Science (NGS2) Frequently Asked Questions (FAQs) as of 3/25/16

Requirements Engineering I

Volere Partial Example Requirements Specification

progressive assurance using Evidence-based Development

UNIT IV SOFTWARE PROCESSES & TESTING SOFTWARE PROCESS - DEFINITION AND IMPLEMENTATION

THE APPLICATION OF SYSTEMS ENGINEERING ON THE BUILDING DESIGN PROCESS

Course Introduction and Overview of Software Engineering. Richard N. Taylor Informatics 211 Fall 2007

ENGAGE MSU STUDENTS IN RESEARCH OF MODEL-BASED SYSTEMS ENGINEERING WITH APPLICATION TO NASA SOUNDING ROCKET MISSION

JOURNAL OF OBJECT TECHNOLOGY

Strategy for a Digital Preservation Program. Library and Archives Canada

INFS 326: COLLECTION DEVELOPMENT MRS. FLORENCE O. ENTSUA-MENSAH

Programme Curriculum for Master Programme in Economic History

Software-Intensive Systems Producibility

Agile Non-Agile. Previously on Software Engineering

CSC2106S Requirements Engineering

If These Crawls Could Talk: Studying and Documenting Web Archives Provenance

OXNARD COLLEGE ACADEMIC SENATE

Advanced Impacts evaluation Methodology for innovative freight transport Solutions

A/AC.105/C.1/2006/NPS/CRP.7 16 February 2006

Introduction to Software Requirements and Design

An Evaluation Framework. Based on the slides available at book.com

Comments on SEA inception report and SEA interim report. Memorandum by the NCEA

CHAPTER 1 INTRODUCTION TO THE GUIDE

Software Verification and Validation. Prof. Lionel Briand Ph.D., IEEE Fellow

Thriving Systems Theory:

Standards Essays IX-1. What is Creativity?

Individual Test Item Specifications

1. Redistributions of documents, or parts of documents, must retain the SWGIT cover page containing the disclaimer.

SERBIA. National Development Plan. November

Elements in decision making / planning 4 Decision makers. QUESTIONS - stage A. A3.1. Who might be influenced - whose problem is it?

Project Management for Research and Development: Using Tailored Processes to Assure Quality Outcomes

HR001117S0014 Nascent Light Matter Interactions Frequently Asked Questions (FAQs) as of 12/14/17

Information and Communication Technology

The work under the Environment under Review subprogramme focuses on strengthening the interface between science, policy and governance by bridging

IMGD 1001: Programming Practices; Artificial Intelligence

INTELLIGENT SOFTWARE QUALITY MODEL: THE THEORETICAL FRAMEWORK

PUBLIC ART PROGRAM Guidelines for Site Plan Projects

White paper The Quality of Design Documents in Denmark

Requirements Engineering I

Advancing the Use of the Digital System Model Taxonomy

Tuning-CALOHEE Assessment Frameworks for the Subject Area of CIVIL ENGINEERING The Tuning-CALOHEE Assessment Frameworks for Civil Engineering offers

Autodesk Navisworks: Using Autodesk Navisworks in a BIM Workflow

Towards a Software Engineering Research Framework: Extending Design Science Research

For More Information on Spectrum Bridge White Space solutions please visit

Quality Management for Advanced Classification. David Wright Senior Munitions Response Geophysicist CH2M HILL

Strategies for Research about Design: a multidisciplinary graduate curriculum

Transcription:

IBM Software Group Mastering Requirements Management with Use Cases Module 2: Introduction to RMUC 1

Objectives Define key requirements management terms. Identify contributing factors to project success and project failure. Describe how requirements management increases the chances of project success. Describe qualities of requirements sets. Verifiable, traceable, unambiguous. Describe the RUP requirements management workflow, roles, and artifacts. 2

Some Familiar Situations 3

Introduction to RMUC: Overview Needs Problem Problem Space Features Software Requirements The system to be built Traceability Solution Space Test Procedures Design User Doc 4

Definitions Requirement A condition or capability to which the system must conform. Requirements management A systematic approach to: Eliciting, organizing, and documenting requirements. Establishing and maintaining agreement between customer/user and the project team on the changing requirements. 5

What Do Software Requirements Specify? Inputs System Outputs Functions Non-Functional Requirements (E.g. Performance) Design Constraints (E.g. Environments) 6

Definitions Stakeholder Request A solution-independent expression of a stakeholder s desired state in the solution or subject domain. Feature An externally observable service by which the system directly fulfills one or more stakeholder requests. Software Requirements Functional Requirement A requirement that specifies, from a black-box perspective, how the solution interacts with the outside world. Non-Functional Requirement A requirement that expresses, from a black-box perspective, the quality attributes of the solution. Constraint A limitation on the design of the system or the process used to build the system. 7

Examples from the Course Registration System Stakeholder Request Need less administrative overhead for registration. Professors need immediate access to student grades. Feature A tree browser provides a way to view student information, by semester by class. Software Requirement Functional The use case starts when the student selects the register for course command. The system displays the list of available courses Non-Functional 99% of 24/7 availability (3.65 days downtime per year) Constraint Operate on the College DEC VAX Main Frame. 8

Characterization of Definitions Types of Requirements Features Stakeholder Requests Software Requirements Design Constraints Functional Requirements Nonfunctional Requirements Based on Leffingwell & Widrig, 1999 9

Requirements Exist at Many Levels What How What How What How Stakeholder Needs Product or System Features Software Requirements Design Spec Test Procedures Documentation Plans 10

Requirements Management Is Not Easy Because Requirements: Are not always obvious. Come from many sources. May not always be easy to express clearly in words. Relate to one another and to other deliverables of the software engineering process. Have unique properties or property values. Change. Are difficult to control in large numbers. 11

Management Requires Strategy RM Plan RUCS10: RM Plan 12

Effective Requirements Management Maintain a clear statement of the requirements with: Good quality requirements Applicable attributes for each requirement type Traceability to other requirements and other project artifacts The GOAL is to deliver quality products on time and on budget that meet the customer s real needs. 13

What is a Quality Product? Quality: Old Concepts Satisfies requirements documents. Passed system test. Development adhered to process. Activity-based paradigm Quality: Modern Concept Understand all stakeholder needs. Continually assess all artifacts to see if needs are met. Results-based paradigm 14

Dimensions of Quality Components of FURPS+ F unctionality U sability R eliability Performance Feature set capabilities, security, generality Human factors aesthetics, consistency, documentation Frequency/severity of failure, recoverability, predictability, accuracy, MTBF Speed efficiency, resource usage, throughput, response time S upportability Testability Adaptability Compatibility Serviceability Localizability Extensibility Maintainability Configurability Installability Robustness Grady, 1992 15

On Time and On Budget How much work can we do? Resources Scope Scope Scope Scope Budget Time 16

Meet the Customer s Real Needs Feature 1: The system must... Feature 2: The system must... Feature 3: The system shall... Feature 4: The system shall... Feature 5: The system must... Feature 6: The system shall Feature 7: The system must... Feature n: The system shall... How do we know what the needs are? How do we determine priority? What is in the baseline? Project Start Date Target Release Date 17 Time

Requirements Enable Agreement The Goal Customer User Community System To Be Built Requirements Verification Surrogate Goal Requirements Adapted from Al Davis 18

What Factors Contribute to Project Success? Project Success Factors 28% of projects completed on time and on budget. 49% of projects overran original estimates. - Time overrun averaged 63%. - Cost overrun averaged 45%. 23% of projects canceled before completion. The CHAOS Ten 1. Executive Management Support 2. User Involvement 3. Experienced Project Manager 4. Clear Business Objectives 5. Minimized Scope 6. Standard Software Infrastructure 7. Firm Basic Requirements 8. Formal Methodology 9. Reliable Estimates 10. Other Standish Group, 01 (www.standishgroup.com) 19

Size Is Important 60 Success by Project Size Success Rate (%) 50 40 30 20 10 less than $750K $750K to $1.5M $1.5M to $3M $3M to $6M $6M to $10M Over $10M 0 Project Size ($) Standish Group, 99 (www.standishgroup.com) 20

The High Cost of Requirement Errors The 1-10-100 Rule.5-1 2.5 5 10 25 100 Requirements Time Design Coding Unit Test Acceptance Test Maintenance All together, the results show as much as a 200:1 cost ratio between finding errors in the requirements and maintenance stages of the software lifecycle. Relative cost to repair errors: When introduced vs. when repaired. Average cost ratio 14:1 Grady 1989 Boehm 1988 21

Help Projects Succeed Problem analysis Understand the problem. Gain stakeholder agreement. Clear statement of business objectives. Requirements elicitation Identify who will use the system (actors). Elicit how the system will be used (use cases). Requirements management Specify requirements completely. Manage expectations, changes, and errors. Control scope creep. Enlist all team members. 22

Involve the Whole Team in Requirements Developers, Testers, and Writers Help develop requirements management practices. Monitor adherence to practices. Verify elicitation process. Document requirements. Participate in requirements reviews. Participate in or chair a Change Control Board (CCB). Review traceability outcomes. Verify quality, testability, and completeness. 23

Value Diminishes as Quality is Compromised???? 24

Qualities of Software Requirements Sets Correct Is a true statement of something the system must do. Complete Describes all significant requirements of concern to the user. Consistent Does not conflict with other requirements. Unambiguous Is subject to one and only one interpretation. 25 Leffingwell & Widrig (1999). IEEE 830-1993, 4.3.2, 1994

Qualities of Software Requirements Sets (cont.) Verifiable Can be tested cost effectively. Ranked for importance and stability Can be sorted based on customer importance and stability of the requirement itself. Modifiable Changes do not affect the structure and style of the set. Traceable The origin of each requirement can be found. Understandable Comprehended by users and developers. 26 Leffingwell & Widrig (1999). IEEE 830-1993, 4.3.2, 1994

Qualities of a Requirement: Verifiable A requirement is verifiable if: There exists some finite, cost-effective process with which a person or machine can check that the product meets the requirement. - The system supports up to 1,000 simultaneous users. - The system shall respond to an arbitrary query in 500 msec. - The color shall be a pleasing shade of green. - The system shall be available 24 x 7. -The system shall export view data in comma-separated format, according to the IEEE specification. Are these requirements verifiable? If not, what is a better way to state them? IEEE 830-1993, 4.3.2, 1994 27

Qualities of a Requirement: Traceable Stakeholder Requests Features Use Cases Supplementary 28

Qualities of a Requirement: Unambiguous A requirement is unambiguous if it has only one interpretation. A shall do B to C Requirement A A shall do B to C A shall do B to C ref - IEEE 830 29

Exercise: Exploring Ambiguity Mary had a little lamb. In the space below, write (or draw) your detailed understanding of what this sentence means. Gause & Weinberg, 1989 30

Explore Ambiguity: Dictionary Definitions had - Past of have have - 1a: To hold in possession as property 4a: To acquire or get possession of: OBTAIN (best to be had) 4c: ACCEPT; to have in marriage 5a: To be marked or characterized by (have red hair) 10a: To hold in a position of disadvantage or certain defeat 10b: TRICK, FOOL (been had by a partner) 12: BEGET, BEAR (have a baby) 13: To partake of (have dinner) 14: BRIBE, SUBORN (can be had for a price) lamb - 1a: A young sheep esp. less than one year old or without permanent teeth 1b: The young of various other animals (as smaller antelopes) 2a: A person as gentle or weak as a lamb 2b: DEAR, PET 2c: A person easily cheated or deceived especially in trading securities 3a: The flesh of lamb used as food 31

Explore Ambiguity: Analysis Have Lamb Interpretation 1a 1a Mary owned a little sheep under one year of age or without permanent teeth. 4a 1a Mary acquired a little sheep under one year of age or without permanent teeth. 5a 1a Mary is the person who owned a little sheep under one year of age or without permanent teeth. 10a 1a Mary held a little sheep under one year of age or without permanent teeth in a position of disadvantage. 10b 1a Mary tricked a little sheep under one year of age or without permanent teeth. 12 1b Mary gave birth to a young antelope. 12 2a Mary is (or was) the mother of a particular small, gentle person. 13 3a Mary ate a little of the flesh of lamb. 14 2c Mary bribed a small person trading in securities who was easily cheated. 32

Explore Ambiguity: An Observation Understandability The sweet spot Ambiguity 33

What Is NOT in a Requirement? Design Verification Project Data How to accomplish the requirements. Design Model specifies components of a system or their interfaces with other subcomponents. How you know the requirements have been met. Test Suite contains a set of test scripts and test logs. When the requirements are met. Software Development Plan specifies schedules, verification and validation plans, and configuration management plans. Adapted from Alan Davis 34

RUP: A Framework for Requirements Management 35

Requirements Discipline: Workflow Details 36

Roles and Artifacts 37

What Artifacts Are Used to Manage Requirements? Where is the problem defined? Where are the stakeholders and users listed? Where are the environments and platforms identified? Vision Where are the non-functional requirements located? Supplementary Spec Where are the use cases maintained? Where is the common terminology stored? Use Case Specs Glossary Where are the stakeholder Needs/Requests captured? Stakeholder Requests 38

One Discipline Many Paths (One Possible Configuration) The focus changes from phase to phase and iteration to iteration. Inception Elaboration Construction 39

Review: Introduction to RMUC 1. What is a requirement? 2. What is requirements management? 3. What factors contribute to project success? 4. What team members are involved in requirements management and how? 5. How would you explain the 1-10-100 rule? 6. Why would you use a development case? 7. What are some requirement characterizations? 8. What are some qualities of requirements? 40