Process is a set of to some extent ordered steps intended to reach a goal; while the term process is used in many different contexts, the context for this definition is software. For software development, the goal is production or enhancement of software products, or the provision of services. Other examples are the software maintenance process, the acceptance testing process, or the process development process.

Software development companies and organizations have found that by describing and defining their processes they improve their effectiveness ([Humphrey 91], [Kolkhorst 88]). To the extent that software process definitions make excellent software easier and more cost-effective to produce, they will become widely valued and used. This means that software process definitions must be both useful to the practitioners and reasonably economical to produce. Experience to date, however, demonstrates that the development of a comprehensive software process definition can be very costly and time consuming. Thus, there is a premium on widely applicable means for developing general purpose process definitions together with techniques for reusing, tailoring, and enhancing them. Just as with software, this implies that large scale software processes should be carefully designed and constructed.

The concept of a software process architecture can be best described by examining how organizations are likely to use process definitions. Rather than having a single monolithic process that all projects must use, they will likely find that different projects will have differing needs. For example, the development project for enhancing a large, widely-used product will likely require some different process activities from a project to develop a new program for a single user. Since process development is expensive, there is considerable motivation for process commonality and sharing. This is enhanced by the fact that different projects in the same organization will likely have many common activities. Large organizations will have many process definitions that they wish to share. The more logical and explicit the relationship among these definitions, the more likely it is that elements of the various project processes can be shared

Success will be measured both by the effectiveness with which these processes meet users' needs and by the degree to which they contribute to making software engineering a rewarding and fulfilling profession. As this field evolves, the technology it develops will undoubtedly be of value to many other human activities. Better Process. Better Software.