Vithanco

VGL Guide — Goal Tree

Estimated reading time: 2 minutes.

Goal Tree

Strategic planning with Theory of Constraints necessity logic (H. William Dettmer's Logical Thinking Process). The Goal Tree defines what an organization must achieve through a hierarchy of a single Goal, Critical Success Factors (CSFs), and Necessary Conditions (NCs). Height says nothing about importance: if the lowest NC fails, nothing above it happens. NCs may cross-connect between branches.

Node types

  • Goal — the single top-level objective the system exists for
  • CriticalSuccessFactor — high-level terminal outcomes, 3–5 maximum, without which the Goal cannot be achieved
  • NecessaryCondition — indispensable prerequisite tasks supporting CSFs, which can cascade into more specific sub-conditions

Edge types — flowing top-to-bottom, each edge reading "in order to achieve [upper], we must have [lower]".

  • csf_to_goal — CriticalSuccessFactor → Goal
  • nc_to_csf — NecessaryCondition → CriticalSuccessFactor
  • nc_to_nc — a sub-condition supporting its parent
vgraph companyStrategy: GoalTree "Increase Profitability" {
    // The single system goal
    node goal: Goal "Make more money, now and in the future";

    // Critical Success Factors (3-5 high-level terminal outcomes)
    node csf1: CriticalSuccessFactor "Maximize Throughput";
    node csf2: CriticalSuccessFactor "Control Operating Expense";
    node csf3: CriticalSuccessFactor "Minimize Inventory and Investment";

    // Necessary Conditions supporting CSF1
    node nc1: NecessaryCondition "Maximize sales volume";
    node nc2: NecessaryCondition "Minimize variable costs";
    node nc3: NecessaryCondition "Highly appealing products";

    // Necessary Conditions supporting CSF2
    node nc4: NecessaryCondition "Minimize scrap and rework";
    node nc5: NecessaryCondition "Optimize overhead";

    // Necessary Conditions supporting CSF3
    node nc6: NecessaryCondition "Optimize outgoing supply chain";
    node nc7: NecessaryCondition "Optimize incoming supply chain";

    // Sub-NCs becoming more specific
    node nc8: NecessaryCondition "Effective market research";
    node nc9: NecessaryCondition "High-quality products";

    // CSFs support the Goal (necessity logic: "In order to achieve Goal, we must achieve CSFs")
    edge csf1 -> goal: csf_to_goal;
    edge csf2 -> goal: csf_to_goal;
    edge csf3 -> goal: csf_to_goal;

    // NCs support CSFs
    edge nc1 -> csf1: nc_to_csf;
    edge nc2 -> csf1: nc_to_csf;
    edge nc3 -> csf1: nc_to_csf;
    edge nc4 -> csf2: nc_to_csf;
    edge nc5 -> csf2: nc_to_csf;
    edge nc6 -> csf3: nc_to_csf;
    edge nc7 -> csf3: nc_to_csf;

    // Sub-NCs support higher NCs
    edge nc8 -> nc1: nc_to_nc;
    edge nc9 -> nc3: nc_to_nc;
}