Title: EasyWinWin:
1 EasyWinWin
- A Groupware-Supported Methodology for
Requirements Negotiation - CS 577A, 510
Systems Engineering Automation Johannes Kepler
Universität Linz
2The Challenge Avoiding Requirements Mismatches
3Software / IT Challenges
- 30 of software development projects fail
- 70 of the remainder
- Are over budget by 189
- Behind schedule by 222
- More than 50 of this trouble is caused by
inadequate requirements definition
352 companies, 8000 Projects. Source The
Standish Group, 1995
4Why Software Projects Fail
5WinWin
- Success-critical stakeholders negotiate and
prioritize the requirements for a software
development project
6Who Are The Stakeholders?
- Customers
- Users
- Programmers
- Architects
- Domain Experts
- Analysts
- Marketing
- Sales
- Management
- ?
7WinWin Definition
- The win-win approach is a set of principles,
practices, and tools, which enable a set of
interdependent stakeholders to work out a
mutually satisfactory (win-win) set of shared
commitments.
8Win-lose Generally Becomes Lose-lose
Actually, nobody wins in these situations
9Key Concepts
- Win Condition objective which makes a
stakeholder feel like 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
10WinWin Negotiation Model
Win Condition
Issue
involves
covers
addresses
Agreement
Option
adopts
WinWin Equilibrium State - All Win Conditions
covered by Agreements - No outstanding Issues
11WinWin Critical Success Factors
- Appropriate staffing of stakeholder
representatives, facilitator function - Stakeholder representatives empowered,
committed, representative, collaborative,
knowledgeable - Facilitators some understanding of stakeholder
domains, collaboration management ability - Good facilitators can be participants also
- Beginning of shared vision
12Spiral Model Refinements
- Where do objectives, constraints, alternatives
come from? - Win Win extensions
- Lack of intermediate milestones
- Anchor Points LCO, LCA, IOC
- Concurrent-engineering spirals between anchor
points - Need to avoid model clashes, provide more
specific guidance - MBASE
13Why Use WinWin ?
- The alternatives dont work
- Win-lose often leads to lose-lose
- Avoids costly rework
- 100X cost to fix requirements after delivery
- Builds trust and manages expectations
- Looking out for others needs builds trust
- Balancing needs leads to realistic expectations
- Helps stakeholders adapt to change
- Shared vision and the flexibility of quick
re-negotiation - Helps to build institutional memory
- Capture the why behind the what, the argument
behind the artifact
14Four Generations of Tool Support
- 1G Initial Prototype
- developed in concert with Perceptronics CACE-PM
support system for concurrent engineering of
multi-chip modules - 2G Strong-Vision, Not-so-strong Architecture
- Sun-UNIX client-server architecture, X/Motif GUI
support, and its own database server - 3G Muscle-Bound Architecture
- formally analyzed negotiation model, uniform
artifact look and feel, carefully defined
GUI-database interfaces, rigorous enforcement of
the negotiation model, amenities for voting,
attachments negotiation visualization and
navigation - 4G Group Support System Infrastructure
- EasyWinWin
15EasyWinWin objectives
- Foster stakeholder involvement
- Proven collaboration techniques
- Moderate and facilitate crucial activities
- No training requirements for participants
- Stakeholders interact frequently, intensively,
anytime, anyplace they want - Step-by-step process guide
- Automation
- Scalable, reliable, interoperable tool support
- GroupSystems automation suite
16Why Use EasyWinWin?
- Speed and efficiency for modest system,
distributed stakeholders - Email and telephone 1-3 months
- Early WinWin toolset 1-3 weeks
- EasyWinWin OnLine 2-5 days
- Low entry barrier for stakeholders
- Easy to learn and use
- Intuitive, time-efficient process
17EasyWinWin Process
- Review and expand negotiation topics
- Brainstorm stakeholder interests
- Converge on Win Conditions
- Capture a glossary of Terms
- Prioritize Win Conditions
- Identify Issues and Options
- Negotiate Agreements
- Organize negotiation results
18WinWin Deliverables
- An outline of negotiation topics (taxonomy)
- Definitions of key project terms
- Prioritized win conditions
- Issues constraints, conflicts, known problems
- Options solutions addressing issues
- Agreements providing the foundation for further
plans
19EasyWinWin Usage
- Web-based information systems
- Digital library projects
- Web-portal development
- University bookstore consortium
- Web-infrastructure for e-Marketplace
- MediaConnex
- COTS product requirements definition
- Sales and marketing process definition
20Introduction of Example Project USC-CSE
Web-services for Affiliates
21Example Affiliates' Web-Site Interactions
- Search for information in technical reports
- Download a tech report or a tool
- - USC COCOMO II, UML Analyzer, CodeCount, etc.
- Review student resumes
- Find out about, register for future events
- Arrange visits to and from USC-CSE
- Check links to other SW Engineering resources
- Listen to vugraph presentations
- Submit an interest profile and be notified of new
CSE items of interest
22Roles
- Project Manager
- Developer Analyst, designer, coder, tester,
- Regular AffiliateUser User of the Affiliates
private area going for some information - Regular AffiliateUninformed Uninformed a
priori user of the Affiliates private area - Affiliate--Point of Contact Receives
announcements distributes information within
Affiliate organization - AffiliateSponsor Authorizes renewal usually
Senior Management - CSE Management Value of assets information to
assist renewal decisions - CSE Researcher Wants feedback
- COCOMO-only Afffiliate Only told about COCOMO II
events.
23(1) Review and Expand Negotiation Topics
- Objective refine, and customize the outline of
negotiation topics - How Could-be, Should-be
- Result Shared Outline that helps to
- stimulate your thinking,
- organize your win conditions, and
- serves as a completeness checklist for
negotiations.
24Ways to Win in Software Development
Stakeholders negotiate about
- Project requirements
- System capabilities
- Interface requirements
- Level of service requirements
- Evolution requirements
See USC-CSE MBASE Guidelines
25Win 1. Project Requirements
- Mandates for design team
- Global constraints, such as mandated technology,
often non-negotiable - Policy, procedure, methodology
- Tools, techniques
- Project requirements should be M.A.R.S.
(Measurable, achievable, relevant, specific)
26Win 2. Capability Requirements
- Features, functions, behaviors
- Nominal primary purpose of the system
- Off-nominal for handling exceptions, variant
scenarios - Capability requirements are testable
27Win 3. Interface Requirements
- How should it look and feel to the user?
- How should it tie to other software and hardware
systems?
28Win 4. Level of Service Requirements
- How well must the system perform a given
requirement? - Performance, Reliability, Portability,
- Level of Service Requirements should be M.A.R.S.
- Measurable
- Achievable
- Relevant
- Specific
29Win 5. Evolution Requirements
- Account for predictable future growth and change
- Capability Evolution
- Level of Service Evolution
- Interface Evolution
30The Topics for Negotiation
- This is an outline of all the ways you can win in
a software development project. - Read it and suggest additions, revisions
31(2) Brainstorm Stakeholder Interests
- Objective Share perspectives, views, background,
expectations - How Anonymous, rapid brainstorming
- Result An unstructured set of comments about
their vested interests (win conditions)
32People submit and share ideas about their win
conditions using electronic discussion sheets
33Brainstorming Instructions
- Each of you will start on a different electronic
page. - You type in one win condition. Then you must
submit the page back to the group. - The system will randomly bring you back a new
page, which may have other win conditions from
the team.
34Brainstorming Instructions
- You may respond to the ideas of others in one of
three ways - You may argue with an idea
- You may expand on it by adding detail
- You may be inspired to a completely idea.
35(3) Converge on Win Conditions
- Objective Build and organize win conditions
- How Structured discussion to converge on key win
conditions - Result List of clearly stated, unambiguous win
conditions
36Team builds a clean list of win conditions and
organizes win conditions into pre-defined buckets
37(4) Capture a Glossary of Terms
- Objective Define and share meaning of important
terms - How Initial definitions based on stakeholder
statements joint review
- Result A glossary of terms with definitions and
stakeholder statements showing usage of terms
38The team crafts definitions for important terms
used in the project
39(5) Prioritize win conditions
- Objective Scope project, gain focus
- How Vote on Business Importance Ease of
Realization - Result Prioritized win conditions
40Low Hanging Fruits
Maybe later
Forget them
Important with hurdles
After voting,win conditions are displayed in
four categories
41Prioritization Instructions
- Rate each win conditions on a scale from 1 to 10
for each of two criteria - Business importancerelevance of a win condition
to project/company success - Ease of realization perceived technical or
economic constraints of implementing a win
condition. - Vote what you know. Dont vote what you dont
know
42(6) Reveal conflicts and constraints
- Objective Surface and understand issues
- How Analyze prioritization poll to reveal
conflicts, constraints, different perceptions - Result Issues, sometimes Options
43Red cells indicate lack of consensus. Oral
discussion of cell graph reveals unshared
information, unnoticed assumptions, hidden
issues, constraints, etc.
44Red-Light-Green-Light
- Without telling me how you voted
- What reasons might exist for rating this item
high and what reasons might exist for rating it
low?
45(7) Issues, Options, Agreements
- Objective Explore issues and options negotiate
agreements - How Develop/Review passfor issues, options,
agreements - Result A WinWin Tree
- Win conditions
- Issues
- options,
- agreements
46Issues are captured as subheadings to win
conditions
47Elaborate Options
Options are captured as subheadings to issues
48Agreements are captured as subheadings to options
and win conditions
49WinWin Tree Instructions
- We will identify the issues that arise due to
constraints, conflicting win conditions, etc. - We will propose Options to resolve these issues.
- We will finally negotiate agreements for all
issues in the WinWin tree.
50(8) Organize Negotiation Results
- Objective Check if negotiation topics have been
sufficiently covered - How Joint Sortingand Reviewing
- Result List of topics needing further attention
51Instructions
- This is the last step of the Easy WinWin
negotiation here you will sort the WinWin
elements (Win Conditions, Issues, Options,
Agreements) to the negotiation topics. - Remember that all of you will be doing this
simultaneously. - We will then review the buckets and check if all
negotiation topics have been sufficiently
covered.
52Discussion
- EasyWinWin and other requirements elicitation
approaches - Role of the facilitator
- Distributed meetings
53EasyWinWin Summary
- Speed
- Parallel contribution reduces cycle time
- Minimum training requirements
- Broader and deeper negotiation results
- Increases buy-in and reduces risks
- Builds trust and manages expectations
- Repeatable process
- Collaboration techniques
- Process guide for moderator
- Methodology available online
54EasyWinWin Web Resources
- http//www.sea.uni-linz.ac.at/Research/Projects/ew
w/ - http//sunset.usc.edu/research/WINWIN/EasyWinWin
- http//www.groupsystems.com