Key #5 - Testing is Critical
Through interviews with dozens of technology executives, Brainspire conducted a research study to find cultural and technical processes and practices that produce the highest return on investment for software development. Below is the fifth of seven recommendations to enable more effective and higher quality software development:
Top development organizations look for ways to find bugs early by involving QA at the very beginning of projects and investing in automated / regression testing. The pay-off can be huge. Culturally, testers and developers must have a symbiotic relationship and a healthy respect for each other.
Almost every organization that participated in the recent research study admitted that testing and quality assurance could be improved. However, organizations that had invested in testing felt that it was an area of strength and even a differentiator. Investments in automated / regression testing may be hard to fund initially, but if you’re involved in enterprise level applications and iterative releases, the time and money savings will pay for itself very quickly.
One of the best practices uncovered during the research study involved an organization that had regular “test-a-thons”. Many entrepreneurial companies have gone down the “hack-a-thon” route to produce base code. However, the “test-a-thon” concept uncovers critical errors and minor bugs in addition to usability suggestions while having a little fun along the way. It also puts visible emphasis on the importance of quality assurance. Virtually everyone in the company participates. To no surprise, developers pay a lot more attention to the quality of their code when they know the entire company will be reviewing it. If you have developers that are “too valuable” to get involved in testing, than you may have bigger cultural challenges on your hands.
Review your test procedures and tools. How early are testers really involved in feature development? What automated testing is being done? If your organization is still throwing code over the wall to be tested, then throwing it back to be fixed, it’s time for an overhaul of your methodology, processes and QA practices.