Subscribe

Shared values 'key to software development`

By Warwick Ashford, ITWeb London correspondent
Johannesburg, 05 Jul 2005

International thought leader Kent Beck is in Cape Town this week on the second leg of his visit to the country as part of efforts by the Johannesburg Centre for Software Engineering (JCSE) to improve SA`s skills base and build capacity in the software development industry.

Creator of a set of software development values, principles and practices known as eXtreme programming (XP), Beck is conducting master classes in Stellenbosch today and will address a public audience at the University of Cape Town tomorrow.

"XP is ideal for software development companies with small development teams who are innovative and rely on the creative skill of their developers to produce good quality software," says Fazel Mayet, CEO of Psybergate, a co-sponsor of Beck`s visit.

"The principles of XP are based on a core set of values, which include simplicity, courage and respect, and can be customised by development teams, who can choose whether to implement them all at once or in a phased approach," explains Beck.

"Software development tends to go better when the team shares a set of values and expresses those in a similar way," he adds.

XP is aimed at achieving greater predictability in the development process and greater flexibility in software through an iterative approach. Teams hold regular meetings to check the progress of the project and ensure that each part of the development process is integrated with what has gone before it.

Paired programming is perhaps one of the most controversial XP principles, advocating that two developers work together at a single machine.

"Critics have tended to say this is like two people doing one person`s job, but in my experience, it enables several problems to be solved simultaneously and promotes communication and interpersonal relations," says Beck. "Software development tends to go better when more than one perspective is involved in the process."

According to Beck, two people working together are better able to satisfy the efficient programming requirement of making sure design details, overall system design, and the goals of customers and stakeholders are considered all the time.

"Because paired programming is like a dynamic conversation, it ensures errors are detected much earlier in the development process than when separate work has to be integrated at a later stage," maintains Beck.

"Paired programming is really an extreme form of technical collaboration," he adds, pointing out that it embodies the XP principles of communication, feedback and respect. "It is these kinds of values that make XP different to other software development frameworks."

Related stories:
Software expert could stir debate
Programming 'guru` arrives in SA

Share