CS 564 – Lecture 11 Requirements Risk Management and WinWin.

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

University of Southern California Center for Software Engineering CSE USC 1 Digital Library Projects’ MBASE Experience Dan Port USC-CSE Annual Research.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Rational Unified Process
University of Southern California Center for Software Engineering CSE USC MBASE Essentials Planning and control Milestone content Process models Life cycle.
Requirements Specification
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Lecture 13 Revision IMS Systems Analysis and Design.
Software Requirements
Agile Methods and the CeBASE Method Dan Port, USC Vic Basili, UMD.
Computers: Tools for an Information Age
Overview of Software Requirements
Iterative development and The Unified process
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
“If You Don’t Actively Attack the Risks,
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Requirements Engineering
Chapter 9 – Software Evolution and Maintenance
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
What is Business Analysis Planning & Monitoring?
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
S/W Project Management
CPTE 209 Software Engineering Summary and Review.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Requirements Analysis
Software Project Management Lecture # 8. Outline Earned Value Analysis (Chapter 24) Topics from Chapter 25.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Feasibility Study.
1 Project Risk Management Project Risk Management Dr. Said Abu Jalala.
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.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Lecturer: Gareth Jones. How does a relational database organise data? What are the principles of a database management system? What are the principal.
Lecture 7: Requirements Engineering
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Software Testing and Quality Assurance Software Quality Assurance 1.
The Systems Development Life Cycle
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
Systems Analysis and Design in a Changing World, Fourth Edition
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
CS 5150 Software Engineering Lecture 7 Requirements 1.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Digital Libraries1 David Rashty. Digital Libraries2 “A library is an arsenal of liberty” Anonymous.
Foundations of Information Systems in Business. System ® System  A system is an interrelated set of business procedures used within one business unit.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Requirements Engineering Requirements Validation and Management Lecture-24.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Copyright (c) 2014 Pearson Education, Inc. Introduction to DBMS.
CS223: Software Engineering Lecture 8: Requirement Engineering.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
R i s k If you don’t attack risks, they will attack you.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
Iterative Risk Management Workflow Tool
Software Testing and Maintenance Maintenance and Evolution Overview
OCD Risk Management CS 577a, Fall 2012 ©USC-CSSE.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

CS 564 – Lecture 11 Requirements Risk Management and WinWin

Risk Risk is the possibiloity of economic loss or injury Risk Exposure = (Probability of unsatisfactory outcome) X (Loss if unsatisfactory outcome)

Types of Risks Risks affect the project plan (project risks), the quality (technical risks), or the viability of the product (business risks).

Risk Classification

Risk Watchwords Identify the Risks and compute Risk Exposure. When the risk exposure to do something, is unknown DON’T do it. When it’s risky not to do something, DO IT.

Risk Exposure For event E, P(E) = m/n P = Probability m = favorable events n = total events The Risk = 1-P(E) The Risk Exposure = Risk * Cost given that the event actually happens

Requirements Risk Management Win-Win Spiral Anchor Points Life Cycle Objectives (LCO) Life Cycle Architecture (LCA) Initial Operational Capability (IOC)

Functions of Risk Management FctDescription IdentifySearch for and locate risks before they become problems. Analyze Transform risk data into decision-making information. Evaluate impact, probability, and timeframe, classify risks, and prioritize risks. Plan Translate risk information into decisions and mitigating actions (both present and future) and implement those actions. TrackMonitor risk indicators and mitigation actions. ControlCorrect for deviations from the risk mitigation plans. Comm. Provide information and feedback internal and external to the project on the risk activities, current risks, and emerging risks. Note: Communication happens throughout all the functions of risk management.

Risk Do’s and Don’t Don’t overestimate the risks : too much contingency planning Don’t underestimate the risks : leads to panic management later Don’t look for scapegoats Do deal with the top 10 risk exposures first

