Home  |  News  |  Company | Products  |  Solutions  |  Market Place |  Services  |  Download
Home
Features and Benefits
Business Management
Requirement Management
Development Management
Test
Management
Service Management
Interoperability
Resources
Download
Skip Navigation LinksHome > Download > Resources > Defect Management

Managing Defects using cmwforms

Purpose

A software solution to manage and administer project related defects. This solution can be used to perform the following:

  1. Software bug management
  2. Test defect management
  3. Problem management

This solution competes with other commercial solution such as:

  • ClearQuest
  • TestTrack Pro
  • Bugzilla
  • PVCS Tracker

Features

The cmwforms Defect Management application is a statefull application where defect records have to be progressed though a defined workflow with defined states and transitions.

When managing a defect the following can be documented:

  • Title.
  • Description.
  • Project against which the defect is being raised.
  • Component against which the defect is being raised.
  • The platform where the component is installed (Unix, Windows).
  • The phase on the project when the defect was found.
  • The severity of the defect.
  • The release where the defect will be resolved.
  • List of products that are affected by the defect.

 

The Project, Component, Platform, Product information enables the precise identification of the location of the error. The term Project can be used to describe the application or the project organisation that is working on the application.

The product part is a physical link to a CMW product record.  If a defect affects multiple products then all of these can be linked to the defect record.  Creating this link allows one to identify the defects that affect a product as well as the products that affect a defect.

The phase information is used to identify when in the project life cycle the defect was found.  This can be used to distinguish defects that are raised during development, testing and live operations.  Tracking the phase when a defect is found provides valuable cost metrics; as a rule the later in the life cycle a defect is found the more cost is incurred in resolving it.

The release information can be used to group defects that will be resolved together in an agreed future release.  This identifier is the scheduled release rather than the release where the defect is found.

The assignee is the person who is assigned the responsibility for managing and resolving the defect.  The cmwforms defect management application will send a notification by e-mail when the assignee is changed.

The CMW Defect has the following additional tabs:

  • Comments. This allows different users to add comments and feedback to an existing defect.  Each comment is annotated with the author and date of comment.  Once a comment is entered it cannot be modified or deleted.
  • Attachments. This allows users to attach files and images to the defect record.  The defect description field is a rich text field and users can incorporate images into this field directly.  Attaching images to a record using the attachment feature rather than adding the image to the description field helps to minimise the impact of image size on performance; images that are attached to a defect will only be fetched from the CMW Server when the user opens the attachment whilst images added to the description are fetched when the record is opened.

Related records and rill-down

A cmwforms defect record can be related to other records.  This can be other defects or other types cmwforms records.

 

cmwforms shows the links on the parent and child record.  The parent record will show all child records in the Relates To tab.  The child record will show all the parent records in the Used By tab.

You can drill down from parent to child by opening the Relates To tab and opening the child record.

You can drill up from child to parent by opening the Used By tab and opening the parent record.

If you have multiple levels of relationships then you can drill down from the top parent to the lowest child and you can drill up from the lowest child to the top parent.

When creating a child record by relating it to an existing record then the child record Title will always contain a copy of the parent record Title.

Workflow and process support

The workflow for the defect process is as follows:

  • Raised
  • Assigned
  • Fixed
  • Closed
  • Held
  • Rejected

The workflow restricts transitions so that records must go through all states from Raised to Closed in the order shown above.

Records can be closed, held or rejected from any state. Closed records cannot be transitions out of this state at all.  Held and Rejected records can be returned to the main process workflow though they revert back to raised state.

The above process has been kept simple by design.  Unless you have an established process that you wish to automate, we suggest that you use the above simple process and then enhance it as and when needed. 

Changing the process workflow is a very simple action and can be performed when required and with no constraint.

Audit features

cmwforms will maintain an audit for changes to following fields:

  • All lookup fields
  • Assignee
  • Workflow
  • Text
  • Number
  • Date

Comment fields will always show all comment updates.

Links to other records, attachments and changes to rich text fields do not have an associated audit.

You can view all changes to a field by selecting the field and then entering CTRL A.  Alternatively you can view the full audit for all fields for a given record by running the Show record history command.

The audit will show the following information for each change:

  • Date change was made.
  • User who made the change.
  • The field that was changed.
  • The new value of the field.

Customising application

All aspects of the cmwforms Defect Management application can be modified without the need for any programming or database work. 

 

Also these changes can be made without the need to modify existing defect records.

This section contains a list of what can be changed.  For detailed instructions on how to make the changes, please consult the CMW documentation.

  • Modify field captions.  You can therefore modify the Severity caption to state Criticality.
  • Modify field order.
  • Add new fields or remove existing fields.
  • Modify the list of values for any of the lookup fields.  You can therefore modify the values that are displayed for Project, Component, Severity, Platform, Phase and Release.
  • Disable workflow.  You can do this by removing the CmwDefectStatus field from the form definition.
  • Replace the workflow with a simple list.  You can do this by disabling the workflow and adding a new field of type Lookup.
  • Modify the workflow.  All aspects of the workflow can be modified.  You can add/remove states, modify the transitions and also modify the actions.

