Setting Yourself Up For Success: Development Strategies from a Quality Assurance Analyst
Posted by Walid Abou-Halloun Date: Apr 21, 2018 7:00:47 AM
The best developers know success isn’t achieved at the end of a project. It’s planned from the beginning.
Quality costs are on the rise, making up over 35% of project spending. But how much of this cost is the wasteful, last-minute flurry to fix core issues?
Every quality assurance analyst wants to pull their hair out at the avoidable mistakes developers make. That’s not to say QAs are perfect, but by the time they’re brought on board, it might be too late to rectify missteps that are preventable in the first place.
How can you avoid making the same old mistakes in the production process? Here’s a QA perspective on how you can set yourself up for success.
The A Stands for “Alpha”
It’s quite obvious for a quality assurance analyst, but QA is more than just the packaging you slap on at the end.
QA is fundamental to every project. It’s not an optional extra at any point in the process.
That’s why knowing when to deploy QA is a key strategic skill for successful developers.
Involve your QA team even in your early briefings. They should be the alpha, not the omega, of your process. An experienced quality assurance analyst can tell you when items in the client’s specifications seem contradictory or problematic.
Developers often focus on the technical possibility of an idea and can lose sight of the greater quality challenges it implies. At their most brutal, QA will puncture your dreams and deflate you down to reality—which is not a bad thing. Deploying QA in this way helps you deliver a quality product instead of one that overreaches and underwhelms.
To put it in a user-focused way: customers don’t care about testing, they care about quality. While you can test at the end, quality is a holistic trait you need to consider from the beginning.
Scope it Out
Here’s a question for you: what’s the biggest menace to your development strategy?
Assuming budget and time restraints are locked in, a quality assurance analyst will give you one answer: feature creep.
Feature creep is the slow march of additional features during development. It’s the result of an over-ambitious project lead or a contractor way too eager to please the client.
But clients won’t be pleased when they fail to receive anything except the promise of a better product down the line.
A quality assurance analyst knows how hard feature creep hits a development process.
For every new feature, there’s not only additional development time but additional QA time. And the more features, the less likely they will fit together in a coherent way, especially when added late in development.
This is where a clear scope comes in. At the opening stages of the project, create a scope for development, including all the final features of the project. Nothing gets added to the scope in the middle of the process.
The scope should also include the budget and deadline details so you can set them in advance. Sharing that information with your QA team will ensure you have space for quality testing throughout the project.
Get on the Same Page
What use is having QA if they won’t speak to your developers? Establishing strong lines of communication is a vital part of effective development.
We can break this down into two broad categories:
1. Team Communication
If QA and the development team talk among themselves but not to each other, then you waste a lot of work.
There are some situations where teams feel like they’ve communicated an issue because they have talked about it internally.
But instead of a productive discussion, they simply bounce words around an echo-chamber. It’s the development version of complaining about management without doing anything about it.
Get your teams talking early and often. Provide strong communication channels.
Even better, break down their barriers. ‘Soft’ communication aids like ice-breakers can turn your two teams into a single cohesive body.
Encourage frequent meetings to ensure everyone is singing from the same sheet. It’s amazing how fast two teams can lose sight of the target they agreed on just yesterday.
2. Robust Reporting
Off-hand comments don’t make for good reporting.
QA and developers need to establish a solid reporting method for bugs if they want to succeed. It needs to be formalised and trackable.
Developers need robust information about a bug if they’re going to fix it, like how it occurred, whether it’s been replicated or not, its impact, and so on. Meanwhile, QA needs to know how to write up a bug report in a way that conveys this data.
Establishing strong reporting lines won’t just make bug reports more clear, they’ll also make it easier to track bugs through the entire lifespan, which is vital to stamping them out thoroughly.
Strong bug reporting also greases the wheels of communication. Implement tracking IDs so each bug has its own identity. It works a lot better than QA having to describe a problem in detail each time they pick up the phone.
Don’t Skimp
QA has deadlines, too. That means you need to work out which features you can cut. Too often, QA gets grouped in with the features to be cut.
It may seem biased coming from a quality assurance analyst, but QA isn’t a feature—it’s a necessity.
You admit defeat when you cut QA out of the process. Whether it’s deadline restrictions or budgetary constraints, by dropping QA, you’re guaranteed to release a project riddled with mistakes. At worst, it might not work at all.
Quality Assurance is never optional. It’s a vital part of the development process.
Thinking you can skimp on QA is like thinking a car can work without the engine.
If it looks like you won’t hit your targets, speak to your QA team. Get their advice on what they can do, when they can do it, and how. It’s that or release a project that will lose client goodwill, assuming it doesn’t lose the client outright.
Prioritise fixes
The fight against bugs isn’t winnable. They pop up in the places you least expect. It’s the QA’s purpose to hunt down bugs so the development team can get rid of them.
That means we find pages of them. Sometimes it’ll feel endless: for every QA test, a new litany of bugs. As fast as some are fixed, others emerge.
Trying to take them down en masse doesn’t work. Luckily, you don’t need to. Better to squish a mosquito than a few flies.
A quality assurance analyst will tell you users see your project differently than you do. Clients care about how they interact with the software. Bugs affecting load times and automation will cause more dismay than a window which opens off-center.
The best bugs to fix are those which directly impact the user experience. Developers often like to tackle either the most complex or the simplest bugs, but if it doesn’t directly impact the user, it might not deserve so much time to fix it.
Let a quality assurance analyst do the client’s thinking for them. They have a better idea than developers about what will impact usability the most.
Share Accountability, Not Blame
Any adult who’s ever held a job knows this scenario. If there are two teams, the other one is always to blame.
But blame is a useless waste of energy and a way of trying to dodge what’s already happened. Forget blame.
Accountability is different. It’s professional and constructive. Accountability is how you own and solve problems.
The trick to transforming blame to accountability is flipping words into actions. It’s not “Who did this?” but “How can we resolve this?”
Note the “we” because here’s the thing: everyone involved is accountable. From the customer’s view, this development project belongs to a single team.
Build this productive atmosphere in your project from the beginning. Encourage a mindset that will let you focus on solutions, not problems. Two teams butting heads won’t achieve anything, but working together can solve many problems.
Quality Assurance Analyst = Success
It all boils down to this: it’s a mistake to think of QA as separate from the development process.
Including QA end-to-end on a project is how you avoid the most obvious pitfalls that a quality assurance analyst encounters every day.
QA is your friend, not the team to be blamed when the client encounters an issue.
Want more project hints and tips? Be sure to follow our blog.