Preface  pp. xxxi-xliv

By Scott W. Ambler

Image View Previous Chapter Next Chapter

ORGANIZATIONS have moved beyond the pilot project stage and are now using object technology to build large-scale, mission-critical business applications. Unfortunately they are finding that the processes that proved so successful on small, proof-of-concept projects do not scale very well for real-world development. Today's organization needs a collection of proven techniques for managing the complexities of large-scale, object-oriented software development projects: a collection of process patterns. A process pattern describes a collection of general techniques, actions, and/or tasks for developing object-oriented software. In many ways process patterns are the reusable building blocks from which your organization can tailor a mature software process. To be fair, however, it isn't enough to just have a collection of process patterns, you must have a pattern language of process patterns that fit together as a consistent whole, that form a complete software process. That is what Process Patterns and its sister book More Process Patterns provide.

The object-oriented software process (OOSP) presented in these two volumes is a collection of process patterns that are geared toward medium to large-size organizations that need to develop software to support their main line of business. Although the OOSP could easily be modified for the development of shrink-wrapped software, I would rather point you in the direction of the Unified software process. The Unified software process was created by a leading maker of shrink-wrapped development tools. There is no such thing as a one-size-fits-all process, and the OOSP is just one of several approaches to developing object-oriented (OO) software.