[comp.software-eng] Problem Tracking Systems

chris@ccsrd3.UUCP (Chris Andersen ("The Dangerous Guy")) (11/10/89)

We are currently looking into automating our Problem Tracking System and
could use any venerable wisdom that might be out there.  I know from past
experience that this can quickly blow up into a MAJOR project, even for
a small company, and I would like to hear what other peoples experiences
with this have been.

What is the best way to automate the process of bug/problem tracking
in a software project?  Across several projects?  What, in your experience,
are the benefits and pitfalls of this kind of automation?  Is there any
public domain software for doing this?  Any commercially available software?
If there is, which ones work the best?

Any suggestions would be mucho appreciated.

Thanks.
-- 
Chris Andersen (..!{sun,tektronix}!sequent!ccssrv!chris)
Home: (503) 620-4176	Work: (503) 641-8128
"Join the Danger Patrol!"

mcilree@mrsvr.UUCP (Robert McIlree) (11/10/89)

From article <810@ccsrd3.UUCP>, by chris@ccsrd3.UUCP (Chris Andersen ("The Dangerous Guy")):
> We are currently looking into automating our Problem Tracking System and
> could use any venerable wisdom that might be out there.  I know from past
> experience that this can quickly blow up into a MAJOR project, even for
> a small company, and I would like to hear what other peoples experiences
> with this have been.
> 
> What is the best way to automate the process of bug/problem tracking
> in a software project?  Across several projects?  What, in your experience,
> are the benefits and pitfalls of this kind of automation?  Is there any
> public domain software for doing this?  Any commercially available software?
> If there is, which ones work the best?
> 
> Any suggestions would be mucho appreciated.
> 
> Thanks.
> -- 
> Chris Andersen (..!{sun,tektronix}!sequent!ccssrv!chris)
> Home: (503) 620-4176	Work: (503) 641-8128
> "Join the Danger Patrol!"

The issue you describe depends greatly on the type of development
environment you have, and also on any development methodologies you
follow.

Some of the best approaches I've ever seen were the linking of
bug reports to some sort of deliverable/other response. The
deliverable satisfies the bug report insomuch as it works, if
it doesn't solve the problem described in the bug report, a new
one (and hence, another black mark at the person responsible :+))
is opened.

Linking of a problem description to a deliverable/response can be
automated. Most that I have seen and dealt with use SCCS as a base
to track and manipulate deltas of code and documents, with some
sort of user interface (usually command line) to shield users from
the more arcane nuances of SCCS, and also to keep logical links
from the overlaid software to SCCS sane and stable. I don't know if
any are commercially available; the ones I have used were home-brew
and UNIX-specific. But, given some time and resources, it's not
to difficult to build a basic shell over SCCS and customize it to
met the needs of your problem report format.

Pitfalls: You really must use such a system throughout the entire
lifecycle of a project. The value of such a system degrades if
it's only used for post-ship product problem tracking. Such a
system is valuable to QA people and developers alike during the
product development process as it lets you track deliverables
during the entire lifecycle: requirements, functional, and
architectural specs, designs docs., code, bug reports, and fixes.

The real pitfall is selling your developers on the idea. It creates
more work for them, and If I had a dollar for every developer I've
heard screaming and bitching about automated configuration management
systems and what a pain they are, I would be happily sunning myself
in Rio for the rest of my life. You need management backing to enforce
the system usage.

Benefits: With a robust tracking system, you can trace problem reports
to their source quickly, produce QA results and statistics for
management, allow developers to address problems in software in a
formal way (i.e. Problem report --> developer response --> test of
fix (if needed) --> Problem report satisfied and closed).

Sorry if this was a little general. If you could provide more
information on your development environment and how problems
are currently handled, perhaps we can get more specific. Hope
this helps a little.

Bob McIlree
...well!rmac    ...mrserver.UUCP!rassilon!mcilree

kcr@netxdev.DHL.COM (Ken Ritchie) (11/11/89)

In article <810@ccsrd3.UUCP> chris@ccssrv.UUCP (Chris Andersen) writes:
>We are currently looking into automating our Problem Tracking System...
>What is the best way to automate the process of bug/problem tracking...
>What... are the benefits and pitfalls of this kind of automation?  
>Is there any ...software...?  Any suggestions would be mucho appreciated.

I was once the data base administrator for a large, facilities management 
system for tracking problem reports, along with equipment moves, repairs,
user accounts, system configurations, etc.  We concluded that the design
(using realtional models) of the data base was generally the same for any
size operation -- only the volume of data and rate of transactions change.
So, yes, you will have some serious work to do even if it is a small shop.

