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.
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 | π‘ |
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 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.
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.
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).
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.
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.
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.
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.
The Applications Delivery Branch operates under a formal governance structure with three key cross-team committees:
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
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
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
- 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