Information Technology Reference
In-Depth Information
Solution
In seeking to reduce the time between the introduction of a design
defect and its resolution, we began generating diagrams of the design
using the CI system. We ran an automated code documentation tool,
called Doxygen, as part of the CI system. Doxygen documents the
source code and creates UML diagrams that model the software.
Because it was running as a part of the CI system, it was always up to
date, based on the software that was most recently checked into the
version control repository.
Although we could have created this with the CI system, we also
chose to create a simple one- or two-page architecture document that
described the software architecture, identifying the key components
and interface for new developers.
Risk: Low-Quality Software
There are defects and then there are potential defects. You can have
potential defects when your software is not well designed, is not fol-
lowing the project standards, or is complex to maintain. Sometimes
people refer to this as code or design smells—“a symptom that some-
thing may be wrong.” 1 Some believe that lower-quality software is
solely a deferred project cost (after delivery). It can be a deferred
project cost, but it also leads to many other problems before you
deliver the software to users. Overly complex code, code that does not
follow the architecture, and duplicated code all usually lead to defects
in the software. Finding these code and design smells before they man-
ifest into defects can save much time and money and can lead to
higher-quality software. We examine a few such scenarios in this section.
On one project, we had no idea how maintainable our software was
unless we manually reviewed all of the source code every day. We
were unable to identify quality trends in the software under develop-
ment. Many project members were feeling like they “didn't have time”
to fix the internal qualities of the software and didn't know where to
1. From http://en.wikipedia.org/wiki/Code_smell.
 
Search WWH ::




Custom Search