The dev-astating truth: What's left to develop? Send in the machines
Can your post-agile job be done by AI in the future?
Historian Francis Fukuyama in 1992 reckoned with the fall of the Iron Curtain and the replacement of Communist systems behind it with liberal democracies, we had reached the end of history.
Can we say the same about software development? Has the arrival of the age of Agile meant that we can now talk about a similar full-stop? Is this the final word in software development? And if it's not, what's going to come after it?
Perhaps the starting point should be whether Agile has truly penetrated deep into workplaces. Can we really talk about Agile as the dominant force within organisations? According to some observers, there's still some way to go.
Diego Lo Giudice, vice president and principal analyst with Forrester Research, is one of those who thinks that companies haven't really adopted Agile as they should have done. "I would say that we're going to see more Agile because we haven't done it well enough yet," he told The Reg. "Organisations say they're doing it, but they're struggling to scale it."
There's even a question as to whether Agile is framework in its own right and, as such, what comes next is the wrong question.
Michael Adam, chief executive of Digital Animal, believes the question of what comes next is an invalid one and that the current status of Agile as a dominant software framework is misguided. "It's a category error," he says. "Agile has always been about software built by small teams and that's true of everything that's great in computing."
His position is that most of the great software in the past has been delivered by small teams – or even by one person – and that what matters so much is not the methodology employed but the quality of the team.
"It really matters how good your developers are and the best developers are so, so much better than average."
But while Adam's vision for Agile revolves around better developers, Lo Giudice's goes in a different direction: his vision for a post-Agile future sees different parts of organisations embrace Agile as a way of doing business.
"The way that I see it, Agile will become something that's not just for developers but for the wider businesses." He says this change will provide a boost for those companies who put customers at the heart of the business – above stakeholders.
"We have companies who say they put customers first but when you read numbers at the end of the quarter – they place too much value on stakeholder value, not customer value."
Ritu Mahandru, a vice president of solution sales at CA, agrees that the next stage for Agile is for its use to grow inside the organisations where it's started. She sees the future as being more about a manufacturing process: Agile is merely the first part of this.
"Continuous delivery is the next step," she said. "You start with Agile, you then add more collaboration. It's like looking at a factory line: how to get widgets done."
All those algorithms taking input information from thousands of drivers using Google Maps. It's a change that ... is creeping up on us
What's missing, however, is the ability to connect software developers with what needs to be developed. That's where continuous improvement comes in. "There does need to be a change in the process," she says. "We need to change the culture of people. We have to collaborate more, just knowing what other teams are doing leads to agility."
But while it seems like Agile is going to dominate the scene for some while yet – both within software departments and within the wider business – there are tentative signs of something new.
One development that we're already seeing is the rise of DevOps. Some see Agile as integral to DevOps; others the next phase. According to Lo Giudice, DevOps is next because DevOps is already happening. The future is already here. "I find that a lot of organisations who aren't using DevOps were hitting the wall with operations," he said. This opens the door on further automation.
But the question of how software is built could, in part, be resolved if you ask what it is that will be built.
The present and recent past have been pre-occupied with data – big and otherwise. Of late, the attention has also shifted to artificial intelligence (AI). For all the talk of data-centric companies transforming the future of industry, there's still a long way to go. "People will need to turn data into insights," Lo Giudice says.
He believes there will need to be massive improvements across the board before users start getting real insight. To get there, organisations will have to improve the way they source data.
Also, according to Adam, the gathering of data will mean big changes on organizational structures. He points to how driving has been altered by the rise of crowd-sourced traffic information, or the locations of police speed cameras that are fed back into services like Google Maps and satnav systems. "All those algorithms taking input information from thousands of drivers using Google Maps. It's a change that ... is creeping up on us," he says.
But as well as making better use of data, AI – should it ever take off or become something meaningful – will have an effect on the software development lifecycle, too. Already, some are writing how AI could change the way software is built – taking people out of the equation. This is pretty far fetched for now but, according to Lo Giudice, testing will be one of the first areas where this will play a part.
"The combined use of Agile and DevOps is going to speed things up, you then look at how you can add AI to that," he reckoned.
So, what comes next?
The answer would seem to be a lot more Agile, as more developers get to grips with it and more businesses work out what this means for their corporate structures and their employees.
The uncertainty is how much of the Agile process could, one day, eventually, be turned over to the computers themselves. ®