Pattern: Temporary Service Ownership
Written on
A short-term approach to dealing with orphaned services
When a service has no clear owner, the question is always how do you make changes to it. If the service is mostly dormant, and the frequency of changes are small, then using an Open Service Ownership model may work. If the idea of anyone being able to make changes to a service worries you, then another approach would be to assign temporary ownership of the service to a team making the changes.
This model works well when there are a number of changes to be made in a short period of time by a single team. They take control of the service, controlling who can make changes and co-ordinating with any other work that is being done on the code base by other teams. Once the changes are made, they could relinquish their custodianship and the service goes back to being orphaned.
Being a service owner means you are responsible for the changes made to it. If the ownership of a service is changing frequently, then it can be hard for a consistent vision to be held throughout the evolution of a code base, which could lead to some fairly messy situations. The smaller the code base however, the less this is an issue.
Another alternative to making changes to an orphaned service could be to use the Roving Custodian pattern.