Agile – dev and qa in same sprint

agilesprint

I am not the first one to ask this but i also did not get anything concrete from other such posts to tell me what is needed so i am posing the question here. Feel free to refer to some other resource.

My organization is constantly trying to implement the agile methodology as its shiny but we know we have not implemented it properly.
We are currently completing a sprint items by saying that they are dev complete. The QA part of the effort is not required to successfully mark the item as completed in the sprint. This means the primary motive of a sprint deliverable is not achieved.

Now knowing that is different from knowing how to get to the ideal world of a structure that supports true agile delivery.

So what i am looking for is all that is needed to implement the structure that can deliver in agile fashion.
A book's reference or an online post or whatever you know has worked for you will be helpful as long as its not just theoretical mention of principles but a practical guide of how to implement it.

The basics like implementing automation is what is being worked on. But that still does not cover for at the least a little time when dev has completed developing vs QA has completed testing the deliverable. How can both be completed by the end of the sprint and neither is remaining but still not have a dev sit idle near the end of the sprint while they wait for QA effort or QA starts some QA work after the end of sprint because dev just finished their work.

Best Answer

How can both be completed by the end of the sprint and neither is remaining but still not have a dev sit idle near the end of the sprint while they wait for QA effort or QA starts some QA work after the end of sprint because dev just finished their work.

There's really no reason someone can't be idle at the end of the sprint, since scrum optimizes for the team rather than the individual.

That being said, I find it hard to imagine any scenario where this would be possible unless it's the very last sprint of a project. Once the development work is finished, the devs simply need to continue to work with the testers to test the product. Software development under scrum is a team sport. If you have a dev that is unwilling to help test his or her own software, or that of their team mates, they don't belong on a scrum team.

Things devs can do after they think their development work is done:

  • help write automated tests. For example, if using a keyword-based testing tool, they can write the lower level keywords,
  • help the testers with the generation of test data,
  • fix issues with the testability of the code. For example, if building a web app, add missing id attributes as soon as the tester mentions it,
  • work with the product owner on grooming the backlog,
  • optimizing small sections of code,
  • help other devs cross the finish line with their code
  • help write any necessary documentation

Likewise, I can't imagine any scenario where the QA has nothing to do before coding has finished. Here are some of the many things testers could be doing during the first few days of the sprint:

  • working with the product owner to fully understand the acceptance critieria, and collaborating with the dev on how they plan to do that,
  • generating high level test scenarios,
  • gathering test data,
  • making suggestions to the dev on how to make the code easier to test (simple example based on a web application: make sure they add unique ids for every web element you need to interact with),
  • collaborate with the product owner and dev to help refine the high level testing scenarios,
  • start working on the automated tests. With the right testing frameworks it's fairly easy to write automated tests before the software is ready, if you and the developers have been collaborating all along on what elements are on the web page or in the app, how they are identified, etc,
  • reviewing the code that is being written so that you are prepared to test it once it is ready to be tested,
  • working with the product owner on backlog grooming and writing acceptance criteria for the following sprint.