Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 

Repository files navigation

Applications Delivery Branch

NMFS OCIO - Target Team Topology

Welcome to the Applications Delivery Branch! We utilize a modern organizational framework based on Team Topologies principles to deliver value efficiently while managing complexity and cognitive load.


🎯 What is Team Topologies?

Team Topologies is an organizational design framework that optimizes the flow of value by aligning team structures and managing cognitive load β€” the total amount of mental effort and capacity a team has.

Instead of traditional functional silos, we organize around four fundamental team types:

Type Description Icon
Stream-aligned Delivers continuous value to a specific user base πŸ”΄
Platform Provides internal services to reduce cognitive load 🟒
Enabling Bridges capability gaps and facilitates knowledge transfer πŸ”΅
Complicated-subsystem Handles highly specialized or complex technical domains 🟑

Interaction Modes

Teams interact through three defined modes to prevent organizational friction:

  • X-as-a-Service: A "hands-off" interaction where one team provides a stable service for another to consume self-sufficiently
  • Facilitating: A "hands-on" engagement where one team coaches another to build a specific capability
  • Collaboration: High-bandwidth partnership used for joint discovery and innovation in uncertain domains

Conway's Law & The Reverse Conway Maneuver

Conway's Law states that system architecture will inevitably reflect the communication structures of the organization that builds it.

We use the Reverse Conway Maneuver β€” a proactive strategy where we intentionally design our team structures to mirror the desired software architecture we wish to achieve. By designing the right team topology, we drive the outcomes we desire.


πŸ‘₯ Our Teams

Application Development Teams (Portfolio-based) πŸ”΄

Type: Stream-aligned
Interaction Mode: X-as-a-Service Consumer

Purpose: Develop and enhance mission-critical applications that translate specific requirements into functional solutions.

Focus: These teams manage the full "Build" lifecycle, focusing on feature development and technical implementation for their specific portfolios. They collaborate closely with client stakeholders to ensure software evolves alongside mission needs while increasingly adopting "Shift-Left" practices for cleaner transitions to operations.


Application Administration Team 🟒 πŸ”΅

Type: Platform / Enabling (Hybrid)
Interaction Mode: X-as-a-Service Provider & Facilitating

Purpose: Provide a stable, secure, and optimized production environment by managing deployment and ongoing operational health of the branch's application suite.

Focus: Acting as the primary bridge between development and core infrastructure, this team specializes in the "Run" phase of the application lifecycle. They handle production monitoring, patching, and incident response while facilitating delivery of new features through standardized DevOps platform operations (GitLab and FishPAD).


FishSTOC Team 🟒

Type: Platform
Interaction Mode: X-as-a-Service Provider

Purpose: Deliver and maintain the foundational Oracle Cloud Infrastructure (OCI) platform that enables all branch applications to reside in a secure, scalable, and resilient cloud environment.

Focus: This team provides essential compute, storage, and networking resources required for modern operations. By abstracting the complexities of OCI, they offer internal teams a stable foundation to deploy services without needing deep cloud-architectural expertise.


Web Portfolio Team 🟒 πŸ”΅

Type: Platform / Enabling (Hybrid)
Interaction Mode: X-as-a-Service Provider & Facilitating

Purpose: Standardize and provide centralized web infrastructure and web frameworks for a cohesive, secure, and accessible digital presence.

Focus: This hybrid platform/enabling unit manages the specialized stack required for web-based delivery (e.g., Akamai). They provide tools and guidelines that allow other teams to build web-facing applications that adhere to agency standards and security protocols.


SaaS Operations & Shared Services Team πŸ”΅

Type: Enabling
Interaction Mode: Facilitating

Purpose: Maximize the value and security of the branch's enterprise software investments through centralized license management, cost optimization, and vendor relationship stewardship.

Focus: This team serves as the administrative backbone for the branch's diverse SaaS and PaaS portfolio. They ensure all tools are appropriately licensed, cost-effective, and aligned with federal procurement regulations, enabling technical teams to focus on delivery.


πŸ”„ Build vs. Run: Our "Shift-Left" Strategy

While we're moving toward modern DevOps practices, we recognize that we're not yet operating in a "true" DevOps model where the same team builds and runs a system in total isolation.

We employ a structured service transition model that maintains a functional distinction between "Build" and "Run" teams while implementing a Shift-Left strategy:

Shift-Left is the practice of moving essential quality, security, and operational testing as early as possible in the software development lifecycle to identify and resolve issues before they reach production.

This approach reduces "throw-it-over-the-wall" friction, standardizes production deployments, and serves as our strategic bridge toward full DevOps maturity and shared operational responsibility.


πŸ›οΈ Governance Framework

The Applications Delivery Branch operates under a formal governance structure with three key cross-team committees:

1. Portfolio and Project Prioritization (PPP)

Objective: Serve as the primary strategic decision-making body for branch intake and value-based prioritization.

Outcomes:

  • Single, authoritative, ranked Branch Backlog
  • Formal Go/No-Go determinations on all new intake requests
  • Strategic alignment with institutional goals

2. Portfolio and Project Managers (PPM) β€” "Build Focus"

Objective: Provide tactical synchronization for portfolio and project delivery teams.

Outcomes:

  • Branch-wide health check on all active initiatives
  • Improved coordination among teams with dependencies
  • Proactive communication and escalation of delivery risks

3. Application Administration and Operations (AAO) β€” "Run Focus"

Objective: Conduct high-level technical and operational reviews of the production environment.

Outcomes:

  • Review of system availability, performance metrics, and incident post-mortems
  • Audit of patching cycles, technical debt remediation, and lifecycle management
  • Strategic allocation of resources for "Keep the Lights On" (KTLO) requirements

πŸ“š Key Definitions

  • Team: One of the five primary structural pillars of the Applications Delivery Branch with a specific Team Topology type
  • Subteam: A specialized, nested unit within a Team focusing on a specific domain or service
  • Portfolio: Centralized management of programs and projects to achieve strategic mission objectives
  • Program: A coordinated group of related activities, typically longstanding with recurring funding
  • Project: A temporary endeavor with a defined beginning and end to create a unique deliverable
  • Application Development ("Build"): Designing, building, testing, and delivering new features or systems
  • Application Administration ("Run"): Ongoing management, maintenance, security, and optimization of production systems

This document contains summary information about the Applications Delivery Branch governance framework, team structures, and operational definitions.

Draft: February 8, 2026
Office of the Chief Information Officer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors