Quality Assurance (QA) bridges technology and user experience design, giving a big picture and wind angle understanding of systems and projects. It adds value to the development process, not just by ensuring that every project meets our standards of excellence, but also by defining and maintaining the focus of the team through the entire lifecycle.
Emil Zimmermann brings over 18 years of software QA experience to ImageX as our QA Lead. I sat down with him to discuss his thoughts on best practices, the role of the QA team, and how ImageX delivers that “wow” factor to its clients.
ImageX: What are your best practices for web QA?
First, you must define what quality means. That’s the first question that every QA expert should ask -- what does it mean for us and our clients, and then you can find that middle ground where exciting things happen. Software QA shares many of the same goals of other industries; whatever applies to good quality elsewhere will here as well. To me, measuring great quality is simple -- it’s when the client says “wow”. That’s always the best metric.
Next, find a balance between automated and manual usability testing. Software is about technology, so it’s tempting to try to automate everything. It’s possible to a great extent because the tools are available, but the scope of them is limited and they can’t test for more qualitative measures like user experience design. Too many companies think of software QA as a technical area and everything else, at best, lacks focus. However, I believe in an end-to-end QA process and a balance between automated and manual usability testing for the benefit of the end user.
And finally, being flexible is important. You need to adapt. If you try to stick to a particular method, you risk losing sight of the forest for the trees. You’re often working with a moving target, especially in an Agile environment, so you need to be aware of the big picture at all times and maintain that focus.
ImageX: What have you found are the most common misconceptions about QA?
The most common misconception is that software is unique in terms of quality. For example, if you buy a table and the leg breaks once you bring it home, then that’s not something you were expecting so it’s obviously out of line. This applies to every traditional conception of acceptable quality because it’s easy to identify and label. But in the software world, it’s not something you can touch -- you’re writing code that will manifest itself further along in the process, so there can be a relaxed expectation because you can iterate and revisit code to fix it at regular intervals. It can be easy to get into the cycle of fixing mistakes reactively by releasing patches, but then it can be argued that you’re using paying users as beta testers.
As an industry, we need to deliver extraordinary products that work reliably and add value. Of all the companies I have worked with, the ImageX team champions this fact the best. We make a genuine effort to work towards the same goal, from the top of leadership on down, and find a balance between a project’s timeline, budget, and quality to consistently deliver that “wow” factor for our clients.
ImageX: If you were building a QA process at a new agency, what are the first things you would do?
First, look at where the company is at, set a baseline, and create a plan for where they want to go. Establish a delta. And as a consequence, you will gain insight on how other stakeholders may perceive quality so you can define a focus on a great and uncompromised user experience.
You also need basic tools. It can be easy to fall into a trap of too many diversified tools (automation, version control, choosing resources, etc.). This wasn’t a challenge ten years ago, but it is now because of how many new tools are available so the challenge is in choosing the right ones for your team and process. You need to be more aware of specifics and what you’re trying to achieve.
ImageX: To what extent should developers do their own testing or do you believe that testing is the responsibility of the QA team?
It’s a shared responsibility. The major role of the QA team is to maintain focus and push for quality. It can be easy to lose track because of deadlines and budgets, which is understandable in our industry because of commitments to features. However, the responsibility of the QA team is to challenge the entire team to maintain their focus on those priorities that will lead to a happy client.
Great quality starts with a great idea, how it’s documented, how it’s broken down and road mapped, and how it’s executed. The earlier you detect potential quality issues, the more economical it is to fix them.
ImageX: How do you think testing should best be integrated/implemented in the development process?
Testing should be spread out as much as possible so that the process can start early. Having an early understanding of how the testing might look gives teams the opportunity to plan, and knowing acceptance criteria helps sets clear goals for the developers. There will always be a big regression before deployment, but effective QA covers the whole project and it’s incumbent on the entire team to share that responsibility.
How can ImageX give you that “wow” factor? Get in touch and lets start the conversation.