Even the best software developers are not immune to having bugs in their code. Therefore, software testing is a critical aspect of the software development life cycle.
Testing Comes with the Territory
Before a...
I recently conducted a seminar at Technology First’s Taste of IT conference. During my presentation, "Exterminate Your Bugs to Lower Software Costs: Top 5 things you can do right now!", there were some surprising results that we collected from the audience. Let's go over the top 5 ways to exterminate your bugs as well as our findings. (Download a copy of the presentation)
#5- Focus Where the Risk Is: Only 25% of the audience utilizes a risk-based software testing approach. Remember, it is very difficult and expensive to thoroughly test 100% of the system. To reduce these costs, we recommend a risk-based approach. To identify the highest risks, you need to focus on where your business requirements and technical risk (via McCabe code complexity) intersect, and then test the heck out of it.
#4- Reduce Churn: Now this is surprising! Based on
industry best practices, more of the audience should be promoting their code through multiple software testing environments (i.e., software development testing to system testing to user acceptance testing (UAT)). As you can see from this chart, only 13% of the audience uses a dedicated UAT environment. We expected this to be almost 100%! For other techniques to reduce "churn," you may want to review the charts (by clicking on the bug above.)
#3- Establish Metrics and Set Goals: While 63%
of the audience has some sort of metrics program and is tracking software quality, only 25% of the audience tracks test team productivity. If you start to track productivity, you can then set goals (and incentives) for your team. You'll be amazed at their productivity improvement, but remember to keep it simple!
#2- Find Bugs Earlier: According to our research, 45% of defects are injected before you even write the first line of code.
We described the activities that you can do early in the software development lifecycle (SDLC) to identify and remove these defects. Although a majority of the audience (63%) is doing peer reviews and requirement inspections, let's not forget arch/design inspection and code inspection. A surprising finding is that none of the audience was using code analysis tools. Tools such as McCabe complexity analysis can quickly identify high risk code. There needs to be a lot more inspection activity in order to find those 45% of defects!
#1- Improve Staff - Use Professional Software Testers: It's the age old secret to lowering your software development cost. Competent and motivated staff trumps any kind of software quality assurance process or tool you can apply. Especially when you get into System Testing and UAT, you really need dedicated software testers, yet only 38%of the audience has one whether it is internal or an outsourced software testing team. Remember, people are the #1 driver of productivity, so get the right people in place!
Now you may have a different top 5, but I’m sticking to mine! But seriously, if you have a different set of top 5's, I’d like to hear from you.
Keep Having Fun!
Jeff Van Fleet
Post new comment