integration, and testing of HP-UX, the operating system environment for HP’s critical computer systems.
Bollinger focused on the HP-UX system and used it as a case study to describe leading-edge software development practices at HP. He noted that it is an example of an “agile” development process.2 HP-UX is a large, complex software system with tens of millions of lines of code. It is used in mission/business-critical environments, and it is essential that very high quality is maintained release after release. It has been upgraded repeatedly, piece by piece, over the past 25 years. It has spanned four hardware architectures and dozens of platforms.
Over the past 10 years, Bollinger noted, HP moved from a “waterfall” software development process to an agile development process. (Briefly, a waterfall program proceeds from concept, to requirements, design, prototype, construction, acceptance test and final delivery. Complete and detailed requirements are emphasized. Deviations from the initial requirements are expensive and disruptive. In contrast, an Agile program begins with the same concept, and executes multiple iterations. Each iteration is a full pass from requirements to acceptance test. The first iteration will quickly [e.g., in one-tenth the time] produce an extremely minimal version of the concept. Subsequent iterations add or improve the capabilities of the product until a useful version is created, and keep going after that to create ever more useful versions. An Agile program embraces changing requirements, exploits knowledge gained in early iterations to improve designs and implementation, and encourages user feedback to guide later iterations.) One key difference between HP-UX and many DOD software systems is that HP-UX is the same basic system—only new functionalities and capabilities are added over time. The capabilities never degrade, and the customers do not change much over time.
Bollinger touched on a number of the system’s key features, with an emphasis on incremental delivery of working software. There has been a substantial improvement in quality (in terms of customer defect rates as well as productivity release time) after HP switched to the continuous development, integration, and test process. Bollinger noted that HP continuously develops, integrates, and tests all elements of HP-UX to ship release criteria. Furthermore, the company starts the next release, at full throttle, the day after the last one is finished. He also emphasized the importance of not breaking legacy and of fixing defects before adding new code.
Bollinger strongly emphasized the importance of communication and collaboration with the customer and all other members of the develop-