Managing Defects using cmwforms
Purpose
A software solution to manage and administer project related defects.
This solution can be used to perform the following:
-
Software bug management
-
Test defect management
-
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:
-
Nominate one defect as the
master and keep this at its current state.
-
Open the master defect and
open the Relates To tab.
-
Add to this tab all the
other defects that are related to the current defect.
-
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:
-
Open the defect for which
several activities are needed
-
Open the Relates to tab
-
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.
-
Assign the defect to the
correct person and set the state to Assigned.
-
Save the new defect.
-
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.
|