Gone are those days where the team use to work on a project
for a long time and the customer would get their required project delivered after
a very long time in one go. These were the days where water fall model was predominantly
used where fixed phases of software development like Planning, Requirement elicitation,
Design, coding and unit testing, Integration testing, System testing and
Customer acceptance testing were followed very rigidly. In these kind of software
development model, testing team used to have dedicate phase to test the
software and any major issues found in the system under test would have huge
impact on the project or product quality and on the timeline. Pressure on the
entire team would be high to make change and retest the system and deliver on
time with good quality. Even handling changes in requirements used to have huge
impact on the system to be developed. These are the few reasons which lead to
the evolution of agile development model.
Agile model encourages continuous integration and continuous
deployment of the software and the team develops the system in multiple sprints
and generally there is no dedicated testing phase at the end of the project.
Now the question arises how will the testers contributes in this kind of
software development model and ensure they are adding value to the team.
Unlike in water fall model, here the testers have to be involved
or engaged throughout the project development from the inception till the
delivery of the project. Let’s see how the testers can contribute in agile world.
Sprint planning Session
A member of testing team should always attend planning
sessions. This ensures QA is in sync with the development team from the start,
and allows QA to identify possible problem areas and risks early on. Just like
developers estimate the effort it will take for them to write code, QA should
estimate their effort required for testing the code during the planning
session. When QA is left out of the planning session, testing effort / time is
often overlooked and not included in the sprint’s overall estimates.
Daily stand ups.
A member of testing team should attend daily stand ups. This
promotes a collaborative team environment, making QA feel involved and a part
of the team. Additionally, by QA being involved in stand ups, they’re able to
stay up to date with how the sprint is going and allows them to plan their
workload. If a tester has a blocker, they can bring this up during the stand up.
QA’s presence in stand ups also gives them a chance to give an update on known
issues, which in turn allows developers to keep up to speed on testing progress
and plan their own workload
Testing throughout the sprints
In order to deliver high quality software in a short amount
of time, testing team need to work efficiently. With testing happening
throughout the entire duration of the sprint, the workload for QA is spread out
and allows for issues to be found earlier instead of only at the end of the
sprint. If you find all the bugs at the end of the sprint, it’s too late. By
integrating testing and development, it allows the two teams to work together
and resolve issues faster, leading to higher quality results.
Short demo of the system developed so far
It’s hard to argue the value of in-person communication. Assuming QA and development work in the same location, schedule a quick face-to-face meeting to get the demo of each feature developed so far. This allows QA to see exactly how the new feature works and is a good time for them to ask the developer any questions. These hand-offs can also bring to light issues the developer may not have thought of yet. These interactions also help shorten the feedback loop between development and QA.
Sprint Retrospective
Ensure testing team members are part of Sprint retrospectives
and help in identifying weaknesses in the system and contribute in determining
solutions. QA needs to be involved in these discussions to ensure any concerns
they have are addressed before the start of the next sprint. For example, maybe
a lot of the work was delivered to QA late in the sprint, leading to a rushed
testing effort. QA might raise this concern to avoid it happening again in the
next sprint.
Document test cases.
Never skip documentation since the agile manifesto / principles says so. Always have the minimum required testing documentation in place.
Team have to embrace the above discussed points to be
successful in agile development world.
No comments:
Post a Comment