Personnel issues with software programming teams remains a sore point with development projects, panelists and audience members agreed during a session at the SD West 2005 conference in Santa Clara, California.
Haling from companies such as Microsoft and Google, industry executives serving on a panel pertaining to "agile programming" debated issues ranging from personnel-related problems to documentation, tools selection, and "extreme programming," or XP. Agile programming involves a team- and task-based approach to programming. XP is a form of agile programming that involves direct business user involvement and the pairing of development teams.
Following an audience question about personnel issues in software development, panelist Granville "Randy" Miller, an architect and developer for Visual Studio at Microsoft, noted the problems that can arise with dysfunctional teams. He cited an incident where developers used interfaces against each other and developers were settling vendettas or satisfying egos rather than delivering business value. He was not specific about where he had seen this.
When a team is dysfunctional, "bad things are going to happen for the project," Miller said.
"If you're in an environment that's completely hostile to you, then you need to make a change," said Miller. He also said he has witnessed environments where people did not feel comfortable sharing with each other.
"I think the hardest thing in producing good software is getting and retaining good people," said panelist Joshua Bloch, principal engineer at Google.
An audience member cited programmer training as a contributing factor in not fostering cooperation.
"It [organizes programmers] as competitors from day one," she said. "We have to replace that with a team attitude."
Panelists also stressed the importance of developers being involved in tools selection. "The moment people who aren't using these tools can dictate what developers will do, you run into problems," Bloch said.
Discussing XP's applicability to software projects, panelist Daniel Rawsthorne, senior consultant at Net Objectives, stressed the usefulness of XP.
"I think XP technologies are applicable to almost all projects but they're never enough," Rawsthorne said. XP, he said, is about "writing quality code in the face of changing requirements.
"Almost every project requires it," said Rawsthorne.
Bloch said XP is not applicable to all development efforts and must be used where it makes sense. "The flexibility required for doing all the things in the XP [methodology] just doesn't exist," said Bloch.
The issue of documentation also drew mixed reactions from the panel.
"The real issue is who cares about documentation," said panelist Scott Ambler, senior consultant with Ronin International. If a developer does not understand the requirements of a project, the level of documentation will not matter, he said.
But Bloch said programmers do need lots of varied types of documentation.