Process improvement, cost savings, shorter time to market, quality and
productivity, and customer satisfaction are some of the goals that dominate the
mission statements of many manufacturing organizations. The two sets of
articles in this issue are from two different areas associated with computer
systems manufacturing. The first six articles cover the processes involved in
developing software systems, with five of these articles from HP's Corporate
Engineering software initiative program. This program is an effort to make
software development a core competence at HP. The second set of articles,
covering the manufacture of printed circuit boards, consists of papers presented
at HP's 1995 Electronic Packaging and Manufacturing conference.
Article 1 is a good example of a process improvement effort. The article describes a successful project at HP's Software Engineering Systems Division to put in place a software development process model called the Capability Maturity Model (CMM). CMM was developed by the Software Engineering Institute at Carnegie-Mellon University. This model has five stages, or maturity levels. Each succeeding level dictates ever stricter quality processes to be in place for evaluating software products. Because of the strict requirements of CMM, it normally takes an organization 36 months to go from level-1 to level-2 CMM compliance. The authors describe how their organization was able to reach 100% level-2 CMM compliance in less than a year.
We all know that if we don't learn from our mistakes, we are bound to repeat them. This is the central theme for Article 2 in which the author encourages software developers to perform a failure analysis on their software defects (mistakes) to understand the root cause of each defect. With the lessons learned from this analysis an organization can do the appropriate things in its development process to prevent certain defects from occurring again. The article also describes a way to classify software defect data, and the steps an organization can take to collect, analyze, and use defect data to make improvements its software development process.
The traditional waterfall life cycle has served software developers well for many years. With this model, once customer and system requirements were captured in the requirements phase, developers could proceed through each phase until manufacturing release without revisiting any of the previous phases or collecting any more customer input. This model worked well when competition was limited and software had life spans of several years. Today, competitive products, customer needs, and even
development tools change every few months. An alternative life cycle is described in Article 3. This new model, called Evolutionary Fusion, breaks the software life cycle into smaller chunks so that certain phases are revisited and customer input is allowed throughout the development process. Fusion is a systematic software development method for object-oriented software development. This article is a first for the Journal in that it is an excerpt from a chapter in an HP Press book entitled Object-Oriented Development at Work: Fusion in the Real World, published by Prentice-Hall PTR in 1996.
Discussion about the evolutionary model for software development continues in Article 4. In this article the authors present practical examples of the model's application to projects within HP. It also discusses factors that affect the success or failure of using evolutionary development.
It is pretty well accepted, that if a software design team can reuse an existing component during product development, they will reap great benefits in terms of productivity, quality, time to market, and cost savings. The question is, what is a component? In early software reuse efforts, software components consisted of libraries of general-purpose routines or functions. However, recent software reuse efforts have focused on items such as designs, architectures, applications, and of course, code, as viable software components. As Article 5 points out, architecture-based, domain-specific reuse can yield greater quality and productivity improvements than earlier reuse efforts. A domain-based reuse strategy focuses on finding a set of systems or applications that share some common functionality. The article describes a domain-based technique called HP domain analysis.
Article 6 continues the software reuse discussion by talking about building software products on top of an established software platform. The author describes a platform development model that includes not only considerations regarding acceptable criteria for a software platform to be reusable, but also the management and environmental issues associated with platform development and software reuse. The article has a very good discussion about the interactions between platform and product development life cycles.
Software and hardware designers have at least one thing in common today, and that is choosing the best components to use in a product from among the many choices available. Article 7 describes a decision support tool called PASS (Package Selection System), which enables integrated circuit designers to choose the best package for an integrated circuit from the large number of packaging alternatives available, many of which have similar capabilities. PASS is an in-house expert system that uses data from various packaging contractors to come up with a list of technically feasible alternatives based on the criteria input by the designer.
Once the integrated circuits are in their packages, they must be mounted on the printed circuit boards. The productivity goal in this process is to keep the component placement time (cycle time) for each board as short as possible. This is particularly important in a high-volume shop because most of the assembly time is spent in part placement. Article 8 describes how one HP surface mount center using Fuji IP2 pick-and-place machines was able to improve its cycle time by 16% over hand-created and optimized pick-and-place recipes. The techniques they used to achieve this improvement have been incorporated in setup and sequence generation modules for HP's Man-Link recipe generation system. Other enhancements to the Man-Link tool reduce the time to set up pick-and-place machines by ordering the boards being assembled to exploit the commonality of parts among them and by creating sequences of setups that differ very little from one another (page
After selecting the best package for the integrated circuits and efficiently placing them on the printed circuit boards, the next step is to anchor them to the boards with solder and flux. The goal here is to anchor components to the board with solder and flux materials that reduce the risk of thermal shock and allow multiple reflows on a single board. Article 9 and Article 10 describe efforts to develop a low-temperature solder and flux that would make thermal-shock reduction and multiple reflows feasible. Article 11 on low-temperature solder describes the examination of alloys that melt at temperatures between 505C and 1835C. Finding an alloy with a low-temperature melting point is only the first step in developing a low-temperature soldering process. A suitable flux must be found that activates at temperatures 20 to 305C below the melting point of the solder alloy and bonds the solder to the electrical conductor. The second article describes the investigation into this alloy-flux interaction.