GitHub

How we organize and get things done with SERVICEOWNERS

Dec 19, 2023Max Beizer
How we organize and get things done with SERVICEOWNERS
SummaryAI, from the source post

This post introduces SERVICEOWNERS as a new layer of abstraction for organizing engineers and code around services within GitHub's large Ruby on Rails monolith. It details the `SERVICEOWNERS` file, `service-mappings.yaml`, the `serviceowners` Ruby gem, and the `ownership.yaml` file. The system aims to provide consistent, company-wide grouping of functionality to humans, leading to a shared lexicon, reduced disruption from team reorganizations, and a centralized service catalog. The service catalog visualizes service relationships, dependencies, and information about maintainers and SLAs, which aids in onboarding and incident remediation. The gem generates the `CODEOWNERS` file dynamically and provides a chat-op for querying service ownership.

More from the Platform Problem Solving and Domain Understanding trail