Most developers have never seen a successful project
by Joe Fay
CD Guru: You're doing it all wrong, again and again
Most software professionals have never seen a successful software development project, continuous delivery evangelist Dave Farley said, and have “built careers on doing the wrong thing”.
Farley, kicking off the Continuous Lifecycle conference in Mannheim, said study after study had shown that a small minority of software development projects could be judged successes.
One study of 5,400 projects, by McKinsey and Oxford University, showed that 17 per cent of projects were so catastrophically bad they had threatened the very existence of the company.
Given these sorts of statistics, Farley argued, individuals could plausibly spend their whole career in software development without ever encountering, never mind running, an unequivocally successful development project.
"I think the vast majority of people in our industry have spent the vast majority of their careers not knowing what a successful software project looks like," he said.
Farley traced the sorry state of software development practices to a fundamental misreading of the 1970 Winston Royce paper (PDF) considered as a defining the waterfall method that has shaped traditional software development practices.
“This paper was a description of what not to do,” said Farley.
Royce’s paper had gone on to argue for feedback loops and testing, and to “do the job twice if possible”, Farley said.
Royce was “arguing in the 1970s for iterative development” Farley claimed. Instead, Farley continued, we have a situation where taking an entirely ad hoc approach to software arguably leads to more successful outcomes than traditional waterfall approaches.
To improve their chances of producing successful development Farley advised his audience to automate as much as they could, especially testing, config management, and slash cycle times.
At the same time, he advised them not to describe this as DevOps. This might partly because Farley is co-author of Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation.
But, he continued, “We’re saying the same thing, but with slightly different terminology, he said. However, when dealing with CEOs and “the business” it is easier to talk about a switch to a “continuous delivery”model, than a Devops model, because non-technical execs’ first question will be “what’s operations?” ®