Consensus Building: Achieving Win-Win Outcomes in Requirements Engineering

Consensus Building (Win-Win)

Aims at bringing a number of stakeholders to consensus, a typical problem during requirements engineering.

Incremental, Risk-Driven Spiral Process

  • Identification of stakeholders
  • Identification of win conditions
  • Conflict resolution

Asynchronous Groupware Tool

  • Stakeholders post win conditions
  • Facilitator detects conflict
  • Stakeholders discuss alternatives
  • Stakeholders make agreements
  1. Review and expand negotiation topics

    Objective: Refine and customize the outline of negotiation topics.

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)

System Capabilities

  • Features, functions, behaviors
    • Nominal: primary purpose of the system
    • Off-nominal: for handling exceptions, variant scenarios

Capability requirements are testable.

Interface Requirements

  • How should it look and feel to the user?
  • How should it tie to other software and hardware systems?

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

Evolution Requirements

  • Account for predictable future growth and change
    • Capability Evolution
    • Level of Service Evolution
    • Interface Evolution …

How: Could-be, Should-be

  • Could-be: add comments recommending change to this outline
  • Should-be: a moderator reviews these comments together with the group and modifies the outline itself

Result: Shared Outline that helps to:

  • stimulate your thinking,
  • organize your win conditions, and
  • serves as a completeness checklist for negotiations.
  1. 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).

  2. 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.

  3. 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.

  4. Prioritize Win Conditions

    Objective: Scope project, gain focus.

    How: Vote on Business Importance & Ease of Realization.

    Result: Prioritized win conditions.

  5. Identify Issues and Options

    Objective: Surface and understand issues.

    How: Analyze prioritization poll to reveal conflicts, constraints, different perceptions.

    Result: Issues, sometimes Options.

  6. Negotiate Agreements

    Objective: Explore issues and options; negotiate agreements.

    How: Develop/Review pass for issues, options, agreements.

    Result: A WinWin Tree:

    • Win conditions
    • Issues
    • options,
    • agreements
  7. Organize negotiation results

    Objective: Check if negotiation topics have been sufficiently covered.

    How: Joint Sorting and Reviewing.

    Result: List of topics needing further attention.