1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Ahsan Kabir Project Manager Ahsan Kabir Project Manager ………………………….
Project Management.
1 Chapter 4 The Software Team Requisite’s 6 team skills for effective requirements management.
9-Jun-15 GCIS 504/GENG 580- The requirements problem1.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
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.
SE 555 – Software Requirements & Specifications Introduction
The Analyst as a Project Manager
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CHAPTER 19 Building Software.
Jouhayna Al-Ayoubi SWEN 5230 – Software Project Management.
Change Request Management
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
Project Requirement Gathering: Recommended "Best" Practices Edward Kuligowski Bellevue University CIS 665 Click to Preview.
Chapter : Software Process
RUP Requirements RUP Artifacts and Deliverables
Chapter 2 Introduction to Requirements Management
Chapter 2 The process Process, Methods, and Tools
Software Project Management Introduction to Project Management.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Name Hometown Program Employer/Student Fun Fact 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
PROJECT MANAGEMENT FUNDAMENTALS Page 2 Why Project Management? Current Issues: n Complex nature of business today — More cross-functional efforts — Need.
CSE Senior Design I Building a Plan Instructor: Mike O’Dell Several of the slides in this module are a modification and amplification of slides prepared.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Systems Analysis and Design in a Changing World, Fourth Edition
Software Requirements and Design Khalid Ishaq
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Week 1. The goal of software development To develop quality software – on time on budget – that meets customers’ need However, our customer are quite.
MADALINA CROITORU Software Engineering week 3 Madalina Croitoru IUT Montpellier.
1 IT Project Management, Project Failure and Success  Introduction  Projects operate in a broad organizational environment.  Project managers need to.
Stand Up Comedy Project/Product Management
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Chapter 1 The Requirements Problem
Project Management. Projects and Project Managers Project – a [temporary] sequence of unique, complex, and connected activities having one goal or purpose.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
IS2210: Systems Analysis and Systems Design and Change Twitter:
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.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
Requirement Discipline Spring 2006/1385 Semester 1.
Requirement Engineering Management Amna Shifia Nisafani Feby Artwodini M. Department of Information Systems Subject : Requirement Engineering.
 System Requirement Specification and System Planning.
1 Team Skill 4 Managing the scope Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and Information Technology Based.
1 Team Skill 1 Analyzing the Problem … Part 1: 5 steps in Problem Analysis Based on “Software Requirements Management, A use case approach”, by Leffingwell.
Project Management Finals Lesson 1 - Principles - Techniques - Tools.
Requirements Introduction Emerson Murphy-Hill. Scope of Software Project Failures WHY PROJECTS FAIL % 1. Incomplete Requirements Lack of user involvement12.4.
Advanced Software Engineering Dr. Cheng
Change Request Management
Lecture 3 Prescriptive Process Models
The Project Management Framework
Software Processes (a)
Requirements and the Software Lifecycle
Introduction to Software Engineering
KEY PROCESS AREAS (KPAs)
Introduction to Requirements Management
SOFTWARE PROJECT MANAGEMENT KEY TOPICS
Presentation transcript:

1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software Requirements Management, A use case approach”, by Leffingwell and Widrig

2 The requirements Problem

3 Key points  The goal of software development is to develop quality software—on time and on budget—that meets customers' real needs. Project Features Project Cost Project Time

4 Key Points  Project success depends on effective requirements management.  Requirements errors are the most common type of systems development error and the most costly to fix.  A few key skills can significantly reduce requirements errors and thus improve software quality.

5 Some numbers …  A study by the Standish Group [1994] reported (USA):the Standish Group [1994] More than $250 billion each year on IT application development  175,000 projects. Avg. cost of a development project:  for a large company: $2,322,000;  for a medium company: $1,331,000,  and for a small company: $434,000 31% of projects canceled before they ever get completed! 52.7% of projects will cost 189% of their original estimates! American companies and government agencies will spend $81 billion for canceled software projects. These same organizations will pay an additional $59 billion for software projects that will be completed but will exceed their original time estimates.

6 Root causes of success and failure  Standish Group study noted the three most commonly cited factors that caused projects to be "challenged“ (late/did not meet expectations): Lack of user input: 13 % of all projects Incomplete requirements and specifications: 12 % of all projects Changing requirements and specifications: 12 % of all projects Unrealistic schedule or time frame: 4 % Inadequate staffing and resources: 6 % Inadequate technology skills: 7 %

