Portability is the ability of a program to work on a range of hardware with different operating systems. CPM was dominant from 1973-81. Then came DOS; it reigned until the mid 1990s. Then Windows took over. Statistically, it is only a question of time before Windows is superseded.
While computers are still in a stage of rapid evolution, software needs to be able to perform on an ever-emerging range of hardware and operating platforms. In the run up to Windows, several well-known software manufacturers came to grief when they postulated that the only way to produce a product for the new operating system was to write one from scratch. This took so long that competitors stole their opportunity. During this period, my company rewrote its e-mail software from DOS
to Windows in less than a month, not because the programmers were related to Einstein, but because they had segregated the data-processing functions from the user interface. So they quickly learned how to write a Windows User Interface and were then able to latch the data-processing code behind it.
Even if you are tempted to think you only need to write your program for the current, dominant operating system, remember that they change every few years. Splitting the program so that user interface/operating system and data processing tasks are segregated makes it much easier to provide for such transitions. Never underestimate the business value of portability.
Mankind has been employing quality control from the day he began making things. Whether crafting an iron-age flint or prehistoric pot it's safe to assume that our forebears preferred to get it right, just like we do today. Henry Ford used quality control in his first automobile production lines to save costs and keep them rolling. Quality, as it is understood and practiced today, goes back to the seminal work of one man, W. Edwards Deming. Up until then, quality control was practiced sporadically. Deming advocated "Total Quality"— would anything less be acceptable in an age producing aircraft or submarines where the slightest mistake of the most insignificant item could cost everyone on board their lives?
At the end of World War II the Japanese economy was decimated. Their manufacturers had to make sure that every product unit worked. They latched onto Deming's work verbatim as a way of eliminating rejects. Deming's mantra was a comprehensive, systematic, systemic approach to the elimination of the root causes of defects. All subsequent quality regimes are built on this foundation.
In the intervening years many specialized quality standards have evolved from Deming's original platform. The most ubiquitous in current use are the International Organization for Standardization (ISO) 9001 requirements, which are now practiced in around 150 countries and takes three forms:
♦ ISO 9001 Quality Systems, Model for Quality Assurance in Design, Development, Production, Installation, and Servicing
♦ ISO 9000-3 Guidelines for the Application of ISO 9001 to the Development, Support, and Maintenance of Software
♦ ISO 9004-2 Quality Management and Quality System Elements (Part 2)
Your reasons for adhering to a standard might be pragmatic, statutory, strategic, or even political. Keep in mind that these standards are written in a generalized form so they apply to all products. It takes some time to translate them from their universalities to being specific to your software operation. You can speed up the process of implementing ISO standards by hiring someone or finding a friend who is familiar with them and knows how to apply them from their previous work.
Was this article helpful?