Source Management Team
To improve Code Engineer productivity by reducing the work required to integrate changes, SADMF introduces the Source Management Team. The premise is straightforward: merging code is complex, conflict resolution is error-prone, and neither activity produces features. Every minute a Code Engineer spends resolving a merge conflict is a minute not spent typing new code. The SMT eliminates this waste by centralizing all source control operations under a dedicated team. The SMT:
- Authorizes new feature branches — approves and creates branches in the repository
- Merges completed branches — integrates each Code Engineer’s work into the Conflict branch
- Resolves all conflicts — determines which changes prevail when branches collide
- Alerts the Quality Authority — signals when the Convoy is ready for testing
Code Engineers interact with their own feature branches and nothing else. Everything beyond that boundary is SMT territory.
Branch Authorization
The branch authorization process begins when a Feature Captain submits a Branch Request Form to the SMT, specifying:
- The feature name
- The base branch
- The expected duration
- The Code Engineers who will work on it
The SMT reviews the request against the current branch topology documented in the Fractal-based Development map to ensure that the new branch will not create structural conflicts with existing branches. Once approved, the SMT creates the branch and grants write access to the assigned Code Engineers. Code Engineers may not create branches themselves, as unauthorized branches would introduce untracked parallel development that the SMT cannot monitor or manage. Every branch in the repository must appear on the Fractal-based Development map, and the SMT is the sole authority for updating that map.
Conflict Arbitration
Merging is the SMT’s most critical and time-consuming function. At defined integration points during the Convoy cycle, the SMT merges all completed feature branches into the Conflict branch. This is where Conflict Arbitration occurs: when multiple Code Engineers have modified the same files, the SMT resolves the conflicts by examining the changes, consulting the requirements, and determining which changes should prevail. The SMT does not ask the Code Engineers to resolve their own conflicts, as this would reintroduce the productivity loss that the SMT was created to eliminate. Instead, the SMT makes the resolution decision and documents it in the Conflict Resolution Log, which is reviewed by the Development Integrity Assurance Team (DIAT) to verify that resolutions did not introduce defects.
Documentation Branch Management
The SMT also manages the branching lifecycle for the Comprehensive Documentation Assurance Protocol (CDAP), ensuring that documentation branches follow the same controlled process as code branches. When the CSET approves a code change and the DIAT validates the testing, the SMT verifies that all associated documentation has been merged before marking the feature as integration-complete. This ensures that code and documentation remain synchronized throughout the Convoy, preventing the common problem of code shipping without updated documentation or documentation shipping that describes code not yet merged.
Reporting and Metrics
The SMT reports to:
Their performance is measured by:
- Merge success rate — the percentage of merges completed without requiring Code Engineer consultation
- Average conflict resolution time — how quickly the SMT resolves conflicts once encountered
- Fractal-based Development map accuracy — how closely the map reflects the actual repository state
SMT members must pass the DevOps Process Excellence Assessment with high scores in the source management and branching strategy sections, and senior SMT members may pursue the SADMF Certified Source Architect credential. The SMT is the organization’s cartographer and diplomat, mapping the territory of code and negotiating peace when branches go to war.
See Also
- Fractal-based Development for the branching pattern the SMT manages
- Conflict Arbitration for the merge resolution practice the SMT executes
- Code Engineer for the role whose branches the SMT manages
- Quality Authority for the role that receives the integrated build from the SMT
- Commodore for the role the SMT reports to during Convoys
- Systems Thinking for the principle behind dedicated source management