@user3329073 - so, out of curiosity, are you currently planning sprints and releases - or are you still using waterfall? Or a hybrid approach?
In any case, it would appear that during a planning cycle, your developers complete all the tasks they are meant to work on and hand those off to your QA team to test. Depending on the volume of defects or changes, they might either be fixing those defects or coding the changes - OR - are waiting for new work to be assigned to them. This seems somewhat odd - but it is perhaps due to my not understanding your situation fully.
Normally, I would expect that (especially in an Agile environment), the developers could be doing one or more of the following -
- They could be writing test automation scripts, so that each new feature is covered by your test automation suite. (Are you currently doing test automation?)
- They could pick up the next task/ user story/ requirement within the same sprint - and start working on that.
- They could pick up some engineering task - such as code re-factoring for performance or other usual reasons, as well as other important (but usually not urgent) tasks - such as even documentation.
It all depends on the overall context in which your team operates. What are the organization goals for code quality, stability, performance, documentation? What is the test automation strategy? What are the tools available to enable developers and testers do their work fully?
In our engineering organization, for example, where we follow more of a Kanban approach for being Agile, we have almost no testers. We do Test Driven Development where developers must write test cases before they even start coding. Once the finish coding, they must automate the test cases they wrote, and test the code to ensure that it works. Once done, we do code reviews by our lead architect - and other engineering leads as needed. In the mean time, the developer goes on to the next user story or defect available to work on. Shown below is our Dev lane in our overall product development board.
Additionally, we have a separate lane for tracking important Engineering tasks and work that needs to be done - and if the developer has time on their hands, they will pull work from that lane - and work on it till completed.
We do have a 1-2 manual QA folks, who - along with Product Management - do an overall review of a specific set of features that are identified for being shipped in the next release.
So, like I said, it depends on what your overall approach is to managing your teams and to product deployment and delivery. The advantage of Kanban in helping you become Agile is that it helps you start where you are and improve your processes from there.
Here is some additional reading about our practices that might help -
All in the Day of a Kanban developer - http://bit.ly/1h7kBcH
Benefits of Kanban - 300% Reduction in Cycle Time - http://bit.ly/1bmuYLy
Hope this helps!