Chapter 1: Requirements of Complex Product Development

 < Day Day Up > 



There are two ways of constructing a [software] design; one way is tomake it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. —C.A.R. Hoare

1.1 Products are all around us

In our everyday life, we are surrounded by an enormous number of products. Their number and their diversity are much greater than we can imagine. Take as an example a short moment in your daily life: the time occupied when walking from the parking lot to the entrance of a shopping center. You leave your car, close the door, and lock the door with a remote-control key. You pay your parking fee by entering your credit card in the parking meter. You approach the building, noticing briefly the lighting spots and the advertisements on a giant screen mounted on the wall of the building. You enter the shopping center through a glass door that is automatically opened as you move towards it. How many products have you been in contact with? Think for a while. It is even more fascinating to think of the number of parts from which these products are built. For example, the glass door: 5, 10, 20, perhaps up to 100 different parts? It depends on which way you count, how far you go with dividing the products into their constituent parts, and those parts into their parts, and so on. For a car, you can begin to count from a 100, or maybe a 1,000. And all of these parts are products themselves, produced in thousands, millions, perhaps billions.

What is a product, then? In principle, all things manufactured or built are products. A product can be a bridge, a car, a watch, a telephone, a sweatshirt—anything that has been built or manufactured. Different types of services can also be considered products. In their own way, software applications such as word processors, operating systems, and computer games are also products. Software is interesting in this context because an increasing number of products previously considered to be hardware now incorporate software. Examples of such are mobile phones, cars, washing machines, and television sets. Even more, for such products, the cost of developing the software component is a considerable proportion of the total development cost and is increasing. For example, the development cost of software in the industrial robot industry was one third of the total development cost 10 years ago; today it is about two thirds, and this trend is expected to continue (see Figure 1.1). We observe similar trends in the mobile phone industry and in the automobile industry.

click to expand
Figure 1.1: Software and hardware development costs in the industrial robots.

It is also fascinating that most of these products actually work the way we expect. How is it possible for a product consisting of thousands of parts to function as one monolithic entity? And what supporting procedures are indispensable for their functioning?

Two things are crucial for the proper functioning of a product: management of its complexity and the provision of support during its entire life. The more complex the product is, the more complex are the procedures for its development and support during its life.



 < Day Day Up > 



Implementing and Integraing Product Data Management and Software Configuration[... ]ement
Implementing and Integrating Product Data Management and Software Configuration Management (Artech House Computing Library)
ISBN: 1580534988
EAN: 2147483647
Year: 2006
Pages: 122

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net