PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

Guidebook on the Synthesis software reuse process


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
REUSEPRC
VERSION
2.0.3, SPC-92019-CMC, 01-DEC-93
ORIGIN
ASSET
REVIEW CODE
OK
INET ADDRESS
librarian@source.asset.com
AUTHOR
Software Productivity Consortium
RIGHTS
Approved for public release; distribution unlimited
COPYRIGHT
1993 SPC
LOCATION
ASSET
PAL

FILE LISTING

Directory Display


languages/ada/docs/reuseprc:
  File Name                 Size
  ---------                 ----
  README                   4,697
  reuseprc.zip         6,929,768


Totals
  ==============  ==============
    2 Files            6,934,465

ABSTRACT

Reuse-driven Software Processes Guidebook

    Synthesis is a methodology for constructing software systems as
instances of a family of systems that have similar descriptions
(Campbell, Faulk, and Weiss 1990). This guidebook provides an
introduction to the practice of the Synthesis methodology of software
development. To the degree that you understand the essential
similarities and variations in the systems you build, Synthesis enables
you to exploit those similarities to eliminate redundant work. A mature
organization will be able to satisfy the needs of its customers by
answering the questions that are left open because of variations.
    Synthesis focuses on your need both to deliver high quality products
to customers and to accomplish this profitably. To this end, a Synthesis
process consists of two subprocesses: Application Engineering and Domain
Engineering. Application Engineering is how a group (or project) in your
organization creates a product to meet customer requirements. Domain
Engineering is how your organization improves productivity by creating a
product family and a supporting Application Engineering process,
tailored for projects in your business area. The details of these
subprocesses will differ depending on the capabilities of your
organization to practice reuse effectively.
    Since projects in the same business area tend to build systems that
satisfy similar needs, these systems can be thought of as instances of a
family. A family of systems is a basis for a flexible approach to
standardization that can accommodate diverse and changing needs. A
business area whose objectives are fulfilled by a family is a domain.
Both the mission of an organization and the changing needs of its
customers determine the objectives of that business-area organization
(i.e., product line). Synthesis is a comprehensive, business-area-level
solution to problems of software productivity, product quality,
manageability, and responsiveness in the building of systems to meet
diverse and changing needs. Synthesis is a systematic approach to
software development founded on the belief that the resources of a
business-area organization should be managed not only to meet the
immediate needs of customers, but also as an investment in future
capability.
    This guidebook describes two instances of a Synthesis family of
processes, one that is opportunistic in character, the other that is
leveraged. The opportunistic process is oriented toward organizations
having modest reuse needs and capabilities.  The leveraged process is
oriented toward organizations that can make a greater commitment to
reuse and that have more advanced needs and capabilities.
    This guidebook defines Synthesis, a sound approach for effective
family-oriented software development. It serves as a detailed guide to
the practice of Synthesis and helps you begin to practice it. As you
gain experience in practicing Synthesis, you will be able to refine and
modify this guidance to meet the specific needs of your organization
more effectively.
    The scope of this guidebook includes all activities and work
products related to production of software and support of the needs and
objectives of a business-area organization and its customers. Synthesis
activity is initiated, via a Reuse Adoption process (Software
Productivity Consortium 1992c), with the establishment of organizational
business objectives for a domain. In addition, various Synthesis
activities require you to standardize management, requirements, design,
implementation, and verification and validation practices throughout
your organization. Synthesis is an integrating framework for the methods
you choose to standardize your practices. Detailed descriptions of
particular methods are generally outside the scope of this guidebook.
Such descriptions are available to you, often in other Consortium
publications that are referenced, where appropriate, throughout this
guidebook. Standardization of these activities in terms of purpose and
technique, using methods of your choice, is essential to an effective
Synthesis practice.
    The audience for this guidebook includes business-area managers,
project managers, and engineers of all disciplines who work together to
accomplish the objectives of a business-area organization. Readers
should be knowledgeable and experienced in the standard (or prevailing)
software development methods used in their organization, but are assumed
to have no experience with Synthesis. Practical use of this release of
the guidebook requires the participation of knowledgeable technologists.
Pilot projects are a requisite first step in transitioning to production
use.


REVISION HISTORY

2.0.3  1 June 94  Initial release to the PAL


RELEASE NOTICE

Approved for public release; Distribution unlimited


DISCLAIMER

This documentation is provided "AS IS" and without any expressed or
implied warranties whatsoever.  No warranties as to performance,
merchantability, or fitness for a particular purpose exist.

The user must assume the entire risk and liability of using this
document.  In no event shall any person or organization of people be
held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.