Skip to content

An open framework for treating organizational design like software. OPI Spec, YAML examples, JSON Schema, and templates.

License

Notifications You must be signed in to change notification settings

andreassiemes/org-as-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Org as Code

Making organizational design reviewable, testable, deployable.

Org as Code is an open framework for defining organizational structures, governance, and decision flows in version-controlled, AI-readable formats — so they can be treated like software: reviewed, tested, and deployed.

At its core: OPI (Organizational Programming Interfaces) — a YAML-based specification for encoding how organizations make decisions, assign responsibilities, and coordinate work.

Why?

Organizations spend enormous effort on governance, compliance, and coordination — and most of it is invisible, undocumented, or stuck in slide decks. Meanwhile, software engineering solved this decades ago: version control, code review, automated testing, continuous deployment.

Org as Code bridges this gap. It brings engineering practices to organizational design — not to replace human judgment, but to make structures visible, discussable, and evolvable.

6 Principles

# Principle Core Idea
1 Org as Code Structures are versioned, reviewable, deployable — like software
2 Human-First Automation AI handles the tedious; humans make the decisions
3 Decision Flow Visibility Make visible where decisions get stuck
4 Interface over Hierarchy OPIs over rigid org charts
5 Adaptive by Design The framework adapts to the organization's developmental stage
6 High-Performing Humanity Performance AND humanity — enabling entrepreneurial thinking without losing the human

What's Inside

org-as-code/
├── spec/                           # OPI Specification
│   ├── opi-v0.1.md                 #   Foundation spec (669 lines)
│   ├── opi-v0.2.md                 #   Full spec (1500+ lines, 36 validation rules)
│   ├── opi-v0.2.schema.json        #   JSON Schema (V0.2)
│   ├── opi-v0.3.md                 #   Current spec (BP integration, interface methods)
│   └── opi-v0.3.schema.json        #   JSON Schema (V0.3)
├── examples/
│   ├── governance/                 # Unit definitions
│   │   ├── committee-structure.yaml
│   │   ├── steering-committee.yaml #   Committee with DACI, schedule, interfaces
│   │   └── delivery-lead-sync.yaml #   Meeting with facilitator, weekly cadence
│   └── flows/                      # Cross-unit decision flows
│       ├── budget-approval.yaml    #   Decision flow with conditional routing
│       └── escalation.yaml         #   Escalation path with time-based triggers
├── templates/                      # Reusable org templates
│   ├── consulting-firm.yaml        #   7 custom types for consulting orgs
│   └── spotify-model.yaml          #   Squad, Tribe, Chapter, Guild types
└── docs/
    └── research/                   # Background research
        ├── competitive-landscape.md
        └── opi-spec-research-report.md

Quick Example

A Steering Committee defined as OPI — with members, schedule, governance, and interfaces:

opi: "0.3.0"

unit:
  name: "Steering Committee"
  id: steering-committee
  type: committee
  purpose: "Strategic decisions for the delivery organization"
  mandate: "Budget approval >10k EUR, headcount changes, unit restructuring"
  owner: "COO"

members:
  - role: chair
    position: "COO"
    daci: approver
    attendance: permanent
  - role: member
    position: "Head of Delivery"
    daci: driver
    attendance: permanent
  - role: member
    position: "Head of Sales"
    daci: contributor
    attendance: permanent

schedule:
  cadence: biweekly
  duration: 60
  rrule: "FREQ=WEEKLY;INTERVAL=2;BYDAY=TU;BYHOUR=10;BYMINUTE=0"

governance:
  framework: daci
  decisions:
    - type: budget-approval
      authority: approve
      quorum: 3
      escalation: board

interfaces:
  inputs:
    - from: delivery-lead-sync
      artifact: decision-proposals
      format: markdown
  outputs:
    - to: all-hands
      artifact: decision-log
      format: markdown
      cadence: monthly

OPI Spec v0.3 Highlights

The specification defines 15 sections for modeling organizational units, plus org-level documents for shared defaults:

Section Purpose
unit Identity, type, purpose, mandate
members Roles with DACI/RAPID accountability, temporal roles (start/end dates)
schedule Cadence with iCalendar RRULE support
governance Decision frameworks and authority
interfaces Inputs/outputs with method types and BP integration
flows Cross-unit decision and escalation paths
components Type inheritance, custom unit types, artifact schemas
capabilities What the unit can do
channels Communication (async, meetings, wikis)
dependencies Unit relationships, SLAs, escalation flows

New in V0.3:

  • Org-level documents (org.yaml) — organizational metadata and shared defaults
  • Interface methodsunary · stream · batch · collaborative
  • BP type annotations — link interface artifacts to Business Primitives atoms
  • Temporal rolesstart_date / end_date on members
  • Escalation flowsescalation_flow on dependencies

Unit types: stream-aligned · platform · enabling · leadership · support · committee · meeting · working-group · circle

Governance models: DACI · RAPID · OVIS · consent · consensus · autocratic

→ Full spec: spec/opi-v0.3.md | JSON Schema: spec/opi-v0.3.schema.json | Previous: spec/opi-v0.2.md

Templates

Pre-built organizational templates with custom unit types:

  • Consulting Firm — Practice, Delivery Unit, Steering, Staffing Board, Client Board, All-Hands, Leadership Team
  • Spotify Model — Squad, Tribe, Chapter, Guild

Templates use OPI's type inheritance (components.types) so you can define your organization's building blocks once and instantiate them consistently.

Status

V0.3 (current) — BP integration, interface methods, temporal roles, org-level documents. JSON Schema.

V0.2 — Full spec with 36 validation rules, flows, components, status conditions.

V0.1 — Foundation release.

Learn More

Author

Andreas Siemes — Principal Consultant Strategy & Transformation. Building the bridge between organizational design and software engineering.

License

MIT

About

An open framework for treating organizational design like software. OPI Spec, YAML examples, JSON Schema, and templates.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors