Can Developers And Testers Be Fused Into A Single Jaw-Dropping Unit Of Ultimate Quality?
You’d be surprised how much a person’s productivity rises if there’s a constantly mumbling dude sitting near with a single purpose of pointing out everything you do wrong. Irritating? Maybe… Result-oriented? Most definitely!
We’ve had some experiments with pair programming at deviqa.com
. Some of our best developers were paired with awesome QA engineers and tasked with multiple assignments as part of Agile Sprints. The level of delivered quality has risen dramatically. Shore there was still a fair share of bugs in the code but just look at these stats:
- The overall number of defects has decreased by 63.0%
- The number of critical defects has decreased by 89.1%
- The number of showstoppers has decreased by 99.4%
This is amazing given we have literally mixed cats and dogs into a single team.
How can this work?
This one’s easy. Developers love to talk about their work. Most of them are extremely passionate and somewhat arrogant meaning a simple chat about a new, awesome feature they’ve implemented is their bread and butter.
Developers actually enjoy explaining what they do and how they are doing the thing they do. And testers? Testers are critical as well as skeptical. Our QA engineers have seen and broken software of all shapes and sizes. Getting under the hood mid process is like sweet candy for a baby to them.
Let’s say Andrew, our senior backend engineer is working a new way to improve server to app interactions while ensuring all messages are properly encrypted. He explains what he is doing, how and why and Max, our QA lead asks additional questions and leads Andrew to better decisions as Max knows the initial way will have flows in at least three entry points.
This way software bugs and critical defects are prevented way before they are made and integrated into code.
What are the core benefits of this approach?
- Fewer bugs make it into the code meaning there’s less to fix in the long run.
- Software defects are removed with less effort and re-work.
- There is no need to re-check all of the code after fixes are made hence solutions was tailored well before the entire piece was put together.
- Developers and testers have a lot of fun together and start sharing bonds.
- There is no blame-game in the long run.
- Products are delivered on time and within budget.
- The list can go on and on into eternity.