| iampete |
11-19-2007 10:51 PM |
Before the thread started to diverge, it started out as a discussion of the quality (or lack thereof) of Apple's s/w releases, and, of course, the opinions did not agree. I believe that differences of opinion in this case seem related to different experience and background, and it seems to me that many of the posters have not considered the bigger picture of what I consider to be "real world" s/w development methodologies, standards, and quality.
For more years than I care to count, I have been involved in design and development in several s/w intensive programs involving multi-billion dollar contracts, starting as a low level worker and progressing to management at various levels. These programs involved hundreds of thousands of lines of code developed in-house as well as utilizing already developed s/w components to assist in the test, simulation, and management functions. In a typical program, the operational s/w segment performed tasks of command and control, navigation and path control, sequencing functions, communication functions, attitude and flight control functions, data acquisition, processing, culling, compression, and formatting functions, target analysis, acquisition and tracking functions, threat detection, assessment and avoidance functions, as well as control of sophisticated sensor packages. All of these functions were integrated within an in-house developed real-time operating system. All of this, when delivered to the customer, worked consistent with the specifications of the contract. As a matter of fact, one of these programs has been operating for well over a decade 24/7/365, essentially unattended except for sequence upload and data download periods. Throughout this time, only one, repeat one, s/w performance fault has occurred that is not attributable either to operator error, hardware failure, or environments outside of what was defined in the specification.
This, then is my background which forms the basis of my contention that the quality of the s/w released by Apple, especially in the recent past, is of inferior quality. Even if one were to believe (and I don't) that more than 99% of Apple s/w users experience no s/w problems, such a "success rate" is considered totally unacceptable for released s/w in most "real world" situations.
There are numerous examples of high-quality software releases in the "real world". Consider the software required to fly a modern airliner - would they even be allowed to fly if the on-board s/w reliability was on the same order as Apple's? Or the s/w involved in the financial industry which processes billions of financial transactions daily - who would patronize a financial institution that guaranteed that 99% of financial transactions would be correct? Or the s/w required to run an automated factory. Or the s/w required to operate a nuclear power plant. Or, even in mundane applications, like the controller involved in microwave ovens. No, when delivered, this s/w has to be virtually error free. If it is not, it is not considered ready for release, period. These are examples of the high standards of s/w that can be achieved by organizations with competent s/w developers competently managed.
I do not state that Apple's s/w developers are incompetent, nor, necessarily their managers. The fact remains that, as a corporate entity, they do not release s/w that even approaches the quality levels that many people are familiar with in their daily lives. Note that the operative term here is "released" - my position is only that Apple releases its s/w a few (quite a few, actually) interim build cycles earlier than the high quality s/w developers do.
I do believe that the fault lies with the particular business model. There is no formal contractual specification between Apple and the people to whom the s/w is delivered. As a matter of fact, in Apple's case, the recipients of the released s/w have no direct control over the specification. When Mr. Jobs makes presentations about the features and capabilities of a coming s/w release, that, at least in my mind, represents an implied de facto contractual specification that he is obliged to fulfill in exchange for my money. Based on what I have seen, heard, and read, 10.5.0 represents a non-fulfillment of this implied contract, to wit, some features he seemed to "promise" were not present or did not perform in accordance with the implied performance. Given past history, he will probably eventually fulfill his promises (more or less, anyway), in a .2 or .3 or later (perhaps a much later) release. In the "real world" with which I am familiar, this type of s/w delivery to a customer would result in at least the loss of millions in contract fees, and very likely the loss of billions in follow-on contracts that would be awarded to another company. In Apple's case, there is no credible alternative company. That is why they have gotten away with these practices. And, unless a viable alternative emerges (and I'm not holding my breath), they are likely to continue to release immature s/w of substandard quality.
I will grant that Apple's business model does not require high quality s/w to be delivered with each release. Neither does Microsoft's. To claim that Apple's is superior to Microsoft's is just the "honor among thieves" argument.
I use Apple s/w. I have used it with whatever version was delivered with the original Mac Classic all the way through 10.4.11, and I will probably continue to use it. After a fashion, it meets the needs I have for personal s/w usage. I also accept that Apple s/w is of much lower quality than other s/w which I encounter in my daily life in the real world. The reason I accept it is because neither my livelihood or my safety depends on it; it is merely a convenience for some of the things I like to do. However, that does not mean that I have to like it or to sing praises of how great it is, as others are wont to do.
|