What is EasyWinWin?
EasyWinWin is a requirements definition methodology that builds on the win-win negotiation approach and leverages collaborative technology to improve the involvement and interaction of key stakeholders. With EasyWinWin, stakeholders move through a step-by-step win-win negotiation where they collect, elaborate, and prioritize their requirements, and surface and resolve issues to come up with mutually satisfactory agreements.
Motivation. The success or failure of a new system rests squarely on the always shifting, sometimes frustrating task of requirements definition. Many of the failures, delays, and budget overruns in software engineering can be traced directly to shortfalls in the requirements process. There is no complete set of requirements out there just waiting to be discovered. Different stakeholders – users, customers, managers, domain experts, and developers – come to a project with different expectations and interests. Developers learn more about the customer’s and user’s world, while customers and users learn more about what is technically possible and feasible. Requirements must be negotiated among the success-critical stakeholders who are often unsure of their own needs, much less the needs of others. Requirements negotiation is based on stakeholder co-operation and active involvement in decision-making to achieve mutually satisfactory agreements.
The WinWin negotiation model. The particular WinWin system we have evolved is based on a negotiation model for converging to a WinWin agreement, and a WinWin equilibrium condition to test whether the negotiation process has converged. The negotiation model guides success-critical stakeholders in elaborating mutually satisfactory agreements: Stakeholders express their goals as win conditions. If everyone concurs, the win conditions become agreements. When stakeholders do not concur, they identify their conflicted win conditions and register their conflicts as issues. In this case, stakeholders invent options for mutual gain and explore the option trade-offs. Options are iterated and turned into agreements when all stakeholders concur. A domain taxonomy is used to organize WinWin artifacts. Important terms of the domain are captured in a glossary.
EasyWinWin methodology. EasyWinWin defines a set of activities guiding stakeholders through a process of gathering, elaborating, prioritizing, and negotiating requirements. EasyWinWin uses group facilitation techniques that are supported by collaborative tools (electronic brainstorming, categorizing, polling, etc.). The activities are as follows (follow the hyperlinks for more details):
- Review and expand negotiation topics: Stakeholders jointly refine and customize the outline of negotiation topics based on a domain taxonomy of software requirements. The shared outline helps to stimulate thinking, to organize negotiation results, and serves as a completeness checklist during negotiations.
- Brainstorm stakeholder interests: Stakeholders share their goals, perspectives, views, and expectations by gathering statements about their win conditions.
- Converge on Win Conditions: The team jointly craft a non-redundant list of clearly stated, unambiguous win conditions by considering all ideas contributed in the brainstorming session.
- Capture a glossary of Terms: Stakeholders define and share the meaning of important keywords of the project/domain in a glossary.
- Prioritize Win Conditions: The team prioritizes the win conditions to define and narrow down the scope of work and to gain focus.
- Reveal Issues and Constraints: Stakeholders surface and understand issues by analyzing the prioritization poll.
- Identify Issues, Options: Stakeholders register constraints and conflicting win conditions as Issues and propose Options to resolve these issues.
- Negotiate Agreements: The captured decision rationale provides the foundation to negotiate agreements.
EasyWinWin is a requirements definition approach that is based on a Group Support System (GSS) by GroupSystems.com to enable the involvement and interaction of key stakeholders. A GSS is a suite of software tools that can be used to create, sustain, and change patterns of group interaction in repeatable, predictable ways. Each GSS tool can be used to create specific group dynamics. For example, an electronic brainstorming tool might be used to cause a group to diverge from comfortable patterns of thought, seeking farther and farther afield for new ideas. A categorizing tool, on the other hand, might be used to cause a group to converge quickly on just the key issues that are worthy of further attention. A group outlining tool might let a group organize complex ideas into an understandable structure, while an electronic polling tool could be used to provoke discussions that uncover unchallenged assumptions and reveal unshared information. Because a GSS can be used to create repeatable patterns of group interaction, it can be used to create collaborative methodologies that produce deliverables of consistent quality and detail.