Reading Time: 3 minutes

The Rational Unified Process® is a Software Engineering Process. It provides a disciplined approach to assigning tasks and responsibilities within a development organization. Its goal is to ensure the production of high-quality software that meets the needs of its end-users, within a predictable schedule and budget.

Rational Software Logo

A mere enumeration of all workers, activities and artifacts does not quite constitute a process. We need a way to describe meaningful sequences of activities that produce some valuable result, and to show interactions between workers.

A workflow is a sequence of activities that produces a result of observable value.

Note that it is not always possible or practical to represent all of the dependencies between activities. Often two activities are more tightly interwoven than shown, especially when they involve the same worker or the same individual. People are not machines, and the workflow cannot be interpreted literally as a program for people, to be followed exactly and mechanically.

“RUP Core Workflows: Implementation, Testing, Deployment.” is the next post from Rational Unified Process Core Workflows.

Implementation

The purpose of implementation is:

  • To define the organization of the code, in terms of implementation subsystems organized in layers.
  • To implement classes and objects in terms of components (source files, binaries, executables, and others).
  • To test the developed components as units.
  • To integrate the results produced by individual implementers (or teams), into an executable system.

The system is realized through implementation of components. The Rational Unified Process describes how you reuse existing components, or implement new components with well defined responsibility, making the system easier to maintain, and increasing the possibilities to reuse.

Testing

The purposes of testing are:

  • To verify the interaction between objects.
  • To verify the proper integration of all components of the software.
  • To verify that all requirements have been correctly implemented.
  • To identify and ensure defects are addressed prior to the deployment of the software.

The Rational Unified Process proposes an iterative approach, which means that you test throughout the project. This allows you to find defects as early as possible, which radically reduces the cost of fixing the defect. Tests are carried out along three quality dimensions reliability, functionality, application performance and system performance. For each of these quality dimensions, the process describes how you go through the test lifecycle of planning, design, implementation, execution and evaluation.

Strategies for when and how to automate test are described. Test automation is especially important using an iterative approach, to allow regression testing at then end of each iteration, as well as for each new version of the product.

Deployment

The purpose of the deployment workflow is to successfully produce product releases, and deliver the software to its end users. It covers a wide range of activities including:

  • Producing external releases of the software.
  • Packaging the software.
  • Distributing the software.
  • Installing the software.
  • Providing help and assistance to users.
  • In many cases, this also includes activities such as:
    • Planning and conduct of beta tests.
    • Migration of existing software or data.
    • Formal acceptance.

Although deployment activities are mostly centered around the transition phase, many of the activities need to be included in earlier phases to prepare for deployment at the end of the construction phase. The Deployment and Environment workflows of the Rational Unified Process contain less detail than other workflows.

Based on Rational Software White Paper “Best Practices for Software Development Teams”.