Father of the Wiki Talks Programming Practices

Microsoft's Ward Cunningham offers his two cents to OOPSLA attendees on the benefits of extreme programming and other software-development techniques.

VANCOUVER, British Columbia—Ward Cunningham, the father of the wiki concept, hardly mentioned wikis at all during his keynote address at the OOPSLA 2004 conference here.

Instead, Cunningham focused on programming patterns and practices during his hour-and-a-half keynote address Tuesday. His talk, "System of Names and Other Tools of the Not-Quite Tangible," was as intangible as its title implied.

Cunningham, who joined Microsoft about a year ago, is an architect with the companys Patterns & Practices Team. Before joining Microsoft, Cunningham already had dabbled in all kinds of programming, including object-oriented-, extreme- and agile-programming ventures.

Cunningham said at the outset of his talk that he intended to try to connect the many threads that led up to the development of the wiki. (A wiki is a program that allows people to create and maintain Web pages collaboratively.)

Cunningham walked attendees through some of his thought processes around software patterns and linking patterns together via his "system of names" approach.

Cunningham emphasized the need for programmers to abandon the lone-wolf approach and instead work more collaboratively. He said the WikiWikiWeb is all about nurturing collaboration by allowing developers to elaborate when writing patterns or other pieces of software.

Ward also emphasized the importance of pair-programming, or teaming up of developers, when writing code. Pair programming is a concept that is key to the discipline of XP (extreme programming). Other XP tenets include working on small releases, simplifying software design, testing first, owning collectively and integrating continuously.

Cunningham advised OOPSLA attendees to work with colleagues and pace themselves when writing software "to avoid fatigue and self-doubt, which cripple decision-making." He also advocated that programmers trade roles to maintain balance and break development projects into smaller chunks.


To read the full story on Microsoft Watch,

click here.