We just got a legacy project (asp.net mvc app of, say - questionable - quality), are four developers plus one product owner (we do scrum) and we are supposed to work on it for one or two days every month, possibly even less, i.e. a couple of days every few months.
The current flow is that we branch features off develop and have no other branches. The workflow is that
- We develop each feature on a branch and test.
- After or near the end of the sprint, another tester tests each feature branch.
- After that, the stuff that works gets merged to develop.
- Develop gets tested again.
- Things get deployed.
The problem I have is that, due to the short duration of the sprint, we can’t really merge stuff back to develop for other feature branches to be updated with finished features. So, bugs introduced by merging are discovered late, if at all.
Also, we have three kinds of tasks:
- Small, isolated tasks (change the text on a view).
- Tasks that may break stuff (adding a field to a database).
- Refactorings which, by their nature, affect lots of files.
Now, is the flow we have ok for these tasks? Should we use different ways of working with the different task categories?
Would the full git flow be an advantage? Or does anyone have an even better idea?
Any help would be greatly appreciated.