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

Similar documents
Requirements Definition and Management Processes

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

Appendix 2-A. Application and System Development Requirements

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>

Non-Functional Requirements

BAL2-1 Professional Skills for the Business Analyst

Software Requirements, Third Edition

Performance Testing Uncovered

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)

Automating Requirements Management 1

Time Monitoring Tool Software Development Plan. Version <1.1>

Enterprise Test Management Standards

A Software Development Platform for SOA

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

Towards Collaborative Requirements Engineering Tool for ERP product customization

Business Analysis Essentials

How To Understand The Business Analysis Lifecycle

Supporting Workflow Overview. CSC532 Fall06

Requirements Elaboration

Karunya University Dept. of Information Technology

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

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

Agile Development with Jazz and Rational Team Concert

SOFTWARE REQUIREMENTS

Using Rational Software Solutions to Achieve CMMI Level 2

CMMI and IBM Rational Unified Process

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

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

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

The 7 Attributes of a Good Software Configuration Management System

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

Plan-Driven Methodologies

IBM Rational Asset Manager

IT Project Management Methodology. Project Scope Management Support Guide

Reaching CMM Levels 2 and 3 with the Rational Unified Process

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

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

Requirements Engineering

Requirements Management Practice Description

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

Bidirectional Tracing of Requirements in Embedded Software Development

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

Rational Software White Paper

Product Build. ProPath. Office of Information and Technology

Foundations for Systems Development

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Test management best practices

Key Benefits of Microsoft Visual Studio Team System

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

Surveying and evaluating tools for managing processes for software intensive systems

Ten steps to better requirements management.

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

Development Methodologies

Project Lifecycle Management (PLM)

Effective Business Requirements (Virtual Classroom Edition)

RUP for Software Development Projects

Laila TECHNICAL SKILLS

Classical Software Life Cycle Models

Change & Configuration! Management

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

Requirements Management

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

Tools to support Requirements-Based Testing

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

JOURNAL OF OBJECT TECHNOLOGY

IBM Rational DOORS Next Generation

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

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

Business Analysis Standardization & Maturity

Partnering for Project Success: Project Manager and Business Analyst Collaboration

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

G-Cloud Service Description. Atos: Cloud Professional Services: Requirements Specification

Sparx Enterprise Architect for Business Analysts

SELF STUDY DIPLOMA IN BUSINESS ANALYSIS

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

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

How To Write An Slcm Project Plan

Manage Software Development in LabVIEW with Professional Tools

Becoming a Business Analyst

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

How Silk Central brings flexibility to agile development

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Managing Agile Projects in TestTrack GUIDE

Requirements Management with Enterprise Architect

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

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

IO4PM - International Organization for Project Management

Redesigned Framework and Approach for IT Project Management

IV. Software Lifecycles

Modernizing enterprise application development with integrated change, build and release management.

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

PROJECT SCOPE STATEMENT

Requirements Management

Transcription:

Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Presentation material partially based on textbook slides Software Engineering: A Practitioner s Approach (7/e) by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 1

Agenda 1 Requirements Definition & Management Processes 2 Requirements Definition & Management Tools 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: Baselining Traceable - Each requirement must be traceable to a business need. 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 enterprisewide 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 expectation 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

Agenda 1 Requirements Definition & Management Processes 2 Requirements Definition & 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 Entry: Requirements Baseline needs to be established or changed Requirements Definition Process Flow Senior Management Client & Stakeholders 6a. Modify Requirements 6.Verification Project Manager Business Analysts 1. Planning / Preparation 2. Gather/ Elicitation 3. Document 4. Analyze/ Prioritize 5. Determine Acceptance Criteria 7. Obtain Signoff 8. Baseline and Version Control 9. Create Requirements Traceability Matrix Technical Infrastructure Invoke Project Change Control Process Invoke Configuration Management Process Exit: Requirements Baseline established or changed 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 4 SubTopic 1 Presentation on Rational Tools 41