Personnel shortfalls 2. Schedules and budgets 3. Wrong software functions 4. Wrong user interface 5. Gold plating 6. Requirements changes 7. Externally-furnished components 8. Externally-performed tasks 9. Real-time performance 10. Straining computer science Personnel shortfalls 2. Schedules, budgets, process 3. COTS, external components 4. Requirements mismatch 5. User interface mismatch 6. Architecture, performance, quality 7. Requirements changes 8. Legacy software 9. Externally-performed tasks 10. Straining computer science Top 10 Risk Items: 1989 and 1995

Primary Risk Items People commitment; compatibility; ease of communication; skills Schedule project scope; critical-path items Mismatched user Interfaces and Objectives Performance and overhead External Dependencies Client/User/Administrator Commitment to transition

Risk Analysis Template Str ucture Tech- nology SizeRiskScaleQALocal Tests Formal Planning Config Control HighLowLargeLow3no yes HighLowSmallLowest1no yes High LargeMedium7yesmaybeyes High SmallLow- med 5mayb e noyes Low LargeHigh8yes Low SmallMedium7no yes LowHighLargeHighest10Yes yes LowHighSmallHigh8yes

COTS and External Component Risks COTS Trustworthiness Compatibility Performance Controllability Non-commercial off-the shelf components Open Source Reuse libraries

Technical Background Waterfall focuses on formal Project Control Spiral focuses on Risk management WinWin Spiral focuses on requirements risk management WinWin Risk Driven Spiral with Anchor Points (LCO, LCA, IOC) Agile focuses on Schedule Lambda focuses on Trustworthiness

Risk Management Importance Contains Complexity Quantitative Techniques used to manage risks and set priorities Reduces Rework Typically 40-50% of software costs

Rework Costs are Concentrated

If Risk Management is so important, why don’t people do it? ‘Can Do’ culture Unwillingness to admit risks exist Leaves impression that you don’t know exactly what you’re doing Leaves impression that your bosses, customers don’t know exactly what they’re doing “Success-orientation” Tendency to postpone the hard parts Maybe they’ll go away Maybe they’ll get easier, once we do the easy parts Up front effort, time and investments It is hard to say ‘no.’

Motivation for Risk Management Death March Experience Project Failure Fear of Failure Unrealistic Expectations Risk Management Skills

Unrealistic or Unknown Expectations

WinWin A process that lets stakeholders work out and agree to a known set of mutually shared commitments. The win-win process is composed of a set of principles, practices, and tools.

Outsourcing Risks Medium Unique Dev Loose coupling High Unique Dev Tightly coupled Low Existing pattern Stand Alone Medium Unique Dev Loose coupling High Low Level of Integration Level of Customization

Key Stakeholders Purchasing Agents, End Users, IT staff, Customers, Developers, Testers and Maintainers Sometimes other project managers, Subcontractors, Supplier’s, Venture Capitalists General Public For each stakeholder identify Home organization Know how Authority

Win-lose becomes Lose-lose

WinWin Key Concepts Win Condition: an objective that makes a stakeholder a winner Issue: conflict or constraint on a win condition Option: A way of overcoming an issue Agreement: mutual commitment to an option or win condition WinWin Equilibrium State: 1.All Win Conditions covered by Agreements 2.There are no outstanding Issues

Win Condition Agreement Option Issue blocks addresses adopts covers WinWin Negotiation Model

Why WinWin? Alternatives don’t work and leads to lose-lose. Avoids costly rework 60:1 cost increase to fix requirements error after delivery Builds trust and manages expectations Makes Teamwork likely Helps stakeholders adapt to change

Anchor Points Life Cycle Objectives (LCO): Stakeholders agreed to system’s requirements and engineers have demonstrated one feasible architecture. Life Cycle Architecture (LCA): Developers have detailed an implementation architecture and stakeholders agree to proceed to implementation. Initial Operating Capability (IOC): Working system has been implemented, tested, and transitioned to customer site, and stakeholders have agreed to put it into operation.

SPIRAL MODEL

