Software project management suffers from confusion over project goals, developers working without supervision, and even from developers being miscast as engineers, said panelists during a keynote session at the VSLive show.
Two software industry veterans, Alan Brown, director of the Rational Development Accelerator Initiative at Rational Software, and Alan Cooper, considered the father of the Visual Basic programming language, pondered issues pertaining to software project management.
Cooper said programmers has been inappropriately called engineers.
"I think engineering's kind of a title inflation and most people who deal with software are not engineers," Cooper said. "The act of constructing software is, in fact, not an engineering process.
"Engineering to me is problem-solving, which is very different from solution implementations. That is what programmers [do]." Title inflation was endemic to the industry, he said.
"Web designers are called programmers, programmers are called engineers, and engineers are called architects, and architects don't seem to ever get called," Cooper said.
Good programmers are given engineering tasks, with attendant responsibilities in problem-solving, he said. There also was the issue of developers being unsupervised, without guidance/
"In the world of software, building software is essentially unsupervised," Coper said. Developers could end up "hatching [their] own catastrophe. What's missing from the process is not users, although users are certainly left out. What's missing is somebody who is skilled and trained and talented in the ability to interpret what users' needs are."
Software, said Cooper, was dominated by people who liked to create things as opposed to those who liked to serve other people.
Brown said component-based development, to enable reuse of software in different projects, could assist in improving productivity. Cooperation amongst developers also was helpful.
He recalled a project he observed that was being undertaken by the US Federal Aviation Administration and how the effort always remained in flux.
"It turned out it was in flux for very obvious reasons: whenever they brought in air traffic controllers to see a prototype, they all disagreed on what it should look like," Brown said.
Brown claimed there were two extremes in project management: one was when a project depended on individuals each providing input, and the other was when there was consistency and predictability across project teams and a consistent life cycle was followed.
Cooper recalled an organisation where developers feared business trips by the CEO, because the executive would then demand changes to the company's user interface.
The developers, he said, "dreaded when the CEO goes on business trips because it always turned out that the UI was redesigned by whoever was sitting next to the CEO on the airplane."
Cooper pointed to a relationship between managers and programmers that affected time estimates.
"There's this adversarial relationship, arguing and trying to come to some common ground, and what happens is there's not a lot of truth and honesty in the estimations," Cooper said.
Brown said that success depended on personnel, tools, and processes.
"Being successful is a matter of choosing the right people, but they have to be supported by choosing the right processes and tools," he said.
Brown stressed the criticality of software projects.
He said that after hearing of the first and second space shuttle disasters, he had wondered if software caused the problem.
"The cost of software failure is so high these days," Brown said.
Cooper argued that the best project was not always the one that came first.
"Remember that best to market always trumps first to market. Google was released after Alta Vista, Apple was released after DOS," Cooper said.
But Brown retorted, "You believe all those were best? It had nothing to do with marketing?"
"I don't think for a minute that shallow marketing success is not a success," Cooper replied. "But my belief is that quality endures."