Vithanco

"VGL Guide — Example 13: Evaporating Cloud (EC)"

Estimated reading time: 2 minutes.

Example 13: Evaporating Cloud (EC)

A conflict resolution graph showing how assumptions behind a conflict can be surfaced and resolved:

vgraph projectConflict: EC "Project Delivery vs Quality" {
    // The shared objective both sides agree on
    node obj: CommonObjective "Deliver a successful software product";

    // The two competing needs
    node needA: Need "Meet the market window deadline";
    node needB: Need "Ensure product quality and reliability";

    // The specific wants derived from each need
    node wantA: Want "Release with current feature set now";
    node wantB: Want "Extend timeline for thorough testing";

    // The conflict between the two wants
    node conf: Conflict;

    // Assumptions underlying the conflict
    node assA: Assumption "Testing always requires calendar time";
    node assB: Assumption "Features cannot be descoped";
    node assC: Assumption "Quality requires full manual testing";

    // Solution that breaks the conflict
    node sol: Solution "Implement automated testing pipeline";

    // Objective requires both needs (necessary condition)
    edge obj -> needA: objective_to_need;
    edge obj -> needB: objective_to_need;

    // Needs lead to wants
    edge needA -> wantA: need_to_want;
    edge needB -> wantB: need_to_want;

    // Wants create the conflict
    edge wantA -> conf: want_to_conflict;
    edge wantB -> conf: want_to_conflict;

    // Assumptions exposed
    edge needA -> assA: need_to_assumption;
    edge needB -> assC: need_to_assumption;
    edge conf -> assB: conflict_to_assumption;

    // Solution resolves by breaking assumption
    edge needB -> sol: need_to_solution;
}

Note: EC graphs flow left-to-right, with the Common Objective on the far left and the Conflict on the far right. The two branches represent competing Needs and Wants that create the conflict. Assumptions are surfaced on each edge to identify which assumption can be challenged. The Solution breaks the conflict by invalidating one or more assumptions. EC uses necessary condition logic — "In order to [Objective] we must provide [Need]". The Conflict node has no text label; it is rendered as a lightning bolt icon.