London, UK. December 18th, 2019- Developers are under pressure to produce quality software, and to do it quickly. But new research from Diffblue conducted by Vanson Bourne suggests that developers can’t reconcile these conflicting expectations with manual effort alone.
When asked which factors contribute to poor software quality, 40% of developers attributed it to manual processes, and 40% cited unrealistic schedules. Without addressing these issues, improvement in code quality is unlikely — so for company expectations to remain high, organisations will need to start providing better support for their development teams.
Developers want to improve code quality, but don’t have time to do it manually
Organisations often set “code coverage” targets for developers to achieve, which requires writing unit tests to ensure software quality. The study revealed that the average code coverage target for organisations is 63%.
Most developers agree that unit tests improve software quality (90%) and speed up code maintenance (95%), but to meet their coverage goals, developers spend 35% of their time writing tests, and 20% of their time just writing unit tests. Even so, almost half (48%) of developers agreed that they sometimes find it difficult to achieve the unit testing coverage set by their organisations.
In addition to code coverage targets, developers are also under pressure to deliver new production code, which takes 29% of their time. According to the study, 42% of developers agree that they have skipped writing unit tests in order to speed up new feature development.
Developers want to introduce more automation
The research also found that introducing the right tools, especially tools that automate repetitive manual tasks, is important to developer job satisfaction — and 73% of developers in the UK report they could be more satisfied in their jobs.
For most, their organisation’s willingness to adopt new technology, like artificial intelligence (AI), is important to job satisfaction (84% agree), as is having realistic targets (87%). Both of these can be addressed by providing access to the right tools.
Of the developers surveyed in the US and UK, 82% agreed that they would rather spend their time on creative tasks, such as developing new product features, than on repetitive tasks. When it comes to writing the unit tests necessary to meet internal coverage targets, 66% agree that unit test setup is mundane and 39% of developers wish they didn’t have to write unit tests at all.
When asked which tasks developers would most like to see automated, findings bugs (selected by 73%) and software testing including writing unit tests (selected by 70%) were the top two responses.
Of the findings, Diffblue’s CEO Mathew Lodge says: “Asking development teams to deliver world-class software without providing the right support is asking for them to fail and become disengaged. Creating quality code shouldn’t depend on developers writing hundreds or thousands of unintuitive, uninteresting tests. When robotic tasks can be assigned to machines, they should be — not only to retain a more satisfied and effective workforce in a time when top talent can be hard to find, but also to improve the quality of the code they create.”
“Unit tests are part of a virtuous circle. Once your organisation has a critical mass of them, everything else from code maintenance to bug fixing (and even the creation of new unit tests as needed) is easier. But getting enough tests in the first place is a hurdle most organisations can’t overcome manually. Hopefully, tech managers will see the challenges their developers might be facing and invest in the supporting tools their teams need.”
About the study
Responses for this study were collected from 300 participants (200 in the US and 100 in the UK) in an online survey. All respondents work in software development, application development and DevOps in sub-executive-level roles at companies with at least 500 employees, across various sectors.