To: Mark Brophy who wrote (3056 ) 4/19/1998 4:49:00 PM From: Snowshoe Read Replies (2) | Respond to of 10309
Mark, let's take a closer look at Yourdon's article: "A Reengineering Concept for IT Organizations: 'Good-Enough' Software". Further down from the paragraph you quoted, he states:For an important class of software projects, that battle cry ("We'll deliver high-quality, bug-free software on time, within budget!") is still relevant: obviously, nobody wants to fly on an airplane whose guidance control software has as many bugs as our PC word processor. Nobody wants their telephone system or their bank's ATM system to crash as often as their desktop operating system. But for another class of software projects -- which is arguably far larger today than the class of "critical" software systems -- rapid delivery of the software to the customer is sometimes more important than the number of defects it contains. In other situations, "feature richness" may be the dominant factor; in still others, cost might the only thing the user cares about. I believe Yourdon's thesis about "fast enough, cheap enough, good enough" software refers primarily to shrink-wrap software like word-processors and spreadsheets, and the competitive pressure to beat rival products to market. He obviously agrees that it does not apply to the kind of mission-critical real-time embedded systems that Ramsey and Allen were discussing. Microsoft is well known for slipping its deadlines. The higher reliability requirements of real-time embedded systems will slow them down even more than usual, or make them hedge the applicability of their product, or both. Despite your selective quoting of Yourdan, I think Allen's arguments remain quite valid...This flexibility for passing the buck is not found in embedded systems. First, the interface may not be complex, or may even be non-existent. Indeed, few users may even be aware of the existence of software in a failed product. This means the software component of many embedded systems is not automatically given special treatment. Second, embedded systems often are deployed in mission critical, even life threatening situations, in which unwarranted product failures will not be forgiven or ignored. Reliability is but one of many tests Windows CE will have to pass to be considered seriously for most deeply embedded applications. When the Microsoft representative indicated to the Wall Street Journal that Windows CE would be appropriate for the AutoPC, but not process controls in automobiles, I suspect he really meant something much stronger. I doubt that Microsoft's lawyers would allow Windows CE to be used to control automobile processes, because of obvious difficulties shielding the company from expected product liability suits. The bottom line is this... Wind River Systems has the real-time goods now, and Microsoft is years behind.