Decision on Code Submission Process now we're working in separate Product Teams
Status | Decided |
---|---|
Decision leader | @Andy Nash (Unlicensed) / @Andy Dingley / @Joseph (Pepe) Kelly |
Contributors | Both Product Teams |
Date | Jul 29, 2022 |
Outcome | Decided to update the process as a result of reviewing how we were using the old process, and to help define in practical terms the concept of code ownership |
Background
We created a process for approvals of PRs when working as one super-team
We largely followed it
Git now offers other out of the box things we can do
We're now working as (currently) two Product Teams (ultimately three or more)
We have now been fully following the originally outlined process
Flow Chart of the new process
Comments on the diagram
The diagram presents and an example of the cross team review process which would conversely apply in situations where the Admin Team wanted to make changes to a product owned by the Trainee Team.
The team that wants to make changes to a product not owned by them are responsible for creating, refining and managing tickets through their lifecycle.
At least one member of the owner product team needs to review the code changes in the pull request, in addition to a developer from the team undertaking the changes.
It is the responsibility of the team that undertake the code changes to fix any bugs and code smells identified.
Once changes have been approved, the team undertaking the changes are responsible for deploying the code to pre-prod and prod as well as fixing any errors identified in testing
Circumstances where the code changes are rejected by the product owners and the pull request is declined are considered edge cases and it is suggested that the original ticket is reviewed by both teams to agree next steps. If such scenarios become more frequent, it may be necessary to refine tickets jointly before being flagged as ready for development
Changes that impact both team, such as changes to infrastructure require joint refinement of the ticket and approval of the pull request.
Action items
1. convert to a Confluence-embedded Draw.io object;
2. add on the next bit - how merged code should be deployed (who, negotiated timings, etc)
Reference Retro https://hee-tis.atlassian.net/wiki/spaces/NTCS/pages/3670278202 and Jira ticket https://hee-tis.atlassian.net/browse/TIS21-3944
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213