|Establishing a software quality
assurance program within a company can be a challenging task, and one of the hardest
programs to implement is the use of CASE tools. There are many factors contributing to
this difficulty, the most formidal one being expense.
The expenses include:
- The cost of the CASE tool.
- The time spent selecting the CASE tool.
- Training engineers to use the CASE tool.
- Training engineers on the methodology used by the CASE tool.
- More time spent during specification and design stages of developement.
The cost involved can be tens of thousands of dollars even for a moderately sized
company or project. Because the expense is so great (as are the benefits), implementing
CASE requires the full support of management. Unfortunately within every group there will
be a few who will resist change -- and CASE means change. When expense teams up with
political problems management oftens backs away from implementing CASE. If anyone is going
to implement CASE within their company they will need hard evidence that CASE is needed to
reduce the cost of software development. In other words, management needs to know how much
is costs to fix bugs (many of which could have been prevented by CASE) during the
development and maintenence of a software product.
One way to get this information is to use a bug tracking system which keeps track of
bugs and how much it costs too fix them. Bug tracking is generally easier to implement
within a company than CASE because it requires little training and little change to an
existing developement process. In addition it make people feel good: testers get points
for finding bugs, developers get points for fixing them (especially the difficult ones),
and management get points for being able to more accurately estimate the time required to
complete development projects.
In conclusion, by implementing bug tracking you will improve the quality of your
software painlessly and lay the ground work for more comprehensive programs such as CASE.
Software quality assurance programs must be implemented in the proper order: first
configuration and revision control, then bug tracking, then CASE.