150 likes | 162 Vues
Explore the unique aspects of software engineering vs. other disciplines, debate on licensing software engineers for public safety, and alternative safety approaches. Delve into the responsibilities, risks, and ethical behavior in software development.
E N D
Lecture 8Is Software Different? CSE 403 Spring 2005
Is Software Different? Compare with other engineering disciplines Electronics, construction, aircraft Answers that are possible No, Yes, but it shouldn’t be Yes
Is software different? • Is software less reliable? • Are software projects more likely to fail? Is this just perception?
Is software different? • Is the fundamental nature of software different from physical artifacts? • Does it break differently? Continuity argument – we know how to build tolerances into physical systems
Is software different? • Is the environment of use of software different? Rapid technology change Greater user modification Hostile deployment scenarios
Is software different? • Is the culture of software development different? • Is the field immature? Individual nature of writing software Hacker culture Developer Hubris – assumptions that things will work Ease of modification Low cost of failure
What responsibility do writers of software have? What are the risks What types of failures to anticipate
Should software engineers be licensed? Case in favor All other professions go through some certification, but anybody can write software Potential impacts of bad software are severe Professional certification can ensure training and ethical behavior Can provide a mechanism for accountability
Software engineers:to license or not to license? • In 1998, Texas started requiring software engineers to be licensed as professional engineers • Is this a good idea, or not?
Goal of licensing? • The general goal of licensing is to protect the interests of the public when safety is at issue and when the public cannot make effective judgments on their own • Civil engineers to ensure building standards are met • Aeronautical engineers to ensure aircraft safety rules are met • … • Many practicing engineers are licensed, especially civil and mechanical engineers • And many are not
Non-goals of licensing • Guarantees of high-quality products • Reducing costs of development • Guild protection
Other approaches to safety • Process-focused (CMM, capability-maturity model; ISO 9000) • Product-focused (pharmaceutical industry, …)
My views (Notkin) • Protecting the public where safety is concerned is a crucial goal • Licensing of software engineers cannot, at present, do that • In fact, it provides false guarantees to the public, which is totally inappropriate • Perhaps at some point we will have a standard of practice that is sufficient upon which to base licensing – but not yet! • Software is different – rapid and extensive change (both of the product and the underlying technologies) and the underlying mathematics are among the reasons
Some real dirt • Why professional licensing was pursued overall in software engineering • Why it was pursued in Texas