About CollabNet's ALM feature

Application lifecycle management consists of methods and tools that enable software development teams to follow a process. Organizations tend to adapt standard processes, including waterfall, iterative, scrum, CMMI, and so on to their needs, developing rules and guidelines that suit individual teams.

The benefits of using a process include:

As described in the Help project about creating project templates, CollabNet permits you to create custom content for a project, and allows people to select this custom content at project creation time. In addition, CollabNet provides default project templates that facilitate application lifecycle management.

About CollabNet-provided project templates

CollabNet provides a set of directories that, when referenced by a project, provide a process-driven environment for project members. A project template is a centrally created and managed collection of project subpages, plus application pages for project management and communications. The template guides project members through a complete lifecycle.

The CollabNet Baseline Project template provides information for everyone working on a project, including product managers, engineers, testers, and support people. You can customize the CollabNet Baseline Project template to suit the practices of your organization.

The CollabNet Baseline Project template consists of the following components:

Note: Projects that use a project template must also use Project Tracker.

The layout of a stage subpage

The stage subpages have a similar layout:

How the CollabNet Baseline Project template works

The CollabNet Baseline Project template works according to a few principles:

project overview: Example of promoting an artifact through lifecycle stages:

  1. A project member clicks the Projects page, clicks the link to a project that uses the CollabNet Baseline Project template, and clicks the Definition stage icon.
  2. Definition:
    The project member clicks the New requirement link, creates a new requirement named Requirement A, and sets the Stage in Lifecycle attribute for Requirement A to Definition.
    Requirement A now appears when any project member clicks the Ready for definition link in the Activity area of the Definition page.
    After evaluating the requirement, a product manager clicks the Ready for definition link, clicks the link for Requirement A, and sets the value of Accepted into current stage? for Requirement A to Yes.
    Requirement A now appears when anyone clicks the Currently in definition link.
  3. Transition to Design:
    When all use cases are written for Requirement A, the product manager sets the Definition complete? attribute to Yes for Requirement A and sets the Stage in lifecycle attribute for Requirement A to Design.
    Requirement A now appears when any project member clicks the Ready for design link in the Activity area of the Design page.
  4. Design:
    A technical lead clicks the Design icon in the navigation toolbar, clicks the Ready for design link, reviews Requirement A, and conducts other activities prescribed by the local development process. When Requirement A is approved, the technical lead sets the value of Requirement A's Accepted into current stage? attribute to Yes.
    Requirement A now appears in the results for the Currently in design query on the Design page.
  5. Transition to Code and Build:
    A design engineer, after creating design documents, sets the value of Design complete? for Requirement A to Yes, and sets the Stage in Lifecycle for Requirement A to Code & Build.
    Requirement A now appears when any project member clicks the Ready for code & build link in the Activity area of the Code & Build page.
  6. Code and Build:
    An implementation engineer clicks the Ready for Code & Build link in the Activity area of the Code & Build page, and clicks the link for Requirement A.
    After evaluating whether this requirement is ready to be coded, the implementation engineer sets the value of Requirement A's Accepted into current stage? attribute to Yes.
  7. Transition to Testing:
    When Requirement A is fully implemented, the implementation engineer sets the value of Code & Build complete? to Yes, and sets the Stage in lifecycle attribute to Testing.
  8. Testing:
    A testing engineer clicks the Testing stage icon, clicks the Ready for testing query, clicks the link for Requirement A, and sets the value of Accepted into current stage? for Requirement A to Yes.
    The testing engineer may find bugs and raise defects against the requirement. When testing is complete, the test engineer sets the value of Test complete? for Requirement A to Yes, and sets the Status of Requirement A to Complete.

In addition to the Stage in Lifecycle attribute, a Status attribute allows users to indicate the work completed or remaining to be done for an artifact. See "Transitions for the Status attribute" for details.

Artifact types in the CollabNet Baseline Project template

The CollabNet Baseline Project template makes use of the following artifact types:

Transitions for the Status attribute

The Status attribute, used in many of the CollabNet Baseline Project template artifact types, is a state type attribute. See Configuring state attributes for details.

The following table summarizes the valid state transitions for the Status attribute:

If the Status attribute
is in this state
The user can select the
following as the next state
Initial Submitted
Submitted Started, On hold, Will not complete
On hold Completed, Will not complete
Started On hold, Will not complete, Completed
Completed Reopened
Will not complete Reopened
Reopened Started, On hold, Will not complete

 

The directory structure for a project template

The CollabNet Baseline Project template resides in the project-templates project and is managed by the Subversion version control system. The directory structure of the CollabNet Baseline Project template is as follows:

  project-templates
     trunk
       www
         templates
            CollabNet-Baseline-Projectv1.1
               cn-project-pages
                   Stages
                        Definition
                        Design
                        Code & Build
                        Testing
                        Deployment
                        Support
                   Project Management
                   Communications
                   Metrics and Reporting
                   Integrations
             index.html
             template.properties

When a process designer creates a new project template, he or she creates a directory structure similar to the one provided above. The new project template must reside in the project-templates project, and it must be created at the same level as the CollabNet Baseline Project template.

When a project owner creates a new project that uses a project template, CollabNet copies the contents of the project template directory from the project-templates project to the www directory for the new project.

The following is an example of the directory structure for a project template for a specific project:

  My Project
    trunk
       www
          cn-project-pages
              Stages
                  Definition
                  Design
                  Code & Build
                  Testing
                  Deployment
                  Support
              Project Management
              Communications
              Metrics and Reporting
              Integrations
          index.html

About the contents of the cn-project-pages directory

The cn-project-pages directory in the project-templates project contains one or more directories whose names are formed of an integer, a dash, and an ordinary name. For example, the following is a standard cn-project-pages directory:

      cn-project-pages
         Stages
              Definition
              Design
              . . .
         Project Management
         Communications
         Metrics and Reporting
         99-Integrations

The directories named Stages, Project Management, Communications, and so on appear as the following pages on the Top Navigator toolbar and as links in the left navigation pane:

When you modify a project template, you work with the contents of a subtab, Project Management, and Communications directories.

The Stages directory in the Project template is structured as follows:

          cn-project-pages
             Stages
                  Definition  ----------
                  Design                |
                  Code & Build          |
                  Testing                - subtab directories
                  Deployment            |
                  Support     ----------

Each subtab directory contains sub-directories that contain the contents of the subtab. For example:

          cn-project-pages
             Stages
                  Definition  
                      documents
                      icons
                      reports
                      snippets
                      templates
                  Design                
                  Code & Build          
                  Testing               
                  Deployment            
                  Support