We currently use Jira as our ticketing system with the following workflow:
New - Ticket created
In Progress - Developer working on ticket
Resolved - Developer fixed or implemented new feature
Built on Dev - Developer released code for testing and does a pull merge request into our release number on Github ex. 2.0 from their forked branch
Testing - QA testing if everything is fine then it changes to Ready for Deployment
Ready for Deployment - Ready for deployment
Deployed - Code is deployed to production
The person in charge of releases then takes all code from release number and does a pull request into master which then gets released to production.
We are facing the following problem. If a ticket is not ready for release, it is a lot of work for the release person to cherry-pick or remove the not ready code. They could miss something when trying to find all the code that is not ready and have headaches on production because the wrong code got released.
If a developer did 10 commits for the same issue then I could see it being missed.
Any suggestions on how to improve this process?