You can make all the above changes on the fly, even if there are active users.

Active users have a cached copy of the application definition and they will continue to use this until they re-start cmwforms or switch workspaces.  Once the cached copy is updated they will automatically start to view and create records using the new application definition.

Most changes to an application are allowed and supported and you will be able to make these with relative ease and without having to worry about the impact on current stored information.

Changes that will impact current information will be automatically disabled. Following are examples of changes that you will not be allowed to do:

  • Change rich text field to normal text field.
  • Change rich text field to text field.
  • Change text or number fields to date.

If you delete a field from a form then the data associated with this field will not be deleted but will become invisible to users.  If you re-introduce the field then the information associated with the field will become visible again.

Modifying workflow

As mentioned earlier the process that this application supports has a very simple workflow.  This section lists the changes that can be made and any impact that these changes may have.

  • Adding new states.  No impact on existing data.

  • Modify transition action label.  No impact on existing data.

  • Modify existing transitions. No impact on existing data.

  • Add new transitions. No impact on existing data.

  • Rename a state.  Existing records that are at the renamed state will revert to the starting state in the process workflow.

  • Delete a state.  Existing records that are at the deleted state will revert to the starting state in the process workflow.

Common defect management challenges

Managing defects in real life environments provides a number of technical challenges that a good defect management application should be able to handle.

Following is a short list of common challenges and how they can be managed using the cmwforms Defect Management application.

Multiple Related Defects

There will be cases where several defects are raised and on further investigation it is identified that they are all symptoms of a single problem.  In the case one of the defects can be nominated as the master defect and the rest can be closed and marked as duplicates.

cmwforms Defect Management supports this as follows:

  1. Nominate one defect as the master and keep this at its current state.
  2. Open the master defect and open the Relates To tab.
  3. Add to this tab all the other defects that are related to the current defect.
  4. From this tab open each of the related defects and Close/Reject each.  Add a comment to each to state that they are duplicates.

Multiple actions to resolve a single defect

Some defects may require multiple actions to resolve.  These may need to be performed by different persons and in some cases these actions will be performed in parallel.

cmwforms can be used to manage this as follows:

  1. Open the defect for which several activities are needed
  2. Open the Relates to tab
  3. Use the new button to create new defects.  A defect for each of the separate tasks.  cmwforms will create a new defect and this will have the same tile as the master defect.
  4. Assign the defect to the correct person and set the state to Assigned.
  5. Save the new defect.
  6. Repeat the above for all actions.

Creating defects for each activity will affect the defect metrics by artificially increasing the number of real defects.  If this is not desirable then you can overcome this by creating and relating cmwforms Actions to the main defect rather than creating new child defects.  In this case you will end up with one master defect and this will be related to multiple actions, each of which is assigned to separate user.  The cmwforms Action Management application is a free application that is part of the Program Management Suite of applications.

Skipping through process steps

The cmwforms Defect Management application includes a process workflow and state transitions are enforced.  Users will not be able to transition from one state to another without going through all the intermediate states.

If you wish to maintain the workflow but move a record from one state to another with minimal overhead then you can open the record once and go through the transitions without the need to save, close and re-open the record.  This allows you to move from one state to another quickly.

If you do not wish to impose a strict process workflow then you can edit the Defect Management from definition and remove the workflow field and replace this with a simple lookup list.  Using a lookup list will allow you to capture and the state of the defect but without the need to enforce transitions.  Replacing the workflow field with a new lookup field will decouple the old status information from the new record, i.e. you will lose the status values that are associated with existing records.

Security and role based access control

cmwforms information for a given workspace will only be visible to users of that workspace.

The access rights that a user has will be determined by their role in the workspace.

  • Users with User role will be able to create, read and modify all information.
  • Users with Submitter role will only be able to create new information.
  • Users with Guest role will only be able to read information.

Existing information cannot be deleted by anyone regardless of their role.

General Usability features

The default cmwforms view will show all information that is assigned to the current user.  Users will therefore be able to start cmwforms, open a workspace and then see all records that are assigned to them for action.

cmwforms will send a notification by e-mail when records are assigned to users.  The user will be able to start cmwforms, Open the workspace and select the required record by clicking the cmwforms link on the e-mail message.

Users can easily find all records that they have created by selecting the required workspace and then setting the view scope to My records.

Users can view all information for a given workspace by setting the view scope to All Records

Users can filter data by creating filters.  These filters may include a single filter conditions, all records with status equal to raised for example.  Alternatively users can create a filter with two or more filter conditions.

Copyright CM Services Limited 2007.  All rights reserved.