I'm looking for an improvement when managing work on one specific project.
Right now we have one application that has 3 repositories that are querying the same database. All three repositories (landing, admin, cooperant) are on 3 different servers. So often in order to fix something or add new feature you need to make tweaks on multiple repositories because in general that is one big application where one for example landing cannot work without other two parts.
We are also using one task management service and the flow is:
- Client or someone else creates a ticket with the description what needs to be done.
- Developer takes the ticket and work on that effort and then add a labels (landing, admin, cooperant) depending on what repositories he worked on. Sometimes you can have all 3 labels because he's been working on all 3 repos in order to finish the task. Then he change the status to In Review and creates the branches named like ticket id.
- Release coordinator sees the ticket, takes ticket id and based on the labels he goes to one or multiple repositories and then he merges the branches into a release.
- Then that release is tested on a stage server by a QA and then QA adds a label ready-for-prod after the test is successful.
- Next step is merging the release branch to a master and do the deploy.
What can be improved in this flow? Should we make multiple tickets with the same description if we need to work on 3 different repositories, or that is a bad idea since we need to track progress on three 3 tickets and makes updates on all of them?