A day in the life of an agile software tester
The days of waterfall software development are mostly behind us, and a lot of experts would probably tell you, "good riddance."
Agile software development has largely dethroned the clunky software development processes of old, leaving one particular set of professions in an interesting position. In traditional development models, the actual developers were sort of viewed as the rock stars. They more or less whipped up a batch of code, and then would send it down the line to designers, operations and finally, quality assurance.
Because QA was sort of pushed off to the end of development, they would end up in one of two situations:
- Scenario 1: They're asked to turn water into wine by meeting unreasonable deadlines, and doing so without sacrificing the quality of their QA efforts.
- Scenario 2: They spot flaws, and they have to send the solution back up the waterfall, much to the dismay of everyone else in the workflow.
It sounds harrowing and inefficient, and it was indeed both of these things. But again, those days are mostly behind us. The daily life of a software tester looks very different today than it did 20, or even 10 years ago.
Let's take a look:
More fluidity in workflows
Legendary martial artist Bruce Lee is famous for, among other things, having said, "Be like water." He explained, "If you put water in a cup, it becomes the cup." This is perhaps the single-most important piece of advice for an agile software tester. Just consider what the word "agile" actually means: "Able to move quickly and easily."
What makes this fluidity possible is the fact that QA managers now work hand-in-hand with business stakeholders, developers and designers. This streamlined collaboration eliminates the process-driven infrastructure of old, and replaces it with a people-first mentality in which everyone is working toward the same goal at the same time, ideally in the same room.
In fact, the first thing that some development teams do once they've all arrived in the office is a daily Scrum meeting. Basically, everyone talks about what they are going to do that day. They identify challenges, hash out logistics where necessary, and perhaps most importantly, they inform one another in a way that is unprecedented for waterfall development. In a continuous environment, which is where new iterations of an application may be completed and released every day, Scrum is especially important to maintaining an agile mindset.
Going back to the agile tester, we can now see how it might be possible for QA to be a little more like water. Because they have a 360-degree view of the project, they can build a stronger sense of accountability for what's happening, and that alone makes them more versatile.
The constant changes that are being made to software also mean that agile testers will be testing the same applications on a weekly, if not daily basis. To do this, they need to have a basic knowledge of coding, according to Software Testing Help, the reason being they'll need to automate certain test functions. Regression tests, for instance, are specific tests that need to rerun with every change, which for many software projects means every day.
Coordination is key
"An agile tester needs to have the best interest of the project at heart."
That brings us to the next vital property of an agile tester, which is that they need to have strong coordination and communication skills. When new iterations of a program are being released on a weekly or even daily basis, it's vital that all changes are explicitly communicated to ensure that everyone is on the same page. Being able to communicate face-to-face plays a big role in this, but in order to make sure no one ever misses a beat, many teams will deploy agile project management tools. These are typically cloud-based, and they show updates and changes to projects in real time, so in a sense, you can think of as it a sort or perpetual Scrum session.
But staying organized and efficient isn't the only reason that these types of collaboration tools are absolutely necessary. They also help construct a shared accountability model, in which the entire team feels responsible for the project – night and day from the finger pointing that ensued back in waterfall development's days.
It boils down to the old platitude "there is no I in team." An agile tester, and any role on an agile team, needs to have the best interest of the project at heart.
If that sounds like you, then start checking into the prosourceIT career portal early and often.
And don't forget, be like water.