Search code examples
processagile

deployment related question - how to deal with failed tickets during the deployment?


(web project) Hello, I am using a user stories/ tickets during development. We are also using a sprints(scrum). So one feature is described in one ticket. So in the end of the sprint we do review. After the review we have some tickets finished and some failed. I am very curious how can I only deploy the finished tickets/features.

I was thinking on creating a branch per ticket using GIT. And then merging only finished tickets/branches to one parent branch.

any more ideas?


Solution

  • I think any process you choose to use requires some flexibility.

    If you use topic branches for each ticket you could choose not to merge any which are clearly incomplete back into your main branch at the end of that sprint. Unfortunately that discourages frequent merging and you're more likely to have significant merge conflicts as everyone tries to merge changes at the end of a sprint rather than as they finish which would give others a chance to rebase those changes into their history. You also need to then make sure to test the resulting merge of all of those features even if each feature seemed complete independently.

    If you merge frequently then you can't easily select only those changes which pass review after the fact. You can however adopt a pattern from continuous deployment and build new features with the ability to enable and disable them in your releases. Code changes might be in the main branch but you don't necessarily have to expose new features until they are considered ready. Obviously this has some overhead and only makes sense for certain types of changes.

    Finally you might try to avoid performing all of your review work at the end of a sprint. If you can get at least a pair of developers to go over a feature before merging it into your main branch and have decent tests in place you should be able to keep the quality of your main branch contributions high without adding too much of a bottleneck.

    Hopefully you can find something that works for you.