top image

Developers thrash out their challenges

 South African software developers need to be more systematic in their software development process in order to be globally competitive, says Prof. Barry Dwolatzky, Director of the Joburg Centre for Software Engineering (JCSE) at Wits University.

Dwolatzky was speaking at the Microsoft Developer Manager's Breakfast held on the 12 November in Cape Town.

The Microsoft Developer Manager's Breakfast series aims to engage in dialogue around the key issues faced by developer managers and the software development industry in South Africa.

The Cape Town event specifically looked at the realities of development departments in organisations and technological advancements that support the objectives of all software/ application development stakeholders.

"To become globally competitive, local software developers need to be more than just technically clever and creative. We need the capacity to carry out large scale-development projects that are completed within budget, on time and meet customer needs."

Dwolatzky says that while the South African development community has great technical capability, with some of the most creative, innovative developers in the world, many local developers are reluctant to use formally defined processes.

"We leap in and do things without following processes, and as a result, sometimes we don't meet project obligations. And we can be as brilliant as we like, but if we do not follow processes, we will not win big contracts."

Dwolatzky adds that software development clients need to manage their risks, and are more inclined to work with development organisations who understand this fact.

South African developers need to embrace ways of working that guarantee that they can meet client objectives, he says. International experience has shown that the best way to do that is to embrace process. It may be CMMI or ISO9000, but whatever framework or model the developers choose, there must be a commitment to working in an orderly way, he says.

Microsoft developers may choose to use Microsoft Team Foundation, a framework built into MS Visual Studio, he says. Team Foundation also has a framework that supports CMMI process areas.

The benefits of CMMI

Dwolatzky encouraged developers to consider adopting CMMI. He said that two relatively new methodologies called Personal Software Process (PSP) and Team Software Process (TSP) are a way to support the adoption of CMMI and improve and manage software development processes. The JCSE is a partner of the Software Engineering Institute (SEI), at Carnegie Mellon University in the USA, which developed these methodologies.

TSP and PSP enable the team to improve their accuracy in project estimations, says Dwolatzky. "During the first third of the PSP training the majority of students under-estimate project schedules. By the midway point of the training, students begin to achieve a balance of over-and underestimates and by the end of the PSP training they achieve very accurate time estimations," says Dwolatzky. This is a particularly important skill when bidding for work, as software developers need to be able to provide clients with realistic time-frames and cost to win contracts that deliver to expectations.

PSP is a methodology designed for individual use that applies to structured personal tasks.  With PSP, developers use defined and measured personal processes, gathering size, time, and defect data as they work, says Dwolatzky. They also use the data to plan and track their work, manage the quality of the products they produce and measurably improve performance.

"PSP training changes behavior. Developers convince themselves that process discipline, measurement, estimating and planning, and quality management will improve their performance. They are then prepared and ready to apply these skills to their work," he notes. TSP then allows a team of PSP developers to work together to plan and estimate project costs and schedules.

Big bang

Dwolatzky says he realises that it will take time for the use of process to be entrenched in the consciousness of local developers.

"We are never going to have a big bang, but we will have to build support brick by brick. As we continue to encourage people to adopt a systematic approach, a small percentage of the group will hear us, a smaller percentage will believe that we make valid points, and an even smaller percentage will start to ask questions about how they can improve their processes."

The JCSE regularly runs a course entitled "Introduction to CMMI," which introduces participants to the fundamental concepts of the CMMI model. The next offeing is on the 19-21 January 2009.

For more information about the course, email info@jcse.org.za