Overview
The Software Development template supports a typical software development
process. Typical of this process is the bundling of numerous
bug fixes into a particular software release.
This model assumes the follow organizations are involved
in the defect tracking process:
Development
Responsible for performing development tasks
necessary to handle the request.
QA
Verifies that the request has been successfully implemented
by the Development organization.
Build
Places the updated files into the final product package.
Data Record
The data record contains the following fields. Note that
you can customize the database by adding to or removing
fields, or changing any pulldown menu values. Field names
with an asterisk are required by the system and cannot
be removed from the data record.
PRN* |
Numeric record identifier. Assigned
at the time the record is created. |
Title |
A one line text summary of the
issue being reported. Set at the time the record is created. |
Product* |
Identifies the product for which the record
has been reported. Set at the time the
record is created. |
Platform |
Describes the hardware or
software platform where the issue occurs. Examples
are the operating system (e.g. Windows 95), or
the CPU (e.g. Intel Compatible). Set at the time
the record is created. |
Reported In Version |
Version number of the product where
the issue occurs. Set at the time the record
is created. |
Request Type |
Classifies the record.
Possible values are: Bug, Contract
Requirement, Customer Feedback, Customer
Problem, Enhancement. Set at the time the record
is created. |
Severity |
Describes how serious the
problem is. Set at the time the record is
created. |
Description |
Full description of the
problem. Ideally describes the nature of the
problem and how to reproduce the behavior.
Set at the time the record is created. |
Reported By* |
Name of the user that
reported the problem. Initially set to the
name of the current user logged in. Set at
the time the record is created. |
Date Reported |
The date the record was
created. Automatically initialized, and set
at the time the record is created. |
Workaround |
Describes how to work
around the reported problem. Set at the time
the record is created. |
Status* |
Current state of the
record. Changes as the record is
processed through the workflow. |
Substatus |
Describes the
condition of the record in the current state.
Possible values are: None, In Progress. Optionally
set by each user while processing the record. |
Assigned To* |
User the record is currently
assigned to for processing. Set either manually
or automatically during processing of the
workflow. |
Estimated Size |
Used to enter an estimated
amount of time it will take for a developer
to fix the problem. |
Planned for Version |
Identifies the release number
of the product in which the fix for the issue
is planned to be included. |
Released in Version |
Identifies the release number
of the product that the fix for the issue
will be included in. |
Fix Date |
Date when the issue
was fixed. Set by Development when the problem is
fixed. Automatically initialized to the current
date/time. |
Fix Detail |
A Description of the action taken
by a developer to fix the problem. Set by Development
when the problem is fixed. |
Test Date |
Date when the fix
was tested. Set by QA when the fix for the problem is
tested. Automatically initialized to the current
date/time. |
Test Description |
A Description of the action taken
by a QA Engineer to test the fix. Set by QA
when the fix for the problem is tested. |
Priority |
Describes the relative importance
of handling this record compared to other records
entered in the system. |
Close Date |
Date when the record
was closed. Set by Process Manager when no development
work will be done for the record. Automatically initialized to the current
date/time. |
Close Detail |
A Description of the reason a record will
be closed. Set by Process Manager
when no development work will be done for the record. |
Defer Reason |
Describes the reason a record will
not be worked on until a later date. |
Duplicate Record # |
Lists the record number of another
previously-entered record in the database which describes the
same problem. |
Deleted* |
Denotes whether the record has been deleted. |
Workflow
It is assumed that records will be processed and moved through the workflow
process by using the Task operation. The workflow implemented by the Software
Development template is as follows:
- State 1 - Reported
When a record is created, it is set to the state
Reported and assigned to the Process Manager
(process_mgr). It is assumed that the Process Manager
is responsible
for looking at all incoming records and
deciding how to process each record from a list of
possible workflow paths. The Process Manager can choose one of the
following:
- Start the process for the record by selecting the transition called
Schedule. This transition will assign the record to the Development Manager
(dev_mgr) and place the record in the Scheduled state. The Process Manager
can also enter a Planned for Version and Priority for the record
when choosing this transition.
- Defer the processing of the record by selecting the transition called
Defer. This transition will place the record in the Deferred state and
assign it to the state manager of that state (process_mgr). The Process Manager
can review
deferred records at a later time and decide whether processing will
resume. The Process Manager must enter a Defer Reason and has the option
of entering a Planned for Version when choosing this transition.
- Close the record by selecting the transition called Close. This
transition will place the record in the Closed state and assign it to TBD
(no one - since this record will not be processed any further). The Process Manager
will be required to enter a date in the Close Date field and enter a reason
the record was closed in the Close Detail field.
- Mark the record as a duplicate of another record by selecting the
transition called Mark Duplicate. This transition will place the record
in the Duplicate State and assign it to TBD (no one - since this record
will not be processed any further). The Process Manager will be required to
enter the record number of the original record that describes the
same problem.
This is implemented by:
Workflow Properties
- Defining Reported as the Default Add
State when a record is added
- Assigning the process_mgr user as the manager for
the Reported and Deferred states
- Assigning dev_mgr as the manager for the Scheduled state
Transitions
- Defining transitions to move a record to the Scheduled and
Deferred states where the assignee is the State Manager
for each respective state.
- Defining transitions to move a record to the Closed and Mark
Duplicate states where the assignee is TBD for each transition.
Task Fields
- Configuring Planned for Version and Priority to be presented as optional
during the task operation for the transition to the Scheduled state.
- Configuring Defer Reason (required) and Planned for Version (optional) to be
presented during the task
operation for the transition to the Deferred state.
- Configuring Close Detail (required) and Close Date (read only and initialized)
to be presented
during the task operation for the transition to the Closed state.
- Configuring Duplicate Record # (required) to be presented during the task
operation for the transition to the Mark Duplicate state.
- State 2 - Scheduled
The Development Manager (dev_mgr) is assumed to be a manager
responsible for assigning tasks to the developers
for resolution.
The Development Manager uses the transition Assign to Developer to assign the
record to a member of the Developers user group.
This places the record in the In Development
state. The Development Manager can also decide to defer a
record by choosing the Defer transition, which will place the record
in the Deferred state and assign it to the Process Manager (process_mgr).
This is implemented by:
Transitions
- Defining a transition to move a record to the
In Development state with the assignee to be chosen
from a list of developers (User Group called "Developers")
- Defining a transition to move a record to the Deferred
state with the state manager as the assignee
Task Fields
- Configuring Defer Reason (required) and Planned for Version (optional)
to be presented during the
task operation for the transition to the Deferred state
- State 3 - In Development
The Developer (dev_one) assigned to the record
makes the changes necessary to address the problem and marks the
task complete by selecting the transition Mark Fixed. This transition
allows the
Developer to enter a description and date of the fix, advances
the state of the record to Fixed, and
assigns the record to the QA Manager (qa_mgr).
This is implemented by:
Workflow Properties
- Defining the qa_mgr as the manager for the Fixed
state
Transitions
- Defining a transition to move a record to the
Fixed state where the assignee is the State Manager
Task Fields
- Configuring the Fix Date (read only and initialized) and Fix Detail (required) to
be presented during the Task operation for the transition to the
Fixed state. The Description field has been configured as a read only task field
for the user to reference when selecting this transition.
- State 4 - Fixed
Once the record has entered the Fixed state,
the QA Manager (qa_mgr) assigns the record to the
QA Engineer (qa_one), a member of the QA user group, and advances the state
to In Test by selecting the transition Assign to QA Engineer.
This is implemented by:
Transitions
- Defining a transition to move a record to the
In Test state with the assignee to be chosen
from a list of QA Engineers (User Group called "QA")
- State 5 - In Test
The QA Engineer (qa_one) verifies that
the issue has been resolved, and
then uses the transition called Mark Tested to advance the
record to Tested and assigns the record
to the Build Manager (bld_mgr). If an issue
has not been resolved and needs to be returned to
Development, the QA Engineer can move the record back to the
In Development state using the transition Reject, which will assign
the record to the developer
who worked on the record. For each of these possible
paths, the QA Engineer enters information in the Test Date and
Test Description fields.
This is implemented by:
Workflow Properties
- Configuring bld_mgr to be the manager of the
Tested state
Transitions
- Defining a transition to move a record to the Tested
state where the assignee is the state manager
- Creating a transition to move a record to the
In Development state or <Previous State>
where the assignee is the
Last Assignee for the new state.
Task Fields
- Configuring Test Date (read only and initialized) and
Test Description (required) to be
presented during the Task operation for the transitions
to the In Development and Tested states. The Fix Detail field is
presented as a read only task field for the QA Engineer to
reference when selecting this transition.
- State 6 - Tested
The Build Manager (bld_mgr) user is assumed to be the user in charge
of packaging the product for release, and responsible
for ensuring that all the desired fixes are included
in the release. The Build Manager does what is necessary to
make sure that the fix for the record is included
in the release, enters the released in version for the record,
then advances the state of the
record to "Released" using the transition called Release.
This is implemented by:
Transitions
- Defining a transition to move the record to the Released
state where the assignee is TBD. TBD ("no one") is selected since the
release is the last step in the processing of the record.
Task Fields
- Configuring Released in Version (required) as a field to be presented
during the task operation for the
transition to the Released state. The Planned for Version field is presented
as a read only task field for the Build Manager to reference when choosing this
transition.
- State 7 - Released
This state indicates that processing of the record
is complete.
- State 8 - Closed
This state indicates that the record will not
be processed.
- State 9 - Deferred
This state indicates the decision on whether or not
to process the record has been deferred until a future
date. The Process Manager can update a record in this state
by using the transition called Update.
The Update transition will
keep the record in the Deferred state and assigned to the
state manager (process_mgr). The fields Defer Reason and
Priority are presented as optional
fields during the task operation. The Process Manager is
required to enter a history comment to describe what was
changed within the record when using the Update transition.
The Process Manager can decide to begin processing a
record by choosing the Schedule transition, which will place the
record in the Scheduled state and assign it to the State Manager
(dev_mgr).
The Process Manager
can set the Planned for Version and Priority fields when
choosing this transition.
This is implemented by:
Transitions
- Defining a transition called Update with Deferred set as the New
State,
"Same Assignee" selected as the New Assignee,
and history comment required
- Creating a transition to move the record to the Scheduled state
and assign it to the state manager
Task Fields
- Configuring Defer Reason and Priority to be presented
during the task operation for the transition to update a deferred record
- Configuring Planned for Version and Priority to be presented during the
task operation for the transition to the Scheduled state.
Sample Saved Charts
A set of sample saved charts are included in this template.
Click here
to see details of these sample metrics.
Email Notification
The Software Development template is set up to notify users as
follows:
On Add or Delete of a Record
The current assignee, the manager for
the current state, and the reporter of the record are notified
On Change of State to Released, Deferred, Duplicate or Closed
The user who reported the record is notified when a record is moved to
a state where processing is stopped
On Change of Assignment
Both the current assignee and the manager for
the current state of the record are notified
Security
The Software Development template assumes a very simple security
model reflecting a workgroup situation where all users are able
to see any record. This is implemented by setting
Enable Record Visibility option under General
Preferences in the Administration Task page to
No.
In addition, the privileges related to editing fields within the records have
been removed from users that are not managers or Admin.
With this configuration, users can rely on the Task operation to move records
through the workflow. This can be changed within the
User Administration section of the Admin page.