Software developers say they feel pressure to sacrifice code quality to meet deadlines

Unrealistic deadlines and manual test processes cited as factors that lead to poor software quality, says a new report from software vendor Diffblue.

The mindset of software developers is changing, and employers need to take note Princeton Professor Ed Felten believes software developers today are looking to make a positive change in the world, and employers need to understand their needs.

Application developers face myriad challenges in creating software. Their programs are expected to be clean and tight, relatively free of bugs, and out the door in time to hit exacting deadlines.

But those different expectations often bump into each other, resulting in software that's rushed out before it's ready, turning users into beta testers for buggy programs. Released on Wednesday, a report from Diffblue shines a light on some of the obstacles that confront application developers.

SEE: How to become a developer: A cheat sheet (TechRepublic)

Asked which factors contribute to poor software quality, 40% of the 300 developers surveyed in the US and UK cited unrealistic schedules and 40% laid the blame on manual testing processes.

Organizations often set test code coverage targets for developers, which requires them to create unit tests to ensure the quality of their software. The average code coverage target is 63%, according to the survey. But 48% of the respondents admitted that they sometimes find it hard achieving even that level of coverage.

Most of the developers surveyed agreed that unit tests improve software quality and speed up code maintenance. But to meet their coverage goals, they must spend 35% of their time writing tests and 20% of it just writing unit tests, time that could be better spent on other coding tasks.

Beyond meeting their test code coverage targets, developers also said they feel pressure to deliver new production code, which eats up 29% of their time. 

To hit all these expectations, 42% of the developers acknowledged that they have skipped writing unit tests to focus their time and efforts on developing new features. Further, two-thirds of the developers said that unit test setup is mundane, while more than one-third said they wish they didn't have to write unit tests at all.

A full 82% of the respondents said they'd rather spent time on more creative endeavors such as developing new product features. Asked which tasks they'd like to see automated, 73% cited bug tracking and 70% pointed to writing unit tests.

"Asking development teams to deliver world-class software without providing the right support is asking for them to fail and become disengaged," Diffblue CEO Mathew Lodge said in a press release.

"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," Lodge said.

Sponsored by Diffblue and conducted by Vanson Bourne, the online survey elicited responses from 300 people (200 in the US and 100 in the UK). All respondents work in software development, application development, and DevOps in sub-executive-level roles at a range of companies with at least 500 employees.

Also see

Pensive programmer working on on desktop pc programming code technologies or website design at office Software Development Company

Getty Images/iStockphoto