Chapter 05: Evolutionary Requirements. 5.1. Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.

Slides:



Advertisements
Similar presentations
Software Project Management
Advertisements

Designing and Developing Decision Support Systems Chapter 4.
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Agile Usability Testing Methods
Chapter 5 Evolutionary requirements –Expect change! –Learn as you go –Validate as you build Why – 25% requirements change on an average software project.
Chapter 4: Inception is Not the Requirements Phase
Chapter 7 Other Requirements Good Fast Cheap Pick any two. 1CS John Cole.
Object-Oriented Analysis and Design
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Requirements Specification
Requirements Analysis CMPT 371 Fall 2004 J.W. Benham.
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
Understanding Requirements
SE 555 Software Requirements & Specification Requirements Validation.
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
NJIT Evolutionary Requirements Chapter 5 Applying UML and Patterns Craig Larman.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
SE 555 – Software Requirements & Specifications Introduction
COMP 350: Object Oriented Analysis and Design Lecture 2
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Software Life Cycle Model
Copyright © Craig Larman All Rights Reserved Requirements.
S/W Project Management
1 BTS330 Vision & Scope. 2 IT Projects What defines project success? On time Within budget Delivers what the clients want The reality Less than 20% of.
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
Object-Oriented System Analysis and Design Chapter III- Requirement Elicitation Collecting and organizing users requirement- WHAT- User needs.
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Software Requirements Engineering CSE 305 Lecture-2.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-Oriented Analysis and Design An Introduction.
INFO 637Lecture #51 Software Engineering Process II Defining Requirements INFO 637 Glenn Booker.
Chapter 7 Applying UML and Patterns -Craig Larman
Chapter 7 Applying UML and Patterns Craig Larman
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Systems Life Cycle A2 Module Heathcote Ch.38.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Chapter 5 Evolutionary Requirements. Introduction 5.1 Definition: Requirements 5.2 Evolutionary vs. Waterfall Requirements 5.3 What are Skillful Means.
Chapter 31 Your Prescription for Requirements Management.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
Understanding Requirements Chapter 5 Applying UML and Patterns -Craig Larman.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Evaluating Requirements
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
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.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Integration testing After different modules of a system have been coded and unit tested: –modules are integrated in steps according to an integration plan.
Your Prescription for Requirements Management 1. Assumptions The prescription for requirements management is based on the following assumptions:  The.
Evolutionary requirements
(Professional Business Analyst Training organisation)
Software Requirements analysis & specifications
Evolutionary Requirements
Chapter 5 Evolutionary requirements
Software Requirements
Other System Requirements
Presentation transcript:

Chapter 05: Evolutionary Requirements

5.1. Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly the project, must conform”  The UP does not attempt to fully define the requirements before programming but instead, promotes a systematic approach to finding, documenting, organising and tracking the changing requirements of a system: This is about embracing change; Tackling software development as a problem solving activity; It also emphasises a disciplined way to handling change: iteratively and skilful yes but not in an haphazard or sloppy way.  The UP-way entails continuous, multi-way, communication between the developers, the clients and all other stakeholders to discover and track requirements but also the documenting of requirements: the UP “manage changing requirements”.

 The UP embraces change in requirements, the Waterfall model tries to deny that requirements will change by requesting that a full, detailed, specification be written prior to design and coding. On average 25% of the requirements change during a software project; Writing a detailed, accurate, specification even with frozen requirements with difficult and error prone (which means that the actual requirements are not actually captured implying change anyway later on in the specification); Why do you think people tried the waterfall-way of doing things (and still do)?  In the UP and other evolutionary methods, we start release-grade programming and testing long before most of the requirements have been analysed (perhaps only 10% of the requirements have been specified whenever coding starts). 5.2 Evolutionary vs. Waterfall Requirements

 The UP does not advocate that the solution is to start coding on day two of the project and forget about requirements analysis or requirements documentation …  There is a middle way: iterative and evolutionary requirements analysis combined with early time-boxed iterative development and frequent stakeholder participation, evaluation, and feedback on partial results: It not easier to do than writing the full requirements up-front; It is just more likely to succeed…

 Surely the client will know them all … Do they?  Eliciting the real requirements is in general difficult. You must use whatever technique is necessary: Writing use cases; Requirements workshop; Maximum involvement of the client; Prototypes; Focus groups with proxy customers; Increment demonstration after each iteration; Active feedback solicitation; Friendly client/developers team building; Good communication practices; 5.3 Means to Find Requirements?

 In the UP requirements are categorised according to the FURPS+ model: Functional : features; Usability : human factors, help, documentation; Reliability : frequency of failure, recoverability; Performance : response times, throughput, resource usage; Supportability : adaptability, maintainability, internationalisation; in addition the ‘+’ in FURPS+ indicates ancillary requirements or constraints such as: Implementation : language and tools, hardware restrictions; Interface : interfacing constraints ; Packaging : physical box; Legal : licensing; 5.4 Types and Categories of Requirements

 Another, much coarser, categorisation is functional and non-functional requirements.  Categories are good (up to a point …) as a checklist : we are less likely to forget some of the requirements. 5.4 Types and Categories of Requirements (cont’d)

 The UP includes the following optional artifacts to record, keep track of and more generally manage requirements: Use Case Model : a set of typical scenarios (primarily for functional requirements); Supplementary Specification : basically for non-functional requirements; Glossary : a central repository of noteworthy terms; Vision : summarises the requirements and the business case for the project. Includes a short executive overview; Business Rules (aka Domain Rules) : external constraints that the project will have to respect, e.g. Banking procedures, network protocols, safety critical software regulations; To this I would add: Prototypes; Existing applications;  The format for these documents is pretty free: but templates do exist and software companies may impose their own version; 5.5 How are Requirements Organised in UP Artifacts?

 Since software requirements are hard to capture and do change over time an evolutionary approach to requirements gathering is more suitable than a big- bang, waterfall, approach.  However this does not imply sloppiness during their analysis, documentation and change management.  Questions Please 5.6 Conclusion