Developers aren’t launching new code quickly enough – and blame burdensome testing and quality assurance processes for holding them back.
A survey of 950 developers by software company Rollbar found that 84% of teams were prevented from deploying new code into production more frequently.
SEE: Linux commands for user management (TechRepublic Premium)
The top reason cited by developers for these delays was testing and quality assurance. More than a third (36%) of respondents said the difficulty in finding and fixing errors in production slowed them down. A quarter (25%) of developers said that they only deployed code every month or two, while nearly as many (22%) said they launched new code every two weeks. Six percent only deploy new code two times per year, Rollbar found.
In all, developers are spending up to 40% of their time in testing and quality assurance alone, the survey revealed – time that could instead be used iterating on their code and launching new features.
“Developers want to have an idea, write it in code, and have the user experience that idea,” said Cory Virok, CTO and co-founder at Rollbar. “Yet software is never perfect, and the pursuit of perfection acts as a barrier to iteration and innovation.”
Previous research by Rollbar has highlighted the tedium faced by developers in trying to snare bugs before their software hits the production line. A survey from the company in February found that 88% of developers feel traditional error-monitoring tools fall short, and that catching bugs and errors took up too much of their time.
Yet technical processes aren’t solely to blame. Close to a third (30%) of survey respondents said their team was too small to make more frequent deployments possible.
Budget limitations were to blame for 16% of respondents, while 15% reported that their organization relied on “traditional methodologies” that “didn’t sync with their development plans”, and/or inaccurate project management (13%).
A tenth of the Rollbar survey group said that lack of leadership was holding them back from innovating more quickly, and nearly as many (9%) said their ambitions were being scuppered by an absence of a long-term vision within their organization.
Holger Mueller, vice president and principal analyst at Constellation Research, said trying to perfect code often came at the expense of innovation – a massive disadvantage in the highly competitive world of software development.
SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic)
“Organizations that rely on software – which is to say every organization – must introduce and iterate on code quickly to be competitive,” said Mueller.
“That’s not easy. Developers often get stuck in the weeds trying to perfect code. But new tools now enable developers to do more releases more often.”
Rollbar’s survey found that the majority of programmers pined for a faster way to eliminate bugs in code. Two-fifths (40%) of respondents said they wanted better tools to detect and fix code errors. Close to a third said that better project management (38%), a larger team (36%) or a bigger budget (30%) would add confidence and allow them to launch new features more quickly.
Of the 86% of developers who said that new capabilities would help them iterate faster:
- 47% said that seeing where each error originates would expedite those efforts
- 34% said that real-time capabilities would allow for quicker code improvements
- 33% said that access to rich contextual information on each error would be beneficial
- 33% said that new capabilities that aid in quality assurance would enable faster iteration
- 22% said that open API access would allow them to move the needle on iteration
Brian Rue, CEO and co-founder of Rollbar, said: “It’s no surprise that organizations want high-quality software that provides users with the best possible experience. But software is made of code, and error-free code is a fallacy.
“Leading organizations are adjusting their toolsets, mindsets and behaviors to address this reality. Instead of trying to perfect software, they are adopting better tools and processes to proactively discover errors as they happen and resolve them immediately.”