06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.

Slides:



Advertisements
Similar presentations
Development Process. Four Factors People –10 to 1 variation in programmer productivity with the same experience Process –Methodology Product –Size Technology.
Advertisements

Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
12 Aug 2005CSE403, Summer'05, Lecture 15 Updated Schedule of Remaining Class-Related Deliverables Fri, Aug 10pm: hw#4 responses due Sun, Aug
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov.
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
13 Jul 2006CSE403, Summer'06, Lecture10 Lifecycle Architecture Review: Preliminary Feedback Valentin Razmov.
Rapid Development (Part 1) Mihail V. Mihaylov RammSoft.
Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.
Rapid Prototyping Model
INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker.
19 Aug 2005CSE403, Summer'05, Lecture 17 Lecture 17: Course Retrospective and the Path to Lifelong Learning (Part II) Valentin Razmov.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
Requirement-Related Risks Extracted from the book: Software Requirements By Karl E.Wiegers.
Developing Software MGMT Summer 2012 Night #8.
Teaching material for a course in Software Project Management & Software Engineering – part II.
Industrial Software Project Management Some views on project managing industrial and business software projects.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Software Development Process and Management (or how to be officious and unpopular)
CSE Senior Design I Feature-Set Control The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:
Software Quality See accompanying Word file “Software quality 1”
CSE 403, Spring 2007, Alverson Software Projects – the challenges we face RD:McConnell.
Introduction to Systems Analysis and Design
Chapter 6: Thinking about requirements and describing them.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
Software Requirements and Design Khalid Ishaq
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
05 Jul 2006CSE403, Summer'06, Lecture07 Administrivia Informal feedback meetings with LCO groups FantasySportsLeague: still to come today Individual assignment.
Agile Software Development Jeff Sutherland, one of the developers started it In February 2001, 17 Tools: continuous integration, automated or xUnit test,
Project & Risk Management
CS 5150 Software Engineering Lecture 2 Software Processes 1.
11 Jul 2005CSE403, Summer'05, Lecture 08 Lecture 08: Best Practices for Software Design (Part I) Valentin Razmov.
CSE 403 Lecture 27 Course Wrap-up Discussion slides created by Marty Stepp
Engineering Design Process Brookville Intermediate School 7 th Grade.
Client requirements as key for project success Rabie Adel YVEMM.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
Evaluating Requirements
Software Requirements
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
07 Jul 2006CSE403, Summer'06, Lecture10 Lecture 10: Core Principles and Best Practices for Software Design (Part I) “Treat design as a wicked, sloppy,
05 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Techniques for Gathering Requirements Valentin Razmov “The goal of requirements engineering is to develop.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
Introduction to Project management and Principles.
CS223: Software Engineering Lecture 32: Software Maintenance.
Statement of Work Lecture. SOW The statement of work is the basis of the contract between the pro- poser and the customer, and is often incorporated into.
Deliverables: Zero-Feature Release Build process, installation process, code repository, automated testing framework, bug tracking system Maybe no tests.
Develop Schedule is the Process of analyzing activity sequences, durations, resource requirements, and schedule constraints to create the project schedule.
27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:
The Software Development Cycle
Lecture 11: Scheduling, Estimation, and Prioritization
Business System Development
Project Management Complexity, Risks, Failure and Technology
Lecture 02: Software Lifecycle Models
Lecture 07: Techniques for Gathering Requirements
Lecture 03: Software Lifecycle Models
Lecture 09: Software Architecture (Part I)
Software Engineering Furqan Rustam.
Software Engineering Lecture #3
Lecture 15: Scheduling, Estimation, and Prioritization (Part II)
Questions First On class? On project? On material we’ve discussed?
Lecture 07: Team Environment Issues (Part I)
The Software Development Cycle
Presentation transcript:

06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is to develop high quality – not perfect – requirements that allow you to proceed with construction at an acceptable level of risk.” -- from “Software Requirements”, Karl Wiegers

06 Jul 2006CSE403, Summer'06, Lecture08 Outline Techniques: Use Cases / Usage Scenarios (covered) Commonality and Variability Analysis (covered) Frequent Customer Feedback (Throwaway) Prototyping Risks from Inadequate Requirements Processes Discussion Questions Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 Resources “Software Requirements”, by Karl Wiegers “Rapid Development”, by Steve McConnell Ch. 10, 14.1 “The Pragmatic Programmer”, by Andrew Hunt and David Thomas Ch. 7 – all of it is relevant Standish report Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 Frequent Customer Feedback Why work with customers? Good relations improve development speed. Improves perceived development speed. Customers don’t always know what they want. Are requirements ever exact and clear? Customers do know what they want, but it changes over time. So when are the requirements final? No need to make dangerous assumptions about what customers want, or whether it is final and complete. Bottom line: improved efficiency, less rework, reduced risks, less friction Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 Throwaway Prototyping Using a rough sketch / diagram to show your understanding and to evoke customer response Example: Caution: Do not overdo it! It must look and remain throwaway. © Busta’ Sandwich Co. Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 Risks from Inadequate Requirements Processes Insufficient user involvement => ? Creeping user requirements => ? Ambiguous requirements => ? Gold-plating by developers and users => ? Minimal specifications => ? Overlooking the needs of certain user classes => ? Incompletely defined requirements => ? Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 Risks from Inadequate Requirements Processes Insufficient user involvement => unacceptable products Creeping user requirements => overruns and degraded product quality Ambiguous requirements => ill-spent time and rework Gold-plating by developers and users => unnecessary features Minimal specifications => missing key requirements Overlooking the needs of certain user classes => dissatisfied customers Incompletely defined requirements => accurate project planning and tracking impossible Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 A Word of Advice on Managing Requirements After you put together a requirements specification, go over it to: Eliminate all requirements not absolutely necessary Simplify those requirements that are more complicated than necessary Substitute cheaper options when available Move non-essential requirements to future releases Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08

06 Jul 2006CSE403, Summer'06, Lecture08 Feature / Scope Creep “ The software was late and far over budget; in fact, it almost didn’t make it out the door. And it bore little resemblance to their original plans…” -- from “The Wall Street Journal” “Our analysis found that the average requirements overrun on our projects is about 40%.” -- from Construx analyses Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 Feature Creep Estimated Reference: Standish report, Valentin Razmov

06 Jul 2006CSE403, Summer'06, Lecture08 Strategies to Manage Feature / Scope Creep Scope change document May feel bureaucratic, but prevents frivolous changes to product scope and feature set Need to first analyze cost & impact, then decide on tradeoffs Change control board Valentin Razmov