If you are going to "roll your own" ... definitely go for a relational
model (get some expert assistance if you don't have somebody in house).
Then use software/system products which directly support your designs --
and provide good tools: i.e. screen/report generators and ad hoc (SQL)
query access, for the odd questions and "what if" decision support.
We used Britton Lee IDM's and VAXen, with Metaphor, Datapoint, Xerox WS's,
since our environment included over 500 users, on several bridged LAN's.
Software DBMS's like ORACLE, INFORMIX, or even MSDOS DBASE could do it.

Otherwise, you might consider a "turnkey" product.  Check DATAPRO reports.
I think there is one called "Falcon" (somehow I'm thinking of a bird...
hmmm... maybe it was "Turkey" or something else)... for UNIX or OS/VS/etc.


BENEFITS: You can follow up on every problem -- to be sure it gets resolved.
You can spot the trends, trouble spots, and see how the business is doing.
It's great for keeping records, and answering questions is a piece of cake.
I wouldn't want to run any substantial operation without something like it.

PITFALLS: You have to invest either the development or the acquisition, then
incrementally invest the time for data entry.  You will need a backup system
(paper tickets even) if your online tracking system is part of the trouble!
And... if you are tempted to use the data to "measure productivity/etc." of
your people... watch out for Heisenberg's Uncertainty Principle (physics)!!!
[Paraphrase: You can't measure something without disturbing it in some way!]
This will have the effect of corrupting (at least biasing) the data you see,
so that people are working toward the measurements, rather than impartially
keeping an audit trail of the business at hand.

SUMMARY: Actually, the benefits win out, just be sure you know WHY you want
to do WHAT ever it is you do -- so you'll get what you really WANT from it.

I hope this insight helps.  The tools are the easy part.  Best Regards!

P.S: If you were wondering, I've been doing development work over 20 years.
There have been some support stints along the way.  I'm CDP (1976) and CCP/S.
_______________________________________________________________________________

Ken Ritchie (aka KCR)			Usenet:	...!uunet!netxcom!netxdev!kcr
NetExpress Communications, Inc.		
1953 Gallows Rd, Suite 300		FAX:	USA (703) 749-2375
Vienna, Virginia (USA) 22182		Voice:	USA (703) 749-2268

"Imagination is more important than knowledge." -- Albert Einstein
_______________________________________________________________________________

jmi@devsim.mdcbbs.com ((JM Ivler) MDC - Douglas Aircraft Co. Long Beach, CA.) (11/15/89)

In article <810@ccsrd3.UUCP> chris@ccssrv.UUCP (Chris Andersen) writes:
>We are currently looking into automating our Problem Tracking System...
>What is the best way to automate the process of bug/problem tracking...
>What... are the benefits and pitfalls of this kind of automation?  
>Is there any ...software...?  Any suggestions would be mucho appreciated.

Well...

Here at DAC I am the project leader for an automated lyfecycle system. It
includes software configuration management, status accounting, automatted
problem reporting and tracking and a developers shell that integrates the
entire system. 

I would "type in the specs" but that would take about a day and a half :-).
Instead I will provide and overview of the area you seem interested in.

The problem reporting and tracking system associates problem reports from
anyone to a specific product that has been developed. This is done online and
the information required is entered by the users with a mail message generated
to the product leader of the product being reported on. The original problem,
text is stored in a text library and the non-text information is stored in a
ISAM file for that product.

The product leader has 30 days to respond to the initial problem report. There
are three types of responses available. They are: Problem closed, Problem
suspended, and PAI generated. In all cases an analysis must be perfored and
that analysis is then placed in a text library with the appropriate entries
made in the ISAM database. If the product leader doesn't respond in 30 days a
PAI is automaticly generated.

A PAI is a "Problem Action Item" and these items must be presented to the
Configuration Control Board (CCB) for review. This generates a need to respond
top the problem within the 30 day period since no product leader wants to go
before the CCB on a PAI that was not analyzed. The CCB then establishes a
person responsible for closing the item and the item is automatically passed
off to that person (usually the product leader) with a return/completion date
associated to it. 

The database is updated and the person responsible is sent a mail message that
advises them of the assignment. This person can then reassign the PAI to a
developer with an associated return date for the problem to be fixed. The
developer then gets a copy of the PAI by mail.

The developer then accesses a CMS library and reserves code from it. The code
is taged with the PAI number for the problem being fixed. Once the fix is
completed the developer replaces the code in the library and craetes a
"elements-modified" file that lists all the elements modified and places them
in a text library with the associated pointers being added to the database. The
developer is also responsible for documenting the fixs made in a text file and
that file will be placed in a text library and the database will be updated.
The PAI then is closed out and sent back up the tree. The product leader then
can reopen the PAI or agree that it is closed after he has reviewed the
solution and the files changed text files. If it is closed he will refer it
back to the CCB as a completed item.

If the developer has not closed the PAI 5 workdays before it is due to the
product leader, he will be sent a reminder message via the mail facility. He
will also recieve one of these 2 workdays prior to the closure date. On the
closure date, if the PAI is not sent up the tree a mail message is sent to the
product leader advising that the PAI is past due. A copy of that message is 
also mailed to the developer.

Once the CCB has all the fixs that are due to go into the next release they
advise the Product Configuarion Managers (PCMs) to create the release and tell
them what PAIs are included in the release. The PCM then uses tools that
permit them to pull of the elements-modified from the text library and use that
to create the releases.

As you can see, this is a totally integrated product. After checking for both
freeware and purchasable software to meet our users needs, we were unable to
find any product that met the stated requirements and are currently writing our
own. Once completed, some form of this should show up on the DECUS SIG tapes.

This product is designed to run on a VAX, it uses 5.0 runtime library calls to
SMG (the screen manger) and system services. It uses no "databases" in order to
be generic enough to run on any standard VAX under VMS.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| J.M. Ivler at Douglas Aircraft in Long Beach, CA  - VOICE: (213) 496-8727 |
| INTERNET:  jmi@devsim.mdcbbs.com  | UUCP:  uunet!mdcbbs!devsim.mdcbbs!jmi |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

warren@psueea.uucp (Warren Harrison) (11/17/89)

I ran into a dBASE bug tracking system called "TRAKERR" by a company
called Software Engineering Tools. It looks like a pretty good system
for the money. They can be reached at 408/725-1866 (Cupertino, CA).
I heard they were looking into doing a similar system for UNIX, but
I don't know if it ever panned out. 

Warren Harrison                CSNET: warren@cs.pdx.edu
Department of Computer Science UUCP:  {ucbvax,decvax}!tektronix!psueea!warren
Portland State University      Internet: warren%cs.pdx.edu@relay.cs.net
Portland, OR 97207-0751