Skip to content

Goals Integration Overview

Structured Requirements supports alignment with strategic goal frameworks through the structured-goals package.

Supported Frameworks

Framework Description Best For
V2MOM Vision, Values, Methods, Obstacles, Measures Company/team strategic planning
OKR Objectives and Key Results Quarterly goal setting

Why Integrate Goals?

Connecting PRDs to strategic goals provides:

  • Traceability - Link features to business objectives
  • Alignment - Ensure work supports company strategy
  • Prioritization - Use goal priority to guide decisions
  • Measurement - Connect success metrics to KRs

Integration Architecture

graph LR
    V[V2MOM] --> G[GoalsAlignment]
    O[OKR] --> G
    G --> P[PRD]
    P --> |aligned_objectives| G

    subgraph PRD
        BO[Business Objectives]
        PG[Product Goals]
        SM[Success Metrics]
    end

    BO -.->|maps to| V
    PG -.->|maps to| O

GoalsAlignment Structure

type GoalsAlignment struct {
    // Reference external V2MOM
    V2MOMRef *GoalReference `json:"v2mom_ref,omitempty"`

    // Embed V2MOM directly
    V2MOM *v2mom.V2MOM `json:"v2mom,omitempty"`

    // Reference external OKR
    OKRRef *GoalReference `json:"okr_ref,omitempty"`

    // Embed OKR directly
    OKR *okr.OKRDocument `json:"okr,omitempty"`

    // Map PRD objectives to goal IDs
    AlignedObjectives map[string]string `json:"aligned_objectives,omitempty"`
}

Two Integration Modes

1. Reference Mode

Link to external goal documents:

doc.Goals = &prd.GoalsAlignment{
    V2MOMRef: &prd.GoalReference{
        ID:      "V2MOM-FY2025",
        Path:    "../goals/fy2025-v2mom.json",
        Version: "1.0.0",
    },
    AlignedObjectives: map[string]string{
        "BO-1": "method-1",  // Business Objective -> V2MOM Method
        "BO-2": "method-3",
    },
}

2. Embedded Mode

Include goals directly in PRD:

doc.Goals = &prd.GoalsAlignment{
    OKR: &okr.OKRDocument{
        Objectives: []okr.Objective{
            {
                ID:    "O1",
                Title: "Improve customer retention",
                KeyResults: []okr.KeyResult{
                    {Title: "Reduce churn to <5%", Target: "5%"},
                },
            },
        },
    },
    AlignedObjectives: map[string]string{
        "PG-1": "O1",  // Product Goal -> OKR Objective
    },
}

Alignment Mapping

The AlignedObjectives map connects PRD items to goals:

PRD Item Maps To
Business Objective V2MOM Method or OKR Objective
Product Goal V2MOM Method or OKR Objective
Success Metric V2MOM Measure or OKR Key Result
AlignedObjectives: map[string]string{
    "BO-1":  "method-1",    // -> V2MOM Method
    "PG-1":  "O1",          // -> OKR Objective
    "SM-1":  "KR-1",        // -> OKR Key Result
}

Framework Comparison

Aspect V2MOM OKR
Scope Annual/multi-year Quarterly
Structure 5 components 2 components
Scoring Optional 0.0-1.0 standard
Hierarchy Methods → Measures Objectives → Key Results
Values Explicit Not included
Obstacles Explicit Track as risks

Choosing a Framework

Use V2MOM when:

  • Setting company or team annual strategy
  • Need to define values and principles
  • Want to track obstacles explicitly
  • Prefer Salesforce-style planning

Use OKR when:

  • Setting quarterly goals
  • Need standardized scoring (0.0-1.0)
  • Want lightweight goal tracking
  • Prefer Google-style planning

Use both when:

  • V2MOM for annual strategy
  • OKR for quarterly execution

Installation

# For goals support
go get github.com/grokify/structured-goals
import (
    "github.com/grokify/structured-plan/prd"
    "github.com/grokify/structured-goals/v2mom"
    "github.com/grokify/structured-goals/okr"
)

Next Steps