How can a person truly understand what he is to do if his role in all processes is unclear? And agile environments are just the ones where a QA Manager’s role is not clearly identified in the first place. It is as if the QA manager exists for an unknown reason and has to undertake unknown actions to ensure mutual success of the team. How can this be possible? And is it not the worst nightmare of any manager?
The road so far
A QA Manager’s life was relatively simple back in the old day when people were using the Waterfall Model. All activities and necessary requirements were pre-arranged and pre-determined. All roles were assigned and defined. Everyone knew their exact responsibilities, goals and objectives. Yet the system did not work as we needed it to.
Sure, results were delivered, but the world we live in demands more speed, better quality and flexibility. The industry requires more and more agility in order to do something more than staying on the flow. Its actual success we all want, right?
And we’ve got it!
What is a purely agile software lifecycle? A place where quality is being managed development. Both QA team leads and testers are not from an outside department. Everyone is part of the development team and this is a great thing, considering such teams are both responsible for quality of their own work and are being “graded” according to the code they deliver.
This makes people responsible for development go far beyond simply completing requirements and following user stories. Quality becomes integral, unmovable part of the entire process, which gives a great competing advantage to up-to-date software retailers. The whole team is interested in quality, rather than a fixed number of professionals.
Not all is gold that glitters
The agile approach is definitely a fine solution for software development, yet is not perfect. Nothing is. Both developers and testers tend to be extremely tech-savvy in agile environments and heavily rely on coding skills, test automation, numerous frameworks, tools and hacks. This does, indeed, shorten time required for efficient QA, but distances the team from several valuable assets.
Technical aspects and appropriate focus on them is essential, however numerous elements of UI, or specific business requirements cannot be tested by software. Ugly looking interfaces may work as a clock and users will still avoid them. Measurement of user-experience cannot and should not be automated. And that’s where the QA Manager steps in!
Basic responsibilities of QA Managers in agile teams
Surely no QA manager will be delivered with a precise list of chores and responsibilities, nor will anyone explain these professionals with what their role is about. However rational thinking should guide smart and engaged managers towards a course of action that involves several activities aimed at even further improvements in quality of software under development.
Here are several nice examples:
- Make the rules: Yes agile teams require independence, otherwise the entire core of this methodology is ruined. But independence needs to be arranged and organized. Smartly. There should be several undeniable, basic rules like what tools the team is using, how are found defects logged, reported and classified, etc. Work with other managers to identify and determine the very basic: all required standards. Then and only then can independence enter the stage.
- Define metrics: How is quality determined? What differs a fine solution from a foul one? It’s most likely development team is not too certain with answers to these questions and each of them has a personal opinion on this matter. That is why it’s the QA managers who help with definition of required quality.
- Manage loads: The team may and most likely will experience different demand in QA. Some events may demand more testers dedicated to ensuring no element of most vital functionality was overlooked. How many people will be required to efficiently check that element, and will the team remain balanced if several additional members are pulled from their job for some additional testing? You, as the QA manager should be able to both estimate and evaluate required loads.
Surely these three factors are not a precise definition of a QA manager’s role, but they surely can get people on the right track and may be used as a guide light.