Writing quality code is a priority for developers, and many are using testing approaches to ensure their programs meet expectations, according to Forrester Research’s recent Developer Landscape 2013 study. However, the changing demands on development cycles created by agile methodologies are also forcing testing practices to evolve. A separate Forrester Research study on agile testing tools proposed the use of more automated testing processes to eliminate encroaching technical debt. Using static analysis software and other automated methods can help developers build better programs while also adhering to faster development timelines.
What are developers doing now?
The Forrester Developer Landscape 2013 study found that quality is the top measure of success on development projects, and 28 percent of developers are using a test-driven approach, Forrester’s Jeffrey Hammond noted in a blog post. At the same time, developers are facing time constraints that make it difficult to meet quality standards. On average, they spend more time in meetings or on email than they do writing code. Additionally, many programmers at large companies report that they do not use any type of formal methodology to dictate their actions.
As development teams increasingly shift toward agile methodologies, another major strain on ensuring software quality is that the demands for testing are changing, Forrester’s Diego Lo Giudice wrote in a separate blog post. Extensive manual testing is slowing down delivery, particularly on teams where testers and developers are separate. The fastest teams are incorporating testing and development into a single function rather than writing software and then passing it off to a new team for testing. The slow results of such approaches make developers wait on quality assurance, and many teams are building up technical debt as a result.
“One sure-fire killer of on-time delivery is finding out late in the development cycle that your application has major quality problems late in the development cycle,” Lo Giudice wrote. “Late discovery of defects leads to high rates of rework and waste.”
To move faster and adjust to the realities of an agile approach, developers need to embrace automated tools for testing and source code analysis, Lo Giudice noted. Many are already doing so: More than half of developers use unit testing tools, with 14 percent doing so on a daily basis. Similarly, 9 percent of developers use static analysis software every day, and 44 percent do so at least occasionally.
How can developers improve?
Lo Giudice explained that testing and development are becoming increasingly integrated as automated tools gain traction in businesses. Developers appear to be handling the change well, as do QA managers. Ultimately, the result of more integration between these two parts of the development process is likely to be fewer problems, along with faster release cycles. Fewer manual processes means reduced likelihood of error, and the key to automation is better testing technology.
“Testing is the crucial spot in the world of ‘continuous’ and of more ‘automation,'” Lo Giudice wrote. “If you’ve promised shorter cycles and faster speed to your business, it cannot come only from some Agile PM introduction alone, you need to make your testing more agile, automate the downstream delivery and deployment, and make sure tools integrate and facilitate the ‘continuity.'”
A change in testing strategies may prompt many organizations to consider new tools, and demand for automated tools that plug directly into developers’ environments is likely to grow, Lo Giudice wrote. As teams look to juggle the demands of ensuring quality and speed, approaches such as static analysis can be valuable by offering quick checks to developers as needed. Such technology may be an adoption priority in the months and years to come.
Software news brought to you by Klocwork Inc., dedicated to helping software developers create better code with every keystroke.