Question

I am attempting to adopt agile concepts and I have done a fair amount of research, but I have not come across the answer to one question. I know that while the developers are initially coding the tasks of an iteration, the testers can be preparing their test plans and test cases, but when testing begins, if there are no bugs being identified for further coding and re-testing, what should the developers be working on at that point? In my current waterfall SDLC, the developers would begin working on the next release's content, but with agile it seems that work can only be done on the current iteration/sprint until it is fully completed.

No correct solution

OTHER TIPS

@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 -

  1. 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?)
  2. They could pick up the next task/ user story/ requirement within the same sprint - and start working on that.
  3. 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.

enter image description here

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.

enter image description here

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 -

Hope this helps!

It does sound that during your transition to agile you haven't yet achieved full integration of your team members. Think about getting daily builds out to a test environment (or continuous deployments if you can) so that the testers can be reviewing work as it is progressing.

Additionally, as @Mahesh Singh mentioned, developers can be helping with the testing as well and will likely be communicating with the test team to guide them through the testing as new builds are going out for review.

No matter how you set it up, there is always a point in the sprint when no more stories are left in the sprint to start on, and the team needs to close out the iteration. This is where you want to have your 'cross-functional' team members so that they can help with whatever might be left:

  • Preparing demo scripts
  • Building installation packages
  • Documentation
  • Training preparation
  • Automated testing
  • Reviewing upcoming stories for the next iteration
  • Helping refine estimates
  • Playing some ping-pong!!
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top