The Gauteng Software Process Improvement Network (SPIN), hosted at Wits University by the Joburg Centre for Software Engineering (JCSE), last week heard how the Team Software Process (TSP) and Personal Software Process (PSP) can assist local software development companies in improving the quality of the software they create.
Jim Over, Team Lead of the TSP Initiative from the Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburgh in the USA, addressed the SPIN on global efforts to improve the level of software development.
“Software is the only modern technology that generally ignores quality until the testing phase. As a result, most software defects are found in or after testing when defect removal is the least effective. This strategy also results in “buggy” products and unnecessary reworking, which can inflate costs, often by as much as 50 percent of the total cost of the development project.
“The quality of the average software development project is also poor with between one and seven defects per 1000 instructions in your average piece of code. This is critical when software defects are also a principal cause of software security vulnerabilities,” Over says.
Developed at the SEI, Over says PSP and TSP were designed to assist developers and teams of developers with producing better quality software and to track the progress of projects to ensure they get delivered on time and to budget.
“PSP is a process that assists developers with structuring their development more efficiently. With PSP, developers use defined and measured personal processes, gathering size, time, and defect data as they work. They then use this data to plan and track their work, manage the quality of the products they produce and are able to measurably improve their performance,” he says.
TSP is a development process for development teams who have adopted PSP. Like PSP, it is a process-based solution for common business issues. TSP assists developers to work together to improve cost and schedule predictability, productivity and product quality.
Unlike other methods, Over says TSP improves the performance of both teams and individuals, is a disciplined and agile approach to software development, provides immediate and measurable performance benefits and accelerates CMMI-based improvement.
Professor Barry Dwolatzky, JCSE director, says much has been spoken about the Capability Maturity Model Integration (CMMI) process improvement product suite, which was brought to South Africa by the Joburg Centre for Software Engineering (JCSE) in 2006.
CMMI is a process improvement model that defines the maturity of companies’ processes, rating them on a scale of one to five. CMMI was developed for the US government and industry the SEI to assist companies to improve their processes in developing high quality software and systems.
“However CMMI does not tell companies what processes and methodologies to use, it merely measures how effective companies’ existing processes are and then helps them to decide what needs to be improved,” he says.
Over says that TSP and PSP therefore takes CMMI one step further, giving companies handles on how to practically implement CMMI principles.
“In fact, TSP has shown to provide a 60 percent improvement in the time taken to move through the CMMI levels. Given that the process can take around 18 months for companies to implement changes and prepare for an appraisal for their next CMMI level, this is a significant time saving,” Over says.
Over says TSP has shown dramatic results in improving software development projects. For example, effort and schedule deviation are dramatically improved. “On average one in eight development projects comes in on time and to budget. Average schedule variations are generally between 27% and 112%. With TSP it’s less than 10%.”
While the industry standard for defects is one to seven defects per 1000 instructions, Over says an analysis of 20 projects in 13 organisations showed TSP teams averaged 0.06 defects per thousand lines of new or modified code. Approximately a third of these projects were defect-free.
And while testing account for 40% of most the average software development project, projects been run using TSP spend between 2% and 7% on testing, Over says.
Dwolatzky says the JCSE and Over met with the Department of Trade and Industry (DTI) last week regarding a JCSE/SEI proposal requesting that government provide funding for South Africa to become an international TSP/PSP pilot site. A similar pilot is currently being run in Mexico with support from industry and the Mexican government.
The proposal, which is currently under consideration by the DTI, would see two companies start the pilot with the SEI and JCSE conducting the necessary PSP training. TSP “coaches” from the SEI would then assist the two pilot companies in applying the TSP methodology to two of their development projects.
Dwolatzky adds that SEI experts will at the same time be training JCSE staff to be fully equipped to in future offer PSP and TSP services on their own to local companies.