I'm new to Agile. I was trying to figure out when do QC testing and UAT happens in projects using Agile methodology. Explore phase, Adapt phase?
-
5In my experience, everyone practicing what they call "Agile" does it differently.– Joe StrazzereFeb 26, 2017 at 19:44
-
2Gotta agree strongly with Joe on that! (A frequent occurence). The one thing I heard early on in Agile was that its done differently at every shop and through several positions I've found it to be true.– Michael DurrantFeb 26, 2017 at 23:57
-
QC is a term from manufacturing where you actually have good control. Software Engineering is more of an artistic endeavor and Quality Assurance and Quality Engineering are the foci– Michael DurrantMar 20, 2019 at 9:43
3 Answers
First, Agile projects, in general, has no defined phases like "Explore"or "Adapt". I suppose these terms come from some specific flavor of agile.
In ideal Agile world, UAT will happen immediately after each small piece of functionality is developed: it will happen soon and often. In practice, this is often loosened into doing several testing sessions during the project.
The QC testing is a very broad term and does not "happen" in a defined moment in a project. What could be called "QC" is usually captured into a so-called "Definition of Done" document, which describes all activities that should be performed and finished for any functionality piece before it is considered "Done"(and therefore fully eligible to be delivered to a customer). Agile teams self-organize themselves so that DoD covers all quality criteria, both set internally and externally.
Usually in agile projects, QC should be happening continuously, and not contained to a single phase. Practices like pair programming, code review, unit testing, integration testing, and the like. Often these projects use Continuous Integration to further check/test the code on a per-build or every-day basis.
In practice, many projects still have a "regression" or "system test" phase that happens between the agile sprints and release to customers. Sometimes this is called "hardening".
Ideally, UAT happens with each story, at the end of a sprint. But, many projects also continue having a UAT "phase" between the agile sprints and release to customers or sign-off.
These hybrid projects are sometimes referred as "scrummerfall" or other fun names and are considered not true agile. However, these are often necessary because of the nature of the project (for example: legacy code bases where high automated tests coverage doesn't exist, or high accountability situations where some authority needs to "sign-off" on the release)
Hope this helps
In Agile projects, generally doesn't have any phases, but if you search for the phases in Agile project management you will see the explore and adapt phase next to each other. In basic we can say that the QC testing and UAT testing comes in the explore phase. In the Adapt phase, all the result reviews the testing will be done. These can also be changed according to the Project.
You can refer the below link for reference,
Agile project management reference