120 likes | 357 Views
(Using Clip Art to Help Argue That) Certifying Software Professionals (is the Wave of the Future) Brian Demers February 24, 2000 CS 99 Prof. Kotz Whom do you trust? And how much do you trust them? Your house Your friend Raoul Software Developers Today No common background College grad
E N D
(Using Clip Art to Help Argue That)Certifying Software Professionals(is the Wave of the Future) Brian Demers February 24, 2000 CS 99 Prof. Kotz
Whom do you trust? And how much do you trust them? Your house Your friend Raoul
Software Developers Today • No common background • College grad • Transfer from another field • Self-taught • Training is often inadequate (Or, “Did CS 23 really teach you about Software Engineering?”)
Non-critical systems Windows Netscape PC Blitz Critical systems: Therac-25 Radiation treatment device Hardware interlocks replaced by faulty software 2 dead, 4 crippled by radiation overexposure Consequences of the Current Situation
How “professional” is software engineering? Deborah Johnson on Special Professions: • Requires mastery of an esoteric body of knowledge • Autonomy in work • Professional society controls “admission” • Fulfills important social need
Software Engineering vs. Other Professions • SE could meet all four criteria • Other professions fail some criteria, but are still thought of as professions • All professionals: obligated to some minimum level of performance How can there be a minimum standard of performance with bugs?
BUGS! • Errors in computer programs are inevitable • …but programmers cannot be absolved of responsibility for serious or careless mistakes • …and not all errors are inevitable
Why Certification? • Establish a base quality level • Expose SEs to more problems • Exposure happens before the job • Tests could change with advances/changes in technology • Facilitates identification of negligent programming
Group: Capability Maturity Model (CMM) ISO 9001 Individual: Personal Software Process (PSP) Microsoft Certification Types of Certification
CMM model 5 different levels of process maturity Describes “what”, not “how” “Documented process” “Monitor and control performance” “Review” Does it work? Great improvements in meeting ship dates At one company, number of critical defects at ship time dropped to zero. Teams claimed to experience higher overall efficiency Group Certification
PSP Devised by Software Engineering Inst. (creators of CMM) Focuses on “how” – avoid introducing error to begin with Practice large-scale techniques on small problems Quantitatively analyze results Does this work? Much improved ability to estimate product completion EKLOC: dropped from 100 to 20 LOC/hr remained constant Shorter test times claimed Individual Certification
Conclusions • Ethically, there is a class of problems which good design and implementation principles would help prevent • Certification of software engineers: • Seems to help prevent these problems • Increases reliability and productivity overall • Protects against lawsuits in the future? What do you think?