Requirements Definition and Management Processes



Similar documents
Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Appendix 2-A. Application and System Development Requirements

IBM Rational University. Essentials of IBM Rational RequisitePro v7.0 REQ370 / RR331 October 2006 Student Workbook Part No.

CDC UNIFIED PROCESS PRACTICES GUIDE

The role of integrated requirements management in software delivery.

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

BAL2-1 Professional Skills for the Business Analyst

Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest

Chapter 3 The Integrated Requirements Management Framework (IREQM)

Time Monitoring Tool Software Development Plan. Version <1.1>

Non-Functional Requirements

Performance Testing Uncovered

Software Requirements, Third Edition

Automating Requirements Management 1

Towards Collaborative Requirements Engineering Tool for ERP product customization

Enterprise Test Management Standards

Business Analysis Essentials

Supporting Workflow Overview. CSC532 Fall06

A Software Development Platform for SOA

Karunya University Dept. of Information Technology

Requirements Elaboration

Agile Development with Jazz and Rational Team Concert

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Plan-Driven Methodologies

How To Understand The Business Analysis Lifecycle

Driving Your Business Forward with Application Life-cycle Management (ALM)

CMMI and IBM Rational Unified Process

IT Project Management Methodology. Project Scope Management Support Guide

SOFTWARE REQUIREMENTS

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Requirements Engineering

Requirements Management Practice Description

The 7 Attributes of a Good Software Configuration Management System

Bidirectional Tracing of Requirements in Embedded Software Development

Rational Software White Paper

IBM Rational Asset Manager

Using Rational Software Solutions to Achieve CMMI Level 2

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Development Methodologies

Effective Business Requirements (Virtual Classroom Edition)

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

Project Lifecycle Management (PLM)

Laila TECHNICAL SKILLS

Enhance visibility into and control over software projects IBM Rational change and release management software

Tools to support Requirements-Based Testing

Requirements Management

Change & Configuration! Management

11 Tips to make the requirements definition process more effective and results more usable

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Course Outline. Foundation of Business Analysis Course BA30: 4 days Instructor Led

Test management best practices

CBAP+Master. YOU WILL PASS the exam on the FIRST TRY! 150 Free Questions CBAP and CCBA Certification version 1.1. Written by CBAPs for CBAPs

ájoƒ ùdg á«hô dg áµلªÿg Yesser Overall SDLC Process Definition

JOURNAL OF OBJECT TECHNOLOGY

Product Build. ProPath. Office of Information and Technology

Surveying and evaluating tools for managing processes for software intensive systems

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Bringing agility to Business Intelligence Metadata as key to Agile Data Warehousing. 1 P a g e.

Foundations for Systems Development

Key Benefits of Microsoft Visual Studio Team System

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

The Rap on RUP : An Introduction to the Rational Unified Process

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Manage Software Development in LabVIEW with Professional Tools

Business Analyst Work Plan. Presented by: Billie Johnson, CBAP CSM

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Montana Department of Transportation Information Services Division. System Development Life Cycle (SDLC) Guide

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as

How To Write An Slcm Project Plan

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

RUP for Software Development Projects

Partnering for Project Success: Project Manager and Business Analyst Collaboration

Ten steps to better requirements management.

Software change and release management White paper June Extending open source tools for more effective software delivery.

Requirements Management

Basic Unified Process: A Process for Small and Agile Projects

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Fundamentals of Measurements

Sparx Enterprise Architect for Business Analysts

IBM Rational University. Essentials of IBM Rational Functional Tester, Java Scripting. RT545 February 2009 Student Manual Part No.

How Silk Central brings flexibility to agile development

SELF STUDY DIPLOMA IN BUSINESS ANALYSIS

SOFTWARE TESTING TRAINING COURSES CONTENTS

Program Lifecycle Methodology Version 1.7

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform

General Introduction to IBM (R) Rational (R) Asset Manager

Becoming a Business Analyst

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Classical Software Life Cycle Models

Business Analysis Standardization & Maturity

IO4PM - International Organization for Project Management

IBM Rational DOORS Next Generation

Transcription:

Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Part I Requirements Definition and Management Processes 2

Requirements Best Practices A requirement should be: Unambiguous Complete Consistent Measurable Testable Traceable Design Free Understandable Concise Necessary Feasible/Attainable Verifiable Validatable Modifiable Relevant Correct Prioritized Stable Implementation - independent Traceable Documenting requirements ensures the above. 3 Requirements Best Practices (cont.) Peer reviews Test each requirement against attribute standards For example: Traceable - Each requirement must be traceable to a business need. Baselining Define a clear scope Lock down Establish and enforce change impact analysis and approval process Things to avoid Ambiguous terms (e.g., easy, user-friendly, etc.) Analysis paralysis 4

Enterprise-Wide vs. Project-Specific Enterprise-wide requirements provide Re-Use Requirements common to a project can be obtained by referring to enterprise-wide requirements Project-specific requirements should be evaluated for re-factoring into enterprise-wide requirements 5 Requirements Functional Requirement Non-Functional Requirement Interface Constraint Operational Constraint 6

