Don't shoot the programmer: SEI touts process method update

[MARCH 4, 2003/ADT'S PROGRAMMERS REPORT] - In a renewed push to address the issue of defective software -- an effort that faces more urgency in the face of continued Internet hack attacks -- the Software Engineering Institute (SEI) has begun to promote the Team Software Process (TSP). This means of achieving better software, say adopters of the process at Microsoft Corp., has shown early promise in reducing software bugs.

The Team Software Process seeks to help teams of engineers manage their work to produce quality products on schedule. It was developed by Watts Humphrey, an SEI fellow. The process grows out of Humphrey's earlier work on the Personal Software Process (PSP), which in turn is based in part on quality engineering concepts promoted in manufacturing industries. Both PSP and TSP look to improve the performance of programmers by bringing more discipline to the way they develop software.

SEI is best known for its work to popularize the Capability Maturity Model (CMM) framework for software process improvement. Recent experiences with TSP were a matter of discussion at the group's Software Engineering Process Group (SEPG) Conference held during the last week of February in Boston.

''The software industry is addressing Internet security problems with a response strategy,'' said Humphrey. ''Security vulnerabilities are defects. We ship products and wait for problems to be found. That says you need to have problems before you can fix them.'' Before coming to SEI, Humphrey spent 27 years at IBM where he served as manager of commercial software development, and director of programming quality and process.

Humphrey said TSP is based on the same quality principles that the Japanese introduced with automobile manufacturing in the 1970s. ''[Manufacturing expert W. Edwards] Deming, Japanese auto-industry practices and semiconductor-industry methods have focused on quality at the beginning of job,'' he noted.

Such basic common-sense practices as goal setting, measurement and reviews are key ingredients in TSP-driven efforts to improve quality. ''By and large, the software community has not learned the basic principles of quality,'' said Humphrey. The major principles are to put quality in the product from the start by focusing on the process, and to forgo personal recriminations.

Programmers have heard these calls to order before, and are not unjustly skeptical. The blame for defects always falls to the programmer it seems, even though many managers push for output above quality. As well, the push to document processes often seems counter-productive to developers. For his part, SEI's Humphrey says his means promote communication, and do not direct blame or undue paperwork at programmers.

''The problem is not the programmers,'' said Humphrey, ''it is how they are managed and trained.''

Links:
For other Programmers Report articles, please go to
http://www.adtmag.com/article.asp?id=6265

About the Author

Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.