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:
- Providing a framework for managing software development projects.
- Establishing guidelines and a methodology for how individuals perform various tasks.
- Providing a consistent and repeatable way of working.
- Establishing clear milestones and methods to achieve them.
- Improving overall efficiency and productivity.
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:
- Templates for stage-specific documents
The templates supply project members with "fill-in-the-blanks" guidance to simplify the task of creating project documentation. For example, the CollabNet Baseline Project template provides templates for the Project Requirements Document (PRD), a test plan document, and a test case document.
- Specialized artifact types
Each project that uses the Baseline Project template contains a default set of Project Tracker artifact types, including Requirements, Defect Reports, Incident Reports, and Action Items.
- A Project Management page.
The CollabNet Baseline Project template home page contains a Project Management page. This page
displays links to project schedules and tasks based on information in the Dashboard tool,
queries of all lifecycle artifacts, and links
to other documents related to project management.
- A Communications page.
The CollabNet Baseline Project template home page contains a Communications page. This page
displays a list of project members, and links to communication tools such as project
Announcements, Mailing Lists, and the WebEx service.
- A Metrics and Reporting page.
The CollabNet Baseline Project template home page contains a Metrics and Reporting page. This page
displays graphical reports of the different artifacts produced in a project.
- An Integrations page.
The CollabNet Baseline Project template home page contains an Integrations page. This page
displays links to third-party applications (such as an automated build system) and output
from these applications.
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:
- A Top Navigator toolbar at the top of the page.
- An Activities area.
This is an area with a light blue background. The activities area contains links to Project Tracker queries, to documents, and to external tools such as Cruise Control or WebEx. For example, on the Definition page, the Activities area contains a link for a Project Tracker query for viewing all requirements currently under consideration.
- A Documents table.
Users with permission to make commits to the Subversion repository can
upload project documentation for inclusion in this table. For example, on the default Definition
page, users can add a PRD to this table by clicking an upload link. The CollabNet Baseline
Project template provides document templates upon which users can base the documents shown in these tables.
When users upload documents, these documents are automatically stored in Subversion.
- A Resource Links area.
This table provides links to other information that is relevant to a particular stage of the project.
How the CollabNet Baseline Project template works
The CollabNet Baseline Project template works according to a few principles:
- Easy access to the right tool for the right task.
Project members can add artifacts that are relevant to a particular stage of a project. For example, a user can add a Requirement to the Definition subpage.
- Promotion of particular artifacts through lifecycle subpages.
For critical artifact types such as Requirements, project members can promote an artifact along stages of a project and trace a work item from requirements definition through design, coding, and testing by modifying the Stage subtab in Lifecyle attribute for the requirement. Other attributes, such as the Definition Complete attribute signals that the artifact is ready for promotion to the next subtab.
project overview: Example of promoting an artifact through lifecycle stages:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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:
- Requirements - Specify a customer or technical need that must be met. As it is promoted through definition, coding, and testing subpages, the requirement is elaborated and transformed into product functionality. The Stage in Lifecycle for a requirement can be set to Definition, Design, Code & Build, or Test.
- Use cases - Elaborate a requirement. Use cases have no Stage in Lifecycle attribute. They are associated with a requirement throughout the project.
- Defect reports - Specify a product failure. The Stage in Lifecycle for a defect can be set to Code & Build or Test, to allow Q.A. to pass defects back to development for coding, and to allow development to send notification of the fix to Q.A. for further testing.
- Test cases - Test cases are used in the Testing subtab. They can be derived from requirements or use cases. Or they can be based on insights gained during the coding and testing subpages.
- Incident Reports -
Incident Reports are used in the Deployment subtab to report problems that are detected automatically.
- Customer cases - Customer cases are used in the Support subtab to record problems that customers have with the product. Where necessary, customer cases can be converted into defects or requirements.
- Action items -
Describes an activity that is important to the project, for example, handling a Customer Case, writing the Product Requirements Document, or submitting Use Cases.
- TD Defects (read only)
Describes an error in the code, user interface, or documentation as reported in the Test Director product and uploaded to CollabNet.
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:
- Stages
- Project Management
- Communications
- . . .
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