HW3: Chapter 10

10.6 > Explain why it is reasonable to assume that the use of dependable processes will lead to the creation of dependable software.

By using known working solutions to a problem, software gains dependability and therefore validates the software field and reduces distrust in the community against it. Dependable processes that promote availability, reliability, safety, security, and resilience in software are essential to maintaining the industry and the practice of software development. If, for example, the automobile industry had lost user support due to faulty processes, crashing, easily being stolen, breaking too easily, and being hard to find, then it would not have been such a successful industry. Software engineering's future relies on being dependable and wanted by the community.

10.10 > It has been suggested that the need for regulation inhibits innovation and that regulators force the use of older methods of systems development that have been used on other systems. Discuss whether you think this is true and the desirability of regulators imposing their views on what methods should be used.

Being from a design background, I would like to say that restrictions on innovation and regulation of methods inhibit an industry's ability to progress. However, I agree that some regulations are necessary - understanding the history of proven methods of system development is crucial for progress. Under the ACM's SE Code of Ethics's Principle 6 with regards to obligations in one's Profession, a software engineer who is not using proven, dependable solutions would be violating this code. It states:

6.07. Be accurate in stating the characteristics of software on which they work, avoiding not only false claims but also claims that might reasonably be supposed to be speculative, vacuous, deceptive, misleading, or doubtful.

Anyone practicing software development of engineering who uses methods that are not dependable risks the wrath of the public against the industry in general. This builds a lack of faith in the ability of software engineers and it is obvious why the ACM wishes to regulate these practices, regardless of opinions about inhibiting innovation. It would be nice if it was a free world of no consequences, but when mistakes are made to the detriment of many engineers' careers (including possibly my own one day!), it seems like having regulations in place is not too horrible of a precaution.