“Always Be Prepared”
It’s the motto of every Scout Movement across the world over. Yet, it seems that it should also be the motto of development teams and their fearless leaders as well.
Sadly, it’s not.
After speaking to (literally) hundreds of R&D and testing teams, it’s clear that everyone in our field wants to move forward, to increase the speed and efficiency of development in order to compete with industry leaders. It’s understood that if you fall behind this curve, your business will suffer.
Everyone wants to work towards a more agile development process, in every sense.
The goal is to be prepared for any and every eventuality as you deploy your code.
However, daily scrum meetings become focused on tasks that relate to moving faster and are less about preventative measures. Untested code, more regularly than not, reaches production leading to havoc and the opening of the R&D version of Pandora’s Box.
So how do teams avoid the chaos? (Or at least being sucked into the drama that surrounds it?)
Invest in your team’s quality intelligence tools.
“A Quality Intelligence Platform? Huh?! What’s that?”
When “elaborate” terminology is used, it tends to throw people off. So here’s what I mean by “quality intelligence” in one sentence:
Quality Intelligence is the ability to know how and where to prioritize testing in such a way that code quality is guaranteed (and maintained!) as the speed of software delivery increases.
Investing in such a tool is not a luxury, it’s a necessity. If your team is not able to release with confidence and know that their code is on par, why bother increasing the speed of development in the first place?
If you are trying to teach a child to ride a bike, then you need to let them fall a few times so that they learn to ride. Each time they fall, they are less likely to make the same mistakes- that’s true.
However, what if you taught them to ride correctly the first time around and provided them with tips to keep their balance as they rode, then sure, they may still fall or make mistakes.
Yet, their “fall rate” would surely go down. Right?
Still confused? Let’s break it down by what a Quality Intelligence Platform isn’t and why it matters…
It’s not another automation platform. I deal with a lot of teams that say “If it isn’t automated, then it isn’t agile.” Um, sorry. If it isn’t being tested properly, meaning if it isn’t covering what you need it to cover, then it’s just an automated mess, and not agile at all. Testing automation platforms are great for setting up your automation initially and dealing with repetitive tasks, but honestly, if your tests are not covering what you need them to, then what’s the point?
It’s not another testing platform. Other folks I talk to say they have a code testing framework in place. That’s great, except it doesn’t tell you where to prioritize your tests. If you shot 1,000 bullets from different directions, how would you know if they hit their targets? Testing frameworks give you an idea of how to test and provide a foundation for testing in general, with a focus on test syntax. However, while they may make testing a less cumbersome process, they do not tell you where to test or how to prioritize your testing.
It’s not a code coverage tool. “We’ve got it covered.” Ok, let’s be serious here. You don’t know what you have covered. You may think you have full test coverage, but do you have full code coverage? Yeah, I didn’t think so. ;) Because no one really does to be honest with you. I think we can just leave this here. There’s nothing out there that provides full code coverage beyond unit test level.
So what IS a Quality Intelligence Platform?
Quality Intelligence is being able to know, with confidence, that each build you have is better than the last. It is the ability to know where to test, how to test, and how to prioritize your testing. It’s the ability to know that you are not developing and maintaining too many unnecessary tests. Why invest so much money and so many resources (human capital, anyone?) on something that you’re not even sure that you need?
If you are really planning to “be prepared” like the Scouts, you need to be proactive, not reactive, when it comes to development. Don’t wait to be woken up at night when untested code reaches production. Don’t wait until you are behind schedule because your development team is focused on bug fixes rather than developing new code and new features that your organization needs to stay competitive.
Quality Intelligence means knowing exactly where to test, what is covered, and how it’s covered.
Want to see exactly how we do this? Fill out the form below to request a live demonstration.