Workflow Balance over the Life Cycle InceptionElaborationConstructionTransition Management Environment Requirements Design Implementation Testing Deployment

Do notices look exactly like they always have? Teachers are conservative and will resist changing their routine in any way Possible Model Clashes: Teachers makes the following assumption: success model assumption: no changes should be made to procedure or forms Developer makes one or both of following assumptions: product model assumption: fancier graphics make product more appealing process model assumption: stakeholder interaction is not necessary for requirements gathering © NJCSE Library Overdue Book Notices: Stakeholders fear automation

Is output sorted by class, and then by student name? Librarian gives notices to teachers to give to students. If s/he has to sort by hand, s/he won’t use the system. Possible Model Clashes: Librarian makes the following assumption: success model assumption: system should result in less work rather than more work Developer makes one or both of following assumptions: product model assumption: output order is unimportant process model assumption: stakeholder interaction is not necessary for requirements gathering © NJCSE Library Overdue Book Notices: Importance of order of notices

Is input by books NOT returned, rather than by books returned? Far more books are returned on time than not. Far more work to enter books returned. Possible Model Clashes: Librarian makes following assumption success model assumption: system should result in less work rather than more work Developer makes one of the following assumptions: product model assumption: any input model is okprocess model assumption: stakeholder interaction is not necessary for requirements gathering © NJCSE Library Overdue Book Notices: Update by Exception

Does the manual make it clear that data must be saved to floppy after each time the system is used? If not, computer-shy librarian may forget. Possible Model Clashes: Librarian makes the following assumption” success model assumption: all required actions must be stated explicitly in manual Developer makes one, two, or three of the following assumptions: success model assumption: users are as sophisticated as I am process model assumption: stakeholder interaction is not necessary for requirements gathering success model assumption: expend least possible effort Library Overdue Book Notices Administrator Woes

Is saving done via a menu command? Teaching librarian to copy files is much harder than teaching him/her to use a menu command. Possible Model Clashes: Librarian makes one or both of following assumptions: success model assumption: the simpler the better product model assumption: “save” function is part of GUI Developer makes one or both of the following assumptions property (environment) model assumption: users are sophisticated process model assumption: stakeholder interaction is not necessary for requirements gathering © NJCSE Library Overdue Book Notices: Matching User Skills

Does system prompt for save upon exiting? If not, librarian may very well forget. Possible Model Clashes Librarian makes one or both of the following assumptions: success model assumption: I can’t afford to ever lose data product model assumption: “save” function should be prompted Developers make one or both of the following assumptions property (environment) model assumption: users are sophisticated process model assumption: stakeholder interaction is not necessary for requirements gathering © NJCSE Library Overdue Book Notices Fail Safe Design

Did you add features/functionality to impress the customer? What makes you think they will impress? Have you asked the customer if s/he’s willing to pay the extra cost? Possible Model clash: Librarian makes following assumption: success model assumption: I should be able to learn entire system in an afternoon AND EITHER Customer makes following assumption: success model assumption: I don’t want to be charged for things I didn’t ask for OR Developer makes the following three success model assumptions: I want to maximize profits the more features the more customers the more customers the more profits © NJCSE Library Overdue Book Notices Gold Plating

