The shed has been designed appropriately for its intended purpose. Similarly, each software program must strike a balance between functionality and reliability appropriate to its purpose. Thus, the shrink-wrap software industry is constantly optimizing an equation that includes the variables of time to market, reliability, functionality, and cost. In most cases, these optimizations are business decisions rather than moral decisions. When safety is involved, the optimizations become moral decisions, but such calculations are not unique to software.
Drug manufacturers weigh the benefits of their drugs against their side effects.
Bridge designers and aeronautical engineers consider both safety and cost. Many current software projects strike that balance poorly, or with little awareness that trade-offs even exist. An engineering approach can only help them. Another objection is that treating software development as engineering will take all the fun out of it. Only a prophet could know how long the public will tolerate computer programmers who make doctor's salaries without comparable training and education, but I predict that one fallout of year 2000 problems will be public insistence on regulating software developers.