SAN FRANCISCO -- 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 here on Wednesday.
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 have been inappropriately called engineers. "I think engineering's kind of a title inflation and most people who deal with software are not engineers," said Cooper.
"The act of constructing software is, in fact, not an engineering process," Cooper said. "Engineering to me is problem-solving, which is very different from solution implementations, which is what programmers [do]." Title inflation is 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 exclaimed.
Good programmers are given engineering tasks, with attendant responsibilities in problem-solving, he said. There also is the issue of developers being unsupervised, without guidance, according to Cooper. "In the world of software, building software is essentially unsupervised," he said. Developers can 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, is dominated by people who like to create things as opposed to those who like to serve other people.
Brown said component-based development, to enable reuse of software in different projects, can assist in improving productivity. Cooperation amongst developers also is helpful. Brown recalled a project he observed that was being undertaken by the 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 claims there are two extremes in project management: One is when a project depends on individuals each providing input, and the other is when there is consistency and predictability across project teams and a consistent life cycle is followed.
Cooper recalled an organization 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."