Emerging trends in software development
What are the emerging trends in software development?
Make software engineering quality job one
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 bestandardized.
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.”
Test automation process poses a challenge in 2018
If there is one thing guaranteed to make a seasoned dev team leader weep, it’s the test automation process.
Software developers would love to rename test automation to the bottleneck and send this trend to stand in the corner indefinitely. The ongoing problems with the test automation process are almost too many to list, but here’s a start:
- lots of general test automation tools for a task that’s highly specific;
- insufficient test scripting prowess;
- lack of ownership; and
- unrealistic management expectations.
Throw in challenges with integration among tools and the need for speed in Agile/DevOps shops, and it’s hardly surprising that a 2017 report from Capgemini and Sogeti, in conjunction with Micro Focus, shows the barriers to test automation actually grew worse than in 2016. And it doesn’t look like things will change much in 2018.
A handful of promising developments in the test automation process include a new crop of scriptless testing tools and increasingly widespread use of low-code development platforms, which can provide a version of automated testing. There’s no question that, despite the challenges of the test automation process, companies continue to make it work.
Consider dampening the hype around this trend in software development for better luck in 2018, said Seretta Gamba, test manager at Steria Mummert ISS GmbH. “The main problem is that people still start test automation with the wrong expectations, especially that anyone can do it and all you need is a tool,” she said.
That attitude leaves those in charge of test automation relatively isolated and without resources. This year, Gamba is hopeful that, as testers choose to use APIs more often and to focus on both unit tests and system test automation, things will get a bit easier, and communication about the process will improve.
CI/CD drives continuous testing into production
In 2018, continuous integration/continuous delivery will finally become standard, in large part because companies have no choice.
Just 6% of companies have 90% to 100% of the CI/CD pipeline automated, data from a 2017 Enterprise Management Associates survey indicated, yet pressure from management and customers for faster delivery of higher quality software is mounting. The answer is continuous testing, because, without that, none of the rest works.
“While testing was once considered a barrier that jammed up the DevOps pipeline, more and more organizations must invest in continuous testing to assure continuous quality throughout the entire software development lifecycle,” said Eran Kinsbruner, global technical evangelist at Perfecto. Tune in, DevOps adopters.
“Continuous testing will allow developers to guarantee that their applications are working to the best of their abilities, despite these frequent changes, and with the help of groundbreaking, advanced technical enablers, like open source frameworks, machine learning/AI and the cloud, they’ll be able to quickly tackle bugs, course-correcting in real time to deliver at a much faster pace,” Kinsbruner said.
Microservices have a role to play in the move to continuous testing as well. “To work best in DevOps, applications need to split into components that can be built and tested independently from each other,” explained Hans Buwalda, CTO at LogiGear. “In particular, architectures with microservices running in containers are gaining ground. Testing at the level of single components tends to be fairly straightforward and not hard to fit into the pipeline.”
When continuous testing becomes mainstream, expect some fundamental shifts in how companies think about the differences between development and deployment. “Software will be in production earlier, but only for a small fraction or a special subset of traffic,” said Ben Sigelman, co-founder, and CEO of LightStep. “This transition means that the ‘dev’ or ‘staging’ environment is being phased out; production is the only game in town.”
Take full advantage of cloud-based testing
Is there ever enough cloud? Cloud-based testing is one of the major trends in software development in 2018.
Cloud use is ubiquitous, but a RightScale report on cloud initiatives indicated there’s more that can be done to take advantage of all the function and flexibility available. More than 50% of those surveyed for the State of the Cloud Report in 2017 want to get more for their cloud dollars, and almost the same percentage want to put additional development efforts on the cloud. A large portion, 38%, want to move CI/CD into the cloud, and the same number want to expand the use of containers.
In other words, 2018 is a year when cloud-based testing should really take hold. But don’t necessarily expect to cloud brand loyalty. Companies want, and need, to shift loads between cloud services, said Rob Strechay, senior vice president of product at Zerto. “More organizations in 2018 will adopt solutions that allow for easy and affordable cloud-based testing,” he said. The result? “A customized, multi-cloud approach that optimizes performance in ways not possible before the cloud boom.”
It will take some experimentation with cloud providers and tools to lock in the right options for cloud-based testing. Traditional tools are no longer cutting it because the requirements are simply too complex, said Tomer Levy, CEO of Logz.io. He expects integration of CI/CD tools with production monitoring and troubleshooting tools, a combination that will yield agility and quality, he said, as long as enterprises have done the hard work of putting the right processes and tools in place.
“Enterprise managers must build relationships and create a strategy to replace the legacy testing approach in place,” offered Jeff Burk, vice president of research and development at Dell Boomi. In the year of cloud-based testing, companies that aren’t ready for it will fall behind. Contact Musato Technologies to learn more about our ICT services.