7 Root causes of success and failure  9 % of the projects in large companies were delivered on time and on budget (16 % of the projects in small companies)  Primary "success factors" for those projects? User involvement: 16 % of all successful projects Executive management support: 14 % of all successful projects Clear statement of requirements: 12 % of all successful projects

8 Root causes of success and failure  Survey done by European Software Process Improvement Training Initiative (ESPITI) - 3,800 responses –European Software Process Improvement Training Initiative (ESPITI)

9 Root causes of success and failure  The two largest problems, appearing in about half the responses, were: Requirements specifications Managing customer requirements

10 Frequency of requirements errors

11 The cost of requirements errors

12 Summary  Two main things: Requirements errors are likely to be the most common class of error. Requirements errors are likely to be the most expensive errors to fix.  Requirements errors are likely to consume 25 % to 40 %: Requirements errors will contribute the majority— often 70 % or more—of the rework costs. Rework typically consumes 30 % to 50 % of a typical project budget [Boehm and Papaccio 1988]Boehm and Papaccio 1988

13 Overview on Requirements Management

14 Key Points  A requirement is a capability that is imposed on the system.  Requirements management is a process of systematically eliciting, organizing, and documenting requirements for a complex system.  Our challenge is to understand users' problems in their culture and their language and to build systems that meet their needs.  A feature is a service that the system provides to fulfill one or more stakeholder needs.  A use case describes a sequence of actions, performed by a system, that yields a result of value to a user.

15 What Is a Software Requirement?  Dorfman and Thayer [1990]: Dorfman and Thayer [1990] A software capability needed by the user to solve a problem to achieve an objective A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documentation

16 What Is Requirements Management?  Requirements define capabilities that the systems must deliver, and conformance (or lack of conformance) to a set of requirements often determines the success (or failure) of projects. It makes sense, therefore, to find out what the requirements are, write them down, organize them, and track them in the event that they change.  Requirements management is: a systematic approach to eliciting, organizing, and documenting the requirements of the system, and a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system.

17 Needs, Features, Requirements  Stakeholder Needs  Features of the System: services provided by the system that fulfill one or more stakeholder needs.  Software Requirements: Once we have established the feature set and have gained agreement with the customer, we can move on to define the more specific requirements we will need to impose on the solution.

18 Problem & Solution Domains  Problem domain: user needs we discovered  Solution domain: a definition of a system that will be represented by the features of the system and the software requirements that will drive its design and implementation.

19 Problem & Solution Domains

20 Requirements & the Software Lifecycle

21  The team's development process defines who is doing what, when, and how.  In the waterfall model, software activities proceeded through a sequence of steps, and requirements were "fixed" early.  In the spiral model, the first steps were taken to a more risk-driven and incremental approach to development.  The iterative approach, a hybrid of the waterfall and spiral models, decouples the lifecycle phases from the software activities that take place in each phase.  The iterative model is a more robust model and provides for successive refinement of the requirements over time. Key Points

22 Traditional Software Process Models  The Waterfall Model

23 Traditional Software Process Models  The Spiral Model

24 The Iterative Approach  Lifecycle phases  Iterations

25 The Iterative Approach  Disciplines

26 Requirements in the Iterative Model  The iterative approach provides two major advantages: Better adaptability to requirements change (revisited at every iteration  new requirements can be considered at each iteration) Better scope management (If the first iteration is missed by 30 %  indicator that the project may be badly scoped, and adjustments can be made)

27 The Software Team

28 Key Points  Effective requirements management can be accomplished only by an effective software team.  Requirements management touches every team member, in different ways.  Effective requirements management requires mastering six team skills.

29 Team Skills for Effective Requirements Management  Team Skill 1 - Analyzing the Problem: techniques the team can use to gain a proper understanding of the problem that a new software system is intended to solve. Team Skill 1  Team Skill 2 - Understanding User and Stakeholder Needs: techniques the team can use to elicit requirements from the system users and stakeholders. Team Skill 2  Team Skill 3 - Defining the System: initial process by which the team converts an understanding of the problem and the users' needs to the initial definition of a system that will address those needs. Team Skill 3

30 Team Skills for Effective Requirements Management  Team Skill 4 - Managing Scope: arm the team with the ability to do a better job of managing the scope of the project. Team Skill 4  Team Skill 5 - Refining the System Definition: help the team organize/refine the requirements information. Team Skill 5  Team Skill 6 - Building the Right System: discuss some more technical aspects of testing and change management, and show how traceability can be used to help ensure a quality outcome. Team Skill 6

31 The Project team  Team Members Have Different Skills  The Organization of Software Teams

32 Skill 1 Analyzing the problem …