4 ms·
In my experience, ownership of services is usually defined to ensure that in the engineering organization it's clear who will react as the first responder when
by hrpnk 6y ago
In my experience, ownership of services is usually defined to ensure that in the engineering organization it's clear who will react as the first responder when there are security patches, production incidents to deal with and also when there are questions about the service's inner workings. It's especially required when the documentation of the services is sparse which is likely to happen when the change rate in the team is high.
In more mature engineering organizations, you would define a set of maintainers for the service, who will define the contribution mechanisms and guidelines, so that anyone can make changes to the code. This is further enabled by common patterns and service structures, especially when there is a template to follow. Strict assumed "ownership" creates anti-patterns where each team will define their favourite tech stack or set of libraries making it difficult for others to contribute and decreasing the possible leverage effects in the team.
- axlee 6y agoMaybe it is simply a terminology issue, but what you describe, I would call it responsibility rather than ownership. Ownership implies strong exclusivity. Agree with your post otherwise.
- hrpnk 6y agoI agree that responsibility is what we are actually looking for. The term 'ownership' is popular in product teams [1] and in engineering career frameworks [2]. In the second example, it's defined as "The rest of that story is about owning increasingly heavy responsibilities". Even github allows defining code ownership through the CODEOWNERS files. [1] https://svpg.com/autonomy-vs-ownership/ https://svpg.com/autonomy-vs-ownership/ [2] https://open.buffer.com/engineering-career-framework/ https://open.buffer.com/engineering-career-framework/