The Big Process Picture Requirements Analysis process fits into other processes within Integrated Requirements Deliverables output from one process become inputs to other processes Integrated Requirements provide the glue between the business side and the technology side 7 Essential Elements for Requirements Analysis Clarity Efficiency Priority Quality Traceability 8

The Elevator Problem (a classic) A product is to be installed to control elevators in a building with 3 floors. The problem concerns the logic required to move elevators between floors according to the following constraints: 1. Each elevator has a set of 3 buttons, one for each floor. These illuminate when pressed and cause the elevator to visit the corresponding floor. The illumination is canceled when the elevator visits the corresponding floor. 2. Each floor, except the first floor and top floor has two buttons, one to request an up-elevator and one to request a down-elevator. These buttons illuminate when pressed. The illumination is canceled when an elevator visits the floor and then moves in the desired direction. 3. When an elevator has no requests, it remains at its current floor with its doors closed. 9 Why Requirements Definition? Opportunity to improve how requirements are collected and documented Guide through the establishing of a Baseline Capability Maturity Model Integration (CMMI) initiative Ensure requirements are complete and correct Establish a change control process Ensure requirements are traceable 10

What is Requirements Management? Opportunity to determine Impact and control changes to Requirements A systematic approach to eliciting, organizing and documenting the requirements of the system, and establishing and maintaining agreement between the customer and the project team on the changing of requirements of the system Most companies rely on a process framework (see samples on next slides) Policies and Standards Processes Procedures Training and Tools Guide through the product lifecycle 11 Sample Requirements Definition and Management Framework 12

The Requirements Management Workflow What is Requirements Management? Requirements management is concerned with: Understanding the goals of the organization and its customers Transformation of these goals into potential functions and constraints applicable to the development and evolution of products and services 13 The Requirements Management Workflow (cont.) Analysis /Understand Stakeholders Needs Incorrect problem analysis Correct problem analysis New requirements Manage changing requirements Define the System Manage the Scope of the System System not within scope System within scope Redefine the System Definition 14

Why Manage Requirements? Requirements need to be managed because: Change is an inevitable part of a project and in fact desirable at times By organizing and tracking your requirements the team improves it s chances of completing the project: on time within budget meeting client expectations 15 Why Manage Requirements? (cont.) Requirements need to be managed because: Changing requirements and failure to coordinate these changes to stakeholders is the most common reason for project failures. It ensures that the developed product is in conformance with the requirements that have been outlined by the customer. It ensures that the product is delivered on time and within budget. 16

Why Manage Requirements? (cont.) Managing requirements helps in establishing and maintaining an agreement between the customer and the project team on the changing requirements of a system. 17 Guidelines for Requirements Analysis Problem vs. Solution Evolution Abstraction Iteration Modeling Re-Use 18

Analyzing the Problem What is a problem? In the context of project development, a problem is a gap between what the customer wants and how the project team members perceive the customer s wants. Effective solutions to complex problems requires input from a diverse group of Stakeholders Stakeholders are people who are affected by the implementation of the system being developed. 19 Analyzing the Problem (cont.) After the problem has been analyzed the system needs to be defined. This involves translating and organizing your understanding of the stakeholders needs into a description of the system to be built. As a result, documents are created that define the product. These are the Requirement Specifications Documents. They include: Use-Case Documents - designed to identify the functional behavior of the system Supplementary Requirements Specification Documents define features of the system in specific terms. 20

Part II Requirements Definition and Management Tools 21 What is RequisitePro? IBM Rational RequisitePro (also know as ReqPro ) is an easy-to-use requirements management tool It helps teams to: Manage project requirements clearly Organize, prioritize, track, and control changing requirements of a system or application Promote communication and collaboration among team members Reduce project risk Keep stakeholders informed about the most current requirements information Understand the impact of change which enables team members to manage project efficiently Identifying the problem correctly to deliver the right product 22

What is RequisitePro? (cont.) RequisitePro Improves and enhances the software development process. Helps to prioritize requirements, to trace relationships between them, and mostly importantly track changes that affect them. Captures the change history for each requirement. 23 What is RequisitePro? (cont.) Successful requirements management leads to a quality product: that meets customer needs is completed on time is within budget 24

Sample Requirements Documentation Documents may be contained in the set of standard IBM SUMMIT project deliverables: Project Charter System Prospectus Requirements Specification Use Case Requirements Traceability Matrix Requirement information contained in these documents is created and maintained in a project throughout the Requirements Definition Process whether or not the RequisitePro tool is used 25 Sample Requirements Documentation (cont.) Requirements Management Plan Included as a section in the Requirements Specification template Identifies how a project manages requirements listed in the requirements specification, whether using manual or automated processes Provides recommendations and guidelines regarding: Requirements Management roles Requirements documents Requirement types and associated attributes Traceability strategy Serves as the configuration document for the IBM Rational RequisitePro tool environment, if elected 26

