Agile SDLC
Enterprise AI-Agent SDLC β Architecture
flowchart LR
%% ====== STYLE ======
%% classDef layer fill:#0b132b,stroke:#0b132b,color:#fff,rx:14,ry:14;
classDef layer0 fill:green,stroke:lightgrey,color:#ffffff,rx:14,ry:14;
classDef layer1 fill:lightblue,stroke:lightgrey,color:#fff,rx:14,ry:14;
classDef layer2 fill:darkblue,stroke:lightgrey,color:#fff,rx:14,ry:14;
classDef layer3 fill:darkred,stroke:lightgrey,color:#fff,rx:14,ry:14;
classDef layer4 fill:green,stroke:lightgrey,color:#fff,rx:14,ry:14;
classDef layer5 fill:darkgreen,stroke:lightgrey,color:#fff,rx:14,ry:14;
classDef box stroke:lightgrey,color:green,rx:10,ry:10;
classDef ctrl fill:#28304f,stroke:#28304f,color:#c7e3ff,rx:10,ry:10; %% guardrails
%% classDef box fill:#1c2541,stroke:#1c2541,color:#fff,rx:10,ry:10;
%% classDef ctrl fill:#28304f,stroke:#28304f,color:#c7e3ff,rx:10,ry:10; %% guardrails
classDef bus fill:#3a506b,stroke:#3a506b,color:orange,rx:14,ry:14;
%% classDef art fill:#eaeff7,stroke:#cbd5e1,color:#0b132b,rx:10,ry:10;
%% === COLORS (same 7-color scheme) ===
%% classDef layer0 fill:#16a34a,stroke:#0f5132,color:#ffffff
%% classDef bus fill:#475569,stroke:#1f2937,color:#ffffff
%% classDef layer1 fill:#111827,stroke:#0b132b,color:#ffffff
%% classDef layer2 fill:#0f172a,stroke:#111827,color:#ffffff
%% classDef layer3 fill:#0b132b,stroke:#0b132b,color:#ffffff
%% classDef layer4 fill:#0a192f,stroke:#0b132b,color:#ffffff
%% classDef layer5 fill:#eaeff7,stroke:#cbd5e1,color:#0b132b
%% ====== FLOW ======
%% SSoT --> POA
%% POA -->|INVEST Stories & AC| ARCA
%% ARCA -->|ADRs & NFRs : perf / sec / cost| DESA
%% DESA --> CODEA
%% TESTA --> QAA --> SEC
%% CD --> OPS
%% INS --> POA
%% ARCA --> IACA --> TESTA
%% FIN --> POA
%% FIN --> ARCA
%% ====== ARTIFACTS ======
%% POA -.->|User stories| PKG1[(π Product Backlog)]:::art
%% CODEA -.->|Source + Unit tests| PKG2[(π§© Repo)]:::art
%% IACA -.->|Terraform/Bicep/Policies| PKG3[(ποΈ IaC)]:::art
%% TESTA -.->|Test suites| PKG4[(β
Tests)]:::art
%% CD -.->|Release artifacts| PKG5[(π Packages)]:::art
%% OPS -.->|SLIs β’ SLOs β’ Dashboards| PKG6[(π Observability)]:::art
%% ====== LAYER 4: DELIVER & OPERATE ======
subgraph L4["DELIVER & OPERATE"]
CD[π€ Delivery Agent<br/>π Pipelines β’ Releases]:::box
OPS[π€ SRE / Operations Agent<br/>π SLIs β’ SLOs β’ Alerts]:::ctrl
FIN[π€ FinOps Agent<br/>Cost/Unit-Econ β’ Efficiency]:::ctrl
end
class L4 layer4
%% ====== LAYER 3: TEST & VERIFY ======
subgraph L3["TEST & VERIFY"]
TESTA[π€ Tester Agent<br/>β
Test Cases β’ Test Suites]:::box
QAA[π€ QA Agent<br/>Traceability β’ Coverage]:::box
SEC[π€ SecOps Agent<br/>SAST/DAST/Policy-as-Code]:::ctrl
end
class L3 layer3
%% ====== LAYER 2: DESIGN & BUILD ======
subgraph L2["DESIGN & BUILD"]
DESA[π€ Design Agent<br/>APIs β’ Schemas β’ Mockups]:::box
CODEA[π€ Coder Agent<br/>Source Code β’ Unit Tests]:::box
IACA[π€ IaC Agent<br/>Terraform/Bicep β’ Policies]:::box
end
class L2 layer2
%% ====== LAYER 1: PLAN & ANALYZE ======
subgraph L1["PLAN & ANALYZE"]
POA[π€ <b>Product-Owner</b> Agent<br/>INVEST Stories β’ Backlog]:::box
ARCA[π€ <b>Cloud-Architect</b> Agent<br/>ADRs β’ NFRs β’ Guardrails]:::ctrl
INS[π€ <b>Dev-Insights</b> Agent<br/>DORA β’ SLO Trends]:::box
end
class L1 layer1
%% ====== MCP / TOOLING BUS ======
subgraph BUS["MCP Tooling Bus <br/> USB-C for AI apps"]
direction TB
SECPL[(Security Scanners)]:::bus
CICD[(CI/CD)]:::bus
CMDB[(CMDB/ITSM)]:::bus
OBS[(Observability)]:::bus
end
class BUS bus
%% ORCH --- BUS
%% POA --- JIRA
%% CODEA --- GIT
%% IACA --- GIT
%% CD --- CICD
%% SEC --- SECPL
%% OPS --- OBS
%% FIN --- CMDB
%% ====== LAYER 0: HUMAN + ORCHESTRATOR ======
subgraph L0["π€ AI ORCHESTRATOR <br/> HUMAN HITL π€"]
direction LR
SSoT[π€ Jira/GitHub/ADO <br/> Biz Goals & Constraints]:::box
ORCH[π€ AI Orchestrator<br/>Agent Router + MCP]:::box
SSoT --- ORCH
end
class L0 layer0
flowchart TB
%% ==== STYLE ====
classDef quarter fill:#fef3c7,stroke:#f59e0b,color:#111827,rx:12,ry:12;
classDef sprint fill:#dcfce7,stroke:#16a34a,color:#052e16,rx:12,ry:12;
classDef daily fill:#e0f2fe,stroke:#0284c7,color:#0c4a6e,rx:12,ry:12;
classDef review fill:#f3e8ff,stroke:#9333ea,color:#2e1065,rx:12,ry:12;
%% ==== QUARTERLY ====
Q0[π― <b>Mission</b> : Annual+]:::quarter
Q1[π― Quarterly/Monthly OKRs set/refresh<br/>β’ 1β3 bold Objectives<br/>β’ Measurable Value KRs]:::quarter
%% Q2[Roadmap update & funding : persistent pods]:::quarter
QBR[QBR: track value, reprioritize, align domains]:::review
%% ==== SPRINT (BIWEEKLY) ====
SP0[π₯ Sprint Planning<br/>select stories -> Sprint Goal]:::sprint
SP1[Backlog Refinement<br/> : pod-defined cadence]:::sprint
SP2[π₯ Sprint Review<br/>demo working increments]:::review
SP3[Retrospective<br/>improve ways of working]:::review
%% ==== DAILY ====
D1[π₯ Daily Standup<br/>status, blockers, next steps]:::daily
%% ==== LOOPS ====
%% Q0 --> Q1 --> Q2 --> SP0
Q0 -->| Roadmap & Agile Team | SP0
SP0 --> D1 --> SP2 --> SP3 --> SP1 --> SP0
SP2 --> QBR
QBR -->|adjust OKRs / budgets / staffing| Q1
%% ==== AI/OPS GUARDRAILS ====
SLO[π
SLIs/SLOs & Error Budgets]:::review
DORA[ποΈ DORA metrics<br/>lead-time β’ deploy freq β’ CFR β’ MTTR]:::review
SLO -. informs & drive tradeoffs .- SP0
DORA -. informs .- QBR
Architecture & Automation Patterns for Cloud Foundation + FinOps
---
config:
themeVariables:
fontFamily: Inter
fontSize: 15px
primaryColor: '#34b2e7'
edgeLabelBackground: '#fff'
flowchart:
curve: basis
layout: dagre
---
flowchart LR
subgraph rb["Runbooks Platform"]
SpecLayer["Specs / Plans / Tasks"]
Router["Runbooks CLI / API Gateway"]
Executor["Orchestration Engine"]
EvidenceStore["Snapshots / Logs / Artifacts"]
MetricBus["Metrics & Telemetry"]
end
subgraph cf["Cloud Foundations / Landing Zone"]
Org["AWS Organizations + OUs"]
GuardrailEngine["Guardrail Modules"]
DriftDetector["Drift Detection"]
Remediator["Remediation Engine"]
InventorySvc["Discovery / Inventory"]
CostSvc["Cost Ingestion / Insights"]
end
subgraph es["External Systems"]
MCPModules["AWS MCP Servers"]
Dashboard["Vizro Analytics / BI"]
Jira["Atlassian / Ticketing"]
IAMIdentity["AWS SSO / Entra ID"]
end
SpecLayer e1@==> Router
Router e2@==> Executor
e1@{ animate: true }
e2@{ animate: true }
Executor --> GuardrailEngine & DriftDetector & EvidenceStore & MetricBus
Executor e3@==> |runbooks inventory| InventorySvc
Executor e4@==> |runbooks finops| CostSvc
Executor e5@<--> |spec-kit + atlassian-rovo MCP | Jira
e3@{ animate: true }
e4@{ animate: true }
e5@{ animate: true }
GuardrailEngine --> Org
DriftDetector --> Org
Remediator --> Org
InventorySvc --> Org
CostSvc --> Org
MetricBus e6@--> Dashboard
e6@{ animate: true }
IAMIdentity --> Org
SpecLayer:::core
Router:::core
Executor:::core
Org:::core
DriftDetector:::alert
Remediator:::alert
classDef core fill:#d1efff,stroke:#1090b2,stroke-width:2px
classDef alert fill:#ffe9e9,stroke:#d32c2c,stroke-width:2.5px
style rb fill:#e9f7fc,stroke:#1090b2,stroke-width:3px
style cf fill:#fff9ee,stroke:#b77f08,stroke-width:3px
style es fill:#f2e9fc,stroke:#8b60d5,stroke-width:3px
Project Structure
CloudOps-Runbooks/
βββ src/runbooks/ # Production code ONLY
βββ tests/ # ALL test-related files
β βββ unit/ # Unit tests
β βββ integration/ # Integration tests
β βββ artifacts/ # Test execution outputs
β βββ evidence/ # Test results (.txt, .json)
β βββ test-evidence/ # Test validation data
β βββ test-exports/ # Test exports
βββ reports/ # Test reports (junit.xml, coverage)
βββ tmp/ # Temporary files (fully gitignored)
β βββ test-logs/ # Test execution logs
β βββ *.log # Application logs
βββ artifacts/ # PROJECT artifacts ONLY (NOT test)
β βββ active-projects.md
β βββ mcp-validation/
β βββ standards/
β βββ releases/
βββ docs/ # User documentation
βββ .claude/ # Framework files