Developers need to move out of their stereotypical boxes and develop their social and communications skills.
That was one of the key messages that Three Rivers director, Kent Beck, had for local IT professionals last week, when he was in South Africa to promote his eXtreme Programming (XP - not to be confused with Microsoft?s operating system) program, hosted by the Johannesburg Centre for Software Engineering (JCSE) and founding member, Psybergate.
"Software," Beck says, "has both economic and humane benefits, but the problem is that not enough emphasis is given to the humane side of development. eXtreme Programming aims to bring more of a social focus to software development, which will, in turn, have positive effects on the economic benefits."
The program is not something that can be dumped onto a team of developers, because there are a number of social changes that developers will have to make in order to become more adaptive.
Lack of communication
Some of the classic challenges that face software development include the lack of communication between clients and developers throughout the stages of development.
As a result, the initial specification of a piece of software generally does not resemble the end result, which can cause a lot of frustration and cost additional time and money.
"What XP aims to do is help increase the levels of communication and feedback throughout the development cycle, flipping the traditional waterfall approach to development around," Beck says.
As a result, he continues, development projects are broken down into smaller micro projects, each spanning the entire analyze, design, implement and test workflow, having an effect on overall product quality, and giving the ability to gauge timeframes and budget.
This, Beck agrees, is a huge mindset change, because it demands interpersonal skills and higher levels of integrity and honesty, adding accountability that was never really there in the first place.
Along with a lack of accountability in the software development cycle, it has often been noted that there is a clear need to bridge the divide between business speak/values and developer speak/values.
"Business people and the likes have tried in the past to bridge this divide with admin, paperwork and fancy graphics; trying to create a new language," Beck says. But constant feedback and constant communication between all the stages of the development cycle have proven to be the most effective.
The principles of XP are not something that you can walk into a development house and sell to developers. "It is like trying to change handwriting," Beck comments.
"By and large, developers are conscious of what needs to be changed," he adds. "It is not a big mystery that social skills are necessary, so the style of application of XP is subtle, tackling one of thirteen steps at a time. Some teams decide to it all at once, but the process is more inspirational rather than prescriptive."
Associate professor and chief executive of the JCSE at Wits University, Rex van Olst, says that the university recognizes the importance of communications and social skills, and has already been incorporating these elements into its various software engineering courses.
As far as local interest in Beck?s ideas is concerned, he says that it is growing. Judging from the queues outside the public lecture hall last week, the interest is quite genuine.
So is it time for the development community to start changing its ways? Maybe. Is it time for developers to assume more accountability? Yes. Should customers be demanding more from their developers than code? Without a doubt.