At the moment in Jira each developer has the following columns in its dashboard:
(developer dashboard)
TO DO IN PROGRESS IMPEDED QA REVIEW DONE
Story 101 -----------------------------------------------------------------------------
Development
Story 102 -----------------------------------------------------------------------------
Development
Each developer can create a certain number of tasks for each story. One task for each story is created for testing and assigned to the tester from the beginning.
The tester has the following dashboard:
(tester dashboard)
TO DO IN PROGRESS IMPEDED QA REVIEW DONE
Story 101 -----------------------------------------------------------------------------
Test
When the story is ready for testing the developer move the testing task to the QA column (although he cannot see it from its dashboard).
(tester dashboard)
TO DO IN PROGRESS IMPEDED QA REVIEW DONE
Story 101 -----------------------------------------------------------------------------
Test
The developer has to rely on notifications sent via email, when a test fail and the testing task is assigned back to "in progress" (the testing task is never assigned to the developer):
(tester dashboard)
TO DO IN PROGRESS IMPEDED QA REVIEW DONE
Story 101 -----------------------------------------------------------------------------
Test
In addition to this, for reviews the process is not very linear, as the task is not assigned to the reviewer but just moved to the column REVIEW:
(developer dashboard)
TO DO IN PROGRESS IMPEDED QA REVIEW DONE
Story 101 -----------------------------------------------------------------------------
Development
There might be multiple reviewers and the only way to know you have to review a story is to login to Bitbucket and see if there are any pull requests. When somebody leaves comments, you have to constantly check the pull request to deal with the comments.
Another problem here is that the tester not always waits for the review to be completed (approved by everybody in the pull request). In fact the "development" task can be in "review" state and at the same time the "testing" task can be in the QA state. The tester sometimes start testing before the end of the review because there are no other stories to be tested, but the consequence is that he has to test again if there are any changes to the code.
As you can see the process is quite convoluted and not linear. How can I improve the process? what are we doing wrong?