It seems like every year will be -- or at least should be -- the year of software engineering quality, but somehow 2018 feels different. Pride in workmanship is what drives developers to create better software, and that can't be standardized.
A 2017 survey conducted by research firm Coleman Parkes for the software analysis and measurement company Cast asked developers what factors led them to produce high-quality software. Respondents didn't cite industry standards much (just 8%) and instead said they were inspired by pride in workmanship (20% of those surveyed).That's great, as far as it goes, but Bill Curtis, chief scientist at Cast, said much bigger forces will also put software engineering quality under the microscope. Security breaches and app failures mean quality is now a boardroom-level issue, he said, and that will mean sweeping changes in software development trends. In 2017, just one-third of developers were actually graded on software engineering quality, the Cast survey showed. That will change. "IT organizations will demand greater accountability from their software suppliers and will request a certification of code quality, with penalties when it is insufficient, in 2018," Curtis said.
Software engineering quality has been completely insufficient for far too long, according to app users, said Theresa Lanowitz, head analyst at Voke Research. Consumers are tired of apps that don't work, and she tied that directly to the trend in software development to focus on speed rather than quality. "Nonfunctional requirements, such as performance and security, have been overlooked because of the 'just ship it' mindset," she explained. "This trend has created a tremendous amount of customer weariness, and the cost of software has skyrocketed out of control."
One way to boost software engineering quality is penalizing developers. However, making them own more of the process is another option. "To address quality and operational readiness, development teams will adopt a 'you build it, you run it' model," said Isa Vilacides, quality engineering manager at CloudBees. "Enterprise managers should therefore encourage developers to be responsible for building, testing and running their services in production. Ideally, if you are responsible for running something in production, you will build it in a more robust and resilient way."