Sample Requirements Definition Process Flow 27 Sample Support Tools IBM Rational RequisitePro (may be optional) Used as an (optional) requirements management tool to support the Requirements Definition (RD) Process Automates the majority of the Requirements Management (RM) Plan Capture and maintain traceability between the various requirement types defined by the RM Plan Enables scope setting, impact analysis, and all aspects of requirements management from a project perspective Creates a common repository for all requirement artifacts IBM SUMMIT Ascendant Defines the Requirements Definition and Requirements Management processes Provides detailed guidance on how to perform the necessary procedures Visual Modeling or Drawing Tool (optional) Enables the creation of a graphical use case representation via a UML-based Use Case diagram 28

Typical Functions Senior Management Ensure policy, process and procedure adherence Client and Stakeholders Specify, review and approve the requirements in this document for baseline. Projects using RequisitePro for storing data will copy a snapshot of the baseline requirements into this document for review and sing-off purposes Project Manager Plan and manage requirements documentation activities. Ensure process and procedure adherence and issues resolution Ensure RequisitePro updates are timely and accurate, if used Business Analyst Document the gathered requirements in the SUMMIT requirements specification document, or in RequisitePro, if used. Ensure requirements meet the criteria for good requirements and the entire project team understands and agrees with them, Technical Infrastructure Participate in the requirements documentation activities as appropriate TMO, IBM and DBA roles may be required to access requirements in RequisitePro for review purposes, if used Project Support Assist project team with process, templates and training. Enterprise coaches are part of the Project Management Best Practices (PMBP) team 29 Typical Roles Senior Management IT Manager, Business Manager, Sr. Leader Client and Stakeholders Approver, Requestor, Stakeholder, End User, Customer Project Manager Project Manager Business Analyst Business Analyst, Lead Business Analyst, Tester, Lead Tester Technical Infrastructure TMO Representative, SMO Representative, IBM Representative, DBS, System Analyst Project Support Project Coach 30

Analyzing & Understanding Stakeholder Needs A stakeholder is someone who has a vested interest in the project/system/contract. Stakeholder needs can be obtained using various methods, such as: interviews questionnaires requirement workshops brainstorming sessions story boards prototypes The result of these interactions can easily be recorded in Rational RequisitePro and/or retrieved from the Project Charter and System Prospectus documents 31 Typical Use of RequisitePro Planning/preparation procedure Business Analysts use the Charter and System Prospectus as inputs to create/enter requirements into RequisitePro Gathering/Elicitation and Document procedures Business Analysts use standard requirement types and attributes defined within RequisitePro to document their requirements Analyze/Prioritize/Determine Acceptance Criteria procedures Business Analysts use RequisitePro Views Document and Verification procedures Business Analyst use RequisitePro Hierarchical Requirements to best document and verify requirements Verification procedure Business Analyst use RequisitePro Discussions to conduct peer reviews 32

Typical Use of RequisitePro (cont.) All Procedures RequisitePro relationship traceability and traceability matrices are used throughout the requirements definition process Ongoing Review Technical Infrastructure personnel with proper credentials may review RequisitePro data at all times Administration At the end of the Requirements Analysis phase, the RequisitePro administrator applies pre-defined import/export procedures to take a snapshot and create a requirements specification baseline and attaches it to the System Prospectus in preparation for sign-off by clients and stakeholders The RequisitePro administrator is responsible for configuring RequisitePro security using standard groups and permissions, and synchronizing RequisitePro with TestDirector 8.0 Project Managers are responsible for timely and accurate RequisitePro updates 33 Features of RequisitePro Word-Database Integration Uses Microsoft Word to document requirements, but complements Word with a commercial database to organize, track and communicate requirements. A RequisitePro toolbar appears when you open Word in RequisitePro, allowing you to manage requirements documents. Commercially Supported Database Supports Microsoft SQL Server 7.0 and 2000; Oracle versions 8. and 9; Access 2000 databases. 34

Features of RequisitePro (cont.) Ease of Use Simple user interface and tight integration with Microsoft Word allows users to quickly & effectively document their project requirements Integrated with other lifecycle tools Integrated with Rational Rose, Rational XDE, Rational ClearCase, Rational ClearQuest, Rational SoDA, Rational Unified Process, Rational TestManager, and other products 35 Features of RequisitePro (cont.) Traceability You can easily set up and track relationships between requirements RequisiteWeb Anyone who has Web access can view and modify requirements quickly and efficiently without having Rational RequisitePro loaded on their machine 36

Word-Database Integration Approach RequisitePro offers the power of a database and Microsoft Word. It maintains live requirements documents that are dynamically linked to a database for powerful sort and query capabilities. RequisitePro uses Microsoft Word for creating requirements documents. A RequisitePro toolbar appears when you open Word in RequisitePro, allowing you to manage requirements documents. 37 Word Database Integration Approach (cont.) A RequisitePro project includes a database. Included in the database are: Document types Requirement types Descriptors (attributes) Discussions Information about requirement traceability Information about user and group security 38

Basic Tool Navigation Toolbar Views Main Menu Project Document Requirement Package View Explorer Description Status Bar 39 Basic Tool Navigation (cont.) The Project properties dialog box 40

ReqPro Demo Also refer to Session 1 SubTopic 1 Presentation on Rational Tools 41