Task: Set Up Tools
This task describes how to install and configure the acquired tools to support the project
Disciplines: Environment

The purpose of this task is to:

  • Install the tools
  • Customize the tools.
  • Make the tools available to the end users.   
RolesPrimary Performer: Additional Performers:
        Process Usage
        Main Description

        Many software-development tools support teams of people, with several users working with information stored in a shared repository. Each user uses the tool on their personal computer (client) and the shared repository is stored on a central server. In this case the tool must be installed on the server and on the clients. Customizing the tool is done both on the server and on the client.   

        There are tools that do not use a shared repository, such as compilers, debuggers, editors, graphic tools, etc. These tools can simply be installed on the users' computers. It may still be needed to customize the tools so that all members of the project use the tool in the same way. 

        The approach should be to automate as much as possible of the installation and customization procedures.

        Install the Tool on the Server

        Identify what other software is required for the specific tool to work, and install this software. For example, a tool may require a database management system (DBMS) be installed first. 

        When you have installed the support software, you can install the tool on the server.

        Customize the Tool (on the Server)

        Decide how to customize the tool so that it supports the Development Process in the best way.  The following are some brief examples of how you can customize Rational tools: 

        • Rational Rose. You can create a template model that defines the structure of models. The template model will be used when creating a new model in Rose. You can create a file in which you define what stereotypes to use, and their icons. Then this file can be installed on all users' computers, so that they use the same set of stereotypes.  
        • Rational RequisitePro. You can create a RequisitePro project template, in which you define the requirements attribute types to use. You can start with the provided "RequisitePro Project Template", and customize it according to your needs.
        • Rational ClearCase. You can define 'events' that make the tool behave in a certain way. For example, you can customize the tool so that when a user checks-in an item, a script is automatically executed that does some checking on the item.  
        • Rational ClearQuest. You can create and modify forms to support the way the project wishes to collect information about change requests. You can also create and modify schemas to make the tool manage the change requests in a certain way. 

        In addition to customizing the tools, you should set up user groups and access rights on the server.  In some cases, a tool may provide its own mechanisms for this.  In other cases, user groups and access rights are defined using the operating system.  The configuration of user groups and access rights affects how the tools can be used. For example, you can set constraints on what parts of a repository certain users will have access to.  

        Document the customizations in Project-Specific Guidelines

        Set Up Multisite Support

        If the team is geographically distributed it may be necessary to divide the repository on several sites, or to duplicate the repository. To divide or duplicate a repository requires that the repositories on the different sites must be synchronized, information must be transferred between the sites.   

        Integrate with Other Tools

        Integrate the tool with other tools to make it easier to use. An integration between tools is in most cases in the form of an extension to one or several tools. An 'integration extension' to a tool typically:

        • Synchronize data between the different tools. It automates the creation and maintenance of related items in development projects
        • Automatically adds traceability between related items in different tools. 
        • Allow the user to add traceability between items in different tools. 
        • Allow the user to navigate between tools. For example, access an item in a test tool from a requirements management tool. 
        • Allow the user to run certain functionality from one tool. For example, the possibility to create items in another tool.
        • Allow the user to version a tool's items in a configuration management tool. For example, the possibility to version control requirements (from RequisitePro) using ClearCase.  

        Most tools offer ready-to-use extensions to integrate tools with each other. 

        Describe how the tools are integrated with each other in the Project-Specific Guidelines

        Install and Customize Tools on Clients

        Install the tool on each client. The least that is needed to do when installing a tool on the client side, is to set up the connection to the repository on the server. 

        Customize the tool on the clients, just as you customized the tool on the server: 

        • In some cases you do not have to do anything with the client. For example, if the client is a web-interface it is enough that the clients get the address to the application on the server. Some tools allow you to do all customization on the server side. When the users access the repository on the server, they automatically get the correct settings.  
        • In other cases you customize the tool on the client by installing software that customizes the tool, or installing files with customization information.  

        It may be necessary to install 'integration software' on the client. Place the 'integration software' on a server and allow the users to download and install it on their computers. 

        If it possible you should automate the tool installation, and the tool customization for the users. The benefit of creating installation programs is that it allows you to set up the tools so that the clients get all the right settings, extensions, and connections to the repository.  You create installation (and customization) programs, and place them on a server. Then the users download these programs and run them to install and customize the tool in their computer. 

        More Information