Operations Model` Object Model Capability Requirements System Definition Class Model Project Requirements Statement of Purpose Project Goals Organization Goals System Capabilities Component Model Organization Entities Behavior Model Enterprise model Domain DescriptionSystem AnalysisSystem Design Operational Concept Description (OCD) System and Software Requirements Definition (SSRD) System and Software Architecture Description (SSAD) Organization Background Organization Activities Interaction Model Levels of Service Goals LOS Requirements * Does not include all MBASE models Release Description Reqs. Satisfaction Capability Tests Data Structures Methods/functions LOS Tests Implementation Construction,Transition,Support (CTS) External to MBASE Coverage/Traceability of MBASE Product Models*

Org. goals Shared Vision Initial System/ Project Goals Attractive COTS Revised System/ Project Goals -capabilities -Levels of Service Component Model -COTS components -Build Components Effect of COTS on Mapping Process

Expectations Shortfalls Condition for successful LCO a. Feasible architecture b. Meets requirements within cost/schedule/resource constraints c. Viable business case d. Equilibrium At USC Projects That Failed LCO Condition 1996: 4 out of 16 fail(25%) 1997: 4 out of 15 (27%)

Easy/hard things for software people “If you can do queries with all those ‘ands’, ‘ors’, ‘synonyms’, ‘data ranges, etc.’, it should be easy to do natural language queries.” “If you can scan the document and digitize the text, it should be easy to digitize the figures too.” Easy/hard things for librarians “It was nice that you could add this access feature, but it overly (centralizes, decentralizes) control of our intellectual property rights.” “It was nice that you could extend the system to serve the medical people, but they haven’t agreed to live with our usage guidelines.” Requirements and Expectations: Domain Model Clashes

Identify application simplifiers and complicators –For each digital library sub-domain –For both developers and clients Simplifier/Complicator Experiment

Example S&C’s 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 35, 36, 37, 39 Type of Application Simple Block DiagramExamplesSimplifiersComplicators Multimedia Archive  Use standard query languages  Use standard or COTS search engine  Uniform media formats  Natural language processing  Automated cataloging or indexing  Digitizing large archives  Digitizing complex or fragile artifacts  Automated annotation/descrip tion/ or meanings to digital assets  Integration of legacy systems MM asset info Catalog MM Archive query MM asset update query update notification  Rapid access to large Archives  Access to heterogeneous media collections

Specialized Material

SimplifiersRisks and Trade-offs Generic Uniform Media Formats Specific All video clips are stored using an open file format for video/audio (e.g., MPEG). All film stills are stored using an open image file format (e.g., JPEG). The inverse complicator is to store film clips using streaming video technologies This means that we may have to convert existing digital assets or digitize the original media, which may be costly. A unique file format limits the user base to those who have viewers for that particular file format The chosen file format may not be the most efficient for the various types of media (in terms of compression rates, quality, etc...) Generic Use Standard Query Languages Specific Organize catalog and archive relationally so that queries will be limited to standard search formats,: match exactly by value on any of the fields with or without using boolean combinations (AND, OR, NOT, etc...), or using pattern matching (SQL LIKE keyword) May not be as effective for "discovering" assets in the archive: users must know what they're looking for, in order to search for it Generic Use Standard COTS Specific Use a standard Relational Database Management System (RDBMS) that supports storing multi-media assets A Relational Database Management System may not be most suited for archival of multi-media assets. A Relational Database Management System may have a high initial cost, high implementation, and high administration cost (requires specialized knowledge skills)

ComplicatorsRisks and Trade-offs Generic Natural Language Processing Specific Store the information only in one language (e.g., English) and provide dynamic translation into Chinese, Japanese and Korean The inverse simplifier is to store the same information in 4 different languages (English, Chinese, Japanese and Korean). The first approach is a complex, error-prone, expensive natural language processing issue The second approach will require more storage space, in addition to acquiring the translations Generic Digitizing Large Archives Specific Digitizing film clips from the entire collection of films (which grows at a very fast rate of 800 films per year for Indian films alone) If each film clip requires around 10 MB, then the rate of growth of the database will be of 8GB a year (exclusive of catalog information) Generic Integration of "Legacy" Systems Specific Do not require Real-Video plug-in for Web browsers to allow users to view streamed film clips We cannot use more effective multi-media formats, which are becoming standard technologies

The USC Results Projects That Failed LCO Criteria 1996: 4 out of 16 (25%) 1997: 4 out of 15 (27%) 1998: 1 out of 20 (5%) 1999: 1 out of 22 (4%) Simplifier and Complicator analysis helps -To focus on achievable requirements with tight schedules - To understanding risks and tradeoffs