You are on page 1of 13

Software Engineering Documentation

Priorities:
An Industrial Study

Andrew Forward Timothy C. Lethbridge


University of Ottawa University of Ottawa
800 King Edward 800 King Edward
Ottawa, Ontario, Canada K1N 6N5 Ottawa, Ontario, Canada K1N 6N5
+ 1 613 255 3492 + 1 613 562 5800 x 6685
aforward@site.uottawa.ca tcl@site.uottawa.ca

ABSTRACT 1. INTRODUCTION
This paper highlights the results of a survey This paper presents the results of a survey
of software professionals. The survey was of professionals in the software industry.
conducted in the spring of 2002. The The survey was conducted in April and
results are compiled from 50 individuals in May of 2002. This survey was constructed
the software field ranging from junior to uncover:
developers to managers and project leaders.
One of the goals of this survey was to • The current industrial application of
uncover how software documentation is software documentation
used in industry and the extent to which,
and under what circumstances, documenta- • How documentation attributes and
tion can be effective. The data suggest artifacts influence its usefulness and
somewhat conflicting views of the impor- relevance to the software team
tance of documentation maintenance. In
By software documentation, we are referring
particular, participants responded that not-
to any artifact whose purpose is to commu-
so-up-to-date documents could still be an
nicate information about the software
effective resource. Conversely, the extent
system to which it belongs.
to which a document is up-to-date was
selected as one of the most important Common examples of such documentation
factors in determining its effectiveness. include requirement, specification, architec-
The results suggest that the software tural, and detailed design documents.
industry and academia may overemphasize These documents are geared to individuals
the importance of document maintenance involved in the production of that software.
relative to a software professional’s toler- Such individuals include managers, project
ance of out-dated content. leaders, developers and customers.
Documentation attributes describe informa-
tion about a document beyond the content
Keywords provided within. Example attributes include
Software documentation, software engineer- the document’s writing style, grammar,
ing, software maintenance, program com- extent to which it is up to date, type,
prehension, documentation relevance. format, visibility, etc. Documentation
artifacts consist of whole documents, or
elements within a document such as tables,
examples, diagrams, etc. An artifact is an

1
entity that communicates information about a feedback mechanism for the questions
the software system. themselves.
The April survey featured fewer and more
concise questions with an improved sam-
1.1 Motivation pling approach. All participants had at
least one year of experience in the software
During our interactions with software
industry; several had over ten years experi-
professionals and managers, it was observed
ence.
that some large-scale software projects had
an abundance of documentation. Unfortu- A summary of the data used in this report
nately, little was known about the organiza- is available on-line [3]. Individual re-
tion, maintenance and relevance of these sponses and identifying information have
documents. been withheld to protect confidentiality.
The University of Ottawa’s Human Sub-
A second observation was that several small
jects Research Ethics Committee approved
to medium-scale software projects had little
the conducting of the survey.
to no software documentation. Individuals
in these groups said they believed in the
importance of documentation, but timing
and other constraints left few resources to 1.3 Importance
document their work. The survey results presented in this paper
The primary questions arising from the are important for various reasons and to
above interactions are: several audiences:
• How is software documentation used • Software engineers, managers and
in a project? project leaders will learn about how
others perceive documentation. Com-
• How does that set of documents bined with personal experiences this
favorably contribute to the software information can help improve docu-
project (such as improving program mentation in general.
comprehension)?
• Software decision makers can use the
One of the large-scale projects was seeking data to justify modifications to estab-
answers about organizing and maintaining lished processes [10] for maintaining
document information. Meanwhile, the and approving documentation.
smaller projects were looking for the
benefits of documentation from both a • Individuals interested in documenta-
value-added and a maintenance perspective. tion technologies can use the data to
design tools that support the docu-
In search of answers, a systematic survey mentation process.
was performed to question the thoughts of
software practitioners and managers. Our
approach is to build theories based on 1.4 Outline
empirical data as opposed to mere intuition
and common sense. The remainder of this paper is organized as
follows:
1.2 History
• Section 2 describes the method under
This paper covers the second survey on this
which the survey was conducted and
topic. The first survey was conducted in
the way in which we categorized par-
the winter of 2002 and served as a pilot
ticipants based on their responses.
study. The winter survey participants were
sampled from a fourth year software engi- • Section 3 highlights several interest-
neering course offered at the University of ing (and potentially controversial)
Ottawa. Although most participants did findings from the gathered data.
have some experience in the software
industry, this survey was used primarily as

2
• Section 4 summarizes the participants’ There were a total of 80 responses to the
demographics based on professional survey. Of these, 50 surveys were complete
experience in the software industry. and contained valid data.
The participants were categorized in several
2. SURVEY METHOD ways based on software process, employ-
2.1 Question Topics ment duties and development process as
outlined below.
The survey consisted of 50 questions of
various types including multiple-choice, We divided the participants into two groups
short answer, ratings, and free-form ques- based on the individual’s software process
tions. as follows:
The question topics included … • Agile. Individuals that somewhat (4)
to strongly (5) agree that they practice
• The role of software team members in (or are trying to practice) agile software
the process of writing, maintaining development techniques, according to
and verifying different types of docu- question 29 of the survey.
mentation.
• Conventional. Individuals that some-
• The participant’s personal use and what (2) to strongly (1) disagree that
preference for different types of docu- they practice agile techniques, or indi-
mentation, as well as opinions con- cated that they did not know about the
cerning the effectiveness of these. techniques by marking ‘n/a’ for not
• The ability of a document’s attributes, applicable.
as opposed to its content, to promote In addition, we divided the participants
(or hinder) effective communication. based on current employment duties as
• The state of software documentation in follows:
the participant’s organization. • Manager. Individuals that selected
• Comparison of past projects to current manager as one of their current job
ones. functions, according to question 44 of
the survey.
• The effectiveness of documentation
tools and technologies. • Developers. Individuals that are non-
managers and selected either senior or
• Demographics of the participants. junior developer as one of their current
job functions, according to question
44 of the survey.
2.2 Participants Finally, we divided the participants based
Participants were solicited in three main on management’s recommended develop-
ways. The members of the research team ment process as follows:
approached:
• Waterfall. Individuals in the waterfall
• Management and human resource group selected waterfall as the recom-
individuals of several high-tech com- mended development process, accord-
panies. They were asked to approach ing to question 46.
employees and colleagues to partici-
pate. • Iterative. Individuals in the iterative
group are non-waterfall participants
• Peers in the software industry. that selected either iterative or incre-
• Members of software e-mail lists. mental as the recommended develop-
They were sent a generic invitation to ment process, according to question
participate in the survey. 46.

Most participants completed the survey


using the Internet [3]. A few replied
directly via email.

3
3. SURVEY RESULTS quality documents. This result sug-
gests the documents are maintained,
3.1 Documentation Duties verified and validated by various indi-
In this section, we discuss who has the viduals, or perhaps by no one at all.
responsibility of maintaining as well as • Technical writers are rarely employed
validating documentation according to to maintain any of these types of
questions 2 and 3 of the survey. documents. This finding questions
Question 2 asked, ideas in [9] that software engineers
should not be involved in documenta-
In your experience, who has the prime tion.
RESPONSIBILITY to CREATE and
MAINTAIN the following types of Table 1 and Table 2 illustrate the results of
software documentation? question 2 and 3 based on the categories as
outlined in 2.2. Only the findings with at
The participant then selected one answer least 50% support of one individual type
from the following list are listed below. The color scheme that
Customer(s) / Client(s), Manager / identifies the degree of support is as fol-
Project Leader, Software Architects / lows:
Sr. Developers, Jr. Developers, Tech- • Bold items had 75% or more sup-
nical Writers, or not applicable port
Question 3 asked, • Italics items had 60% to 74% sup-
port
In your experience, who has the prime
RESPONSIBILITY to VERIFY and • Normal items had 50% to 59%
VALIDATE the information in the fol- support
lowing types of software documenta-
tion? Table 1: Who should maintain docu-
The participant selected one answer from ments?
the same list as described in question 2. Participant
Category Req’t Specs DD LLD Arch QA
The results from both questions are summa-
rized as follows: Sr. Sr.
All -- -- Dev -- Dev --
• Requirements are mostly maintained
by managers (37%) or clients (33%). Sr. Sr.
Agile -- -- Dev -- Dev --
Clients (52%) and managers (33%) are
most likely responsible to verify and Sr. Sr. Sr. Jr.
validate these documents. Conventional-- Dev Dev -- Dev Dev

• Senior developers (48%) and managers Sr. Sr. Sr.


Manager Mngr Mngr Dev Dev Dev Mngr
(33%) are likely to maintain specifica-
tion documents. These documents are Sr. Sr. Jr. Sr.
Developer -- Dev Dev Dev Dev --
mostly likely verified and validated by
managers (37%) or clients (33%). Sr. Sr.
Waterfall -- -- Dev -- Dev --
• Design documents (architectural,
detailed and low-level) are mostly Sr. Sr.
Iterative Mngr -- Dev -- Dev --
maintained, verified and validated by
senior developers, although junior de-
velopers are equally likely to have the
same responsibility to maintain, verify Several interesting results include:
and validate low-level documentation. • Managers provided the most consis-
• A considerable percentage of partici- tent results. In general, these indi-
pants selected ‘not applicable’ when viduals identified themselves having
asked to categorize who maintains the most responsibility regarding the
(23%) or validates (20%) testing and documentation process.

4
• Managers thought they should validate Table 3: Document attributes and
requirements whereas developers be- effectiveness
lieved clients should do it.
Document Attrib- Mean Std. % Rate % Rate
• Requirements (req’t) and specification ute of Q9 dev. 5 1 or 2
(specs) documents are usually main- Content 4.85 1.57 85 0
tained by different people from those
who verify and validate them. Up-to-date 4.35 0.89 46 0
Availability 4.19 0.79 41 4

Table 2: Who should validate docu- Use of examples 4.19 0.85 37 4


ments? Organization 3.85 0.64 30 4
Participant Type 3.78 0.63 26 11
Category Req’t Specs DD LLD Arch QA
Use of diagrams 3.44 0.60 15 22
Sr.
All Clients -- -- -- Dev -- Navigation 3.26 0.44 19 33
Sr. Structure 3.26 0.60 11 22
Agile Clients -- -- -- Dev --
Writing Style 3.26 0.67 7 19
Sr. Sr.
Conventional-- -- Dev -- Dev -- Length 3.15 0.64 7 22
Manager Mngr Mngr -- -- -- Mngr Spelling and
grammar 2.93 0.85 0 22
Sr. Sr. Sr.
Developer Clients Clients Dev Dev Dev -- Author 2.63 0.41 7 48
Sr. Jr. Sr. Influence to use it2.62 0.48 12 50
Waterfall Clients -- Dev Dev Dev --
Format 2.42 0.58 0 54
Sr. Sr. Sr.
Iterative -- -- Dev Dev Dev --

Interesting observations from this data


include:
3.2 Relevant document attributes
• Content is the most important factor.
This section discusses how certain attrib-
All document tasks (creation, mainte-
utes contribute to a document’s effective-
nance, verification, validation) should
ness.
always keep the target audience in
Question 9 asked the participants mind. Effective content is the key to
effective documentation.
How important is each of the follow-
ing items in helping to create effective • Extent to which a document is up-to-
software documentation. date is the second most important fac-
tor. Although seemingly intuitive and
Table 3 lists all attributes from question 9 accepted [[1], [4], [6], [7], [11]], the
and highlights the following metrics. following sections will provide a dif-
• The attribute’s mean and standard ferent interpretation of this result.
deviation • A document’s format (.pdf, .doc,
• The percentage of participants rating .html), its author, influence from
the attribute 5 (the most important fac- management to use it and the quality
tors) of spelling and grammar have low cor-
• The percentage of participants rating relation with the document’s effective-
the attribute 1 or 2 (the least important ness.
factors)

5
• The style of writing does not have score as well as the textual meaning of the
much impact on effectiveness. This score.
result supports the argument that read- Table 4: How often is documentation
ability formulas are not an effective updated?
metric to determine the usefulness of
document [8].
Document Type Mode % of Mode In Words
Relating to documentation engineering in
the large, documentation technologies Requirements 2 52 Rarely
should strive to facilitate the above quali-
ties that promote a document’s usefulness. Specifications 2 46 Rarely
In particular, technologies should:
• Focus on content. Allow the author Detailed Design 2 42 Rarely
to easily create and maintain content Low Level
rich documents. This should be the Design 2 50 Rarely
primary intent of most documentation
technologies. Architectural 2 40 Rarely

• Focus on availability. Allow for


larger-scale publishing capabilities to Testing / Quality
Documents 5 41 Within days
assure the most up-to-date documents
are readily available and easily located.
• Focus on examples. Allow for better Based on the participant categorization (see
features to support examples and their 2.2), several statistically relevant differences
integration within a document. occur between agile and conventional
participants, as well as those grouped as
iterative and waterfall.
3.3 Documentation Mainte- Table 5 summarizes the differences between
nance? agile and conventional individuals with
This section illustrates the extent to which respect to document maintenance, and Table
documentation is maintained. This informa- 6 between iterative and waterfall individu-
tion will later be compared to the documen- als.
tation that is most frequently used, and In general, most agile and iterative partici-
under what circumstances. pants believe documentation is at best
Question 4 asked, updated within a few months of changes to
the system. Conversely, conventional and
In your experience, when changes are waterfall participants believed documents
made to a software system, how long were maintained within a few months to
does it take for the supporting docu- within a few weeks of system changes.
mentation to be updated to reflect
such changes?
The participants answered this question for
the following types of documents
Requirements, Specifications, Detailed
Design, Low Level Design, Architec-
tural, Testing / Quality Documents
The participants selected from fixed values
ranging between ‘updates are never made’
(score of 1) and ‘updates are made within a
few days of the changes’ (score of 5).
Table 4 illustrates the preferred (mode)
score, the percentage of responses of that

6
Table 5: Documentation Update Time Question 20 asked to what degree to you
(Agile vs. Conventional) agree with
Document Type Agile Conventional Documentation is always outdated
relative to the current state of a soft-
MeanSt. Dev Mean St. Dev ware system.
The answers ranged from strongly disagree
Requirements 2.76 1.30 2.75 1.16 (a score of 1) to strongly agree (a score of
5).
Specifications 3.07 1.16 3.25 1.16 Many participants (43%) somewhat agreed
Detailed with that statement, but a considerable
Design* 2.60 1.06 3.88 1.25 number (25%) strongly agreed. In particu-
lar, the agile participants were statistically
Low Level
Design 2.93 1.33 3.57 1.13 more likely to agree with this statement
(mean of 3.83 with standard deviation of
Architectural* 2.81 1.05 3.75 1.16 1.20) compared to the conventional partici-
pants (mean of 3.08 with standard deviation
of 1.29). There is also suggestive, but not
Testing / Quality statistically significant, evidence that
Documents* 3.31 1.38 4.25 0.89
iterative participants are more likely to
* Statistically significant differences between agree with question 20 then waterfall
the means with 95% confidence participants. These results affirm the
conclusion from question 6 that iterative
and agile participants are less likely to
update documentation. As well, the above
Table 6: Documentation Update Time data support the data from question 6
(Iterative Vs. Waterfall) stating that documentation is rarely up-
dated.
Document Type Iterative Waterfall
The evidence that agile and iterative indi-
MeanSt. Dev Mean St. Dev viduals work in projects where documenta-
tion is less frequently updated and almost
always outdated does not imply that these
Requirements* 2.00 1.10 3.25 1.28 projects are of lower quality or that proper
software engineering practices are not in
Specifications 3.00 1.15 3.63 1.19 place. In fact, very low correlation may
exist between documentation maintenance
Detailed
Design** 2.20 1.30 3.50 1.60 and project quality. This proposition will
become clearer in the following sections.
Low Level
Design** 2.25 1.26 3.83 1.47

Architectural* 2.17 0.75 3.38 1.30 3.4 Documentation Usage


This section highlights which types of
Testing / Quality documents are most used and by whom.
Documents 3.50 1.29 3.86 1.21
Question 6 asked,
* Statistically significant differences between
In your experience, how often do you
the means with 95% confidence (** 90%
confidence) consult the available software docu-
mentation when working on that soft-
ware system? Rate between one (1) as
NEVER and five (5) as ALWAYS.
In general and as expected, the results were
diverse varying from never to always.
Overall, the most popular document was

7
the specification document, whereas quality gave this question a score of 5 (the partici-
and low-level documents were the least pant strongly agrees with the statement).
consulted (mean of 2.96, st. dev 1.31).
Table 8: Can out-dated documentation
Table 7 lists the most used documents be useful?
based on the categories outlined in Section Participant Mean of
2.2. Category Q21 SD % Rating 5

All 4.0 0.98 28


Table 7: Most Used Documents Waterfall* 4.1 0.75 38
Participant Mean St Dev Most Used Iterative* 3.5 0.44 15
Category Document Type
Agile 3.9 0.74 28
All 3.85 1.29 Specifications
Conventional 4.1 0.87 29
Waterfall 3.88 1.13 Testing / QA
Manager* 3.3 0.76 8
Iterative 4.50 1.00 Specifications
Developer* 4.1 0.67 35
Agile 3.47 1.30 Specifications
* Statistically significant differences between
the means of a pair of participant categories
Conventional 4.38 1.19 Specifications with 95% confidence
Manager* 3.60 1.67 Requirements
There is overwhelming agreement that out-
Developer* 4.33 1.12 Architectural dated documentation is still quite useful.
In all but two categories, the mean was at
* Statistically significant difference between
means of a pair of participant categories with or above 4.0 (the participant somewhat
95% confidence agrees with the question statement). This
observation questions both common
intuition as well as past statements that
Most categories referenced specification documentation is practically useless unless
documents most often, even though these
accurate and kept up to date [[1], [4], [7]].
documents are rarely updated as shown in
Section 3.3. The conflict might be the assumed associa-
Although one would not argue that up-to- tion between being up to date and correct-
date documents are preferred, is it a re- ness, and inversely not-so-up-to-date with
quirement for useful and relevant documen- incorrect. Some sources argue that being
tation? out-dated implies the information is incor-
rect and thus not reliable. This unreliabil-
ity then affects the document’s credibility
and hence its effectiveness [7].
3.5 The Up-to-date Double Stan-
The above reasoning is based on the notion
dard that documentation must present facts, but
This section discusses the importance of some argue its purpose is to convey infor-
keeping software documentation up to date. mation [2]. The source code presents the
Two similar questions were posed in the facts and the supporting documents facili-
survey with seemingly contradicting tate higher-level interpretation of those
results. facts. A document that instills knowledge
Question 21 of the survey asked partici- in its audience can then be deemed effec-
pants to rate to what degree they agree that tive, somewhat regardless of its age and the
extent to which it is up-to-date [2].
Software documentation can be useful
even through it might not always be The above data in support of useful out-
the most up to date (relative the sys- dated documentation might convince some
tem it documents). that the extent to which a document is up-
to-date is not that important of a factor to
Table 8 outlines the mean, standard devia- create effective documentation. The survey
tion and the percentage of participants who

8
data illustrated a somewhat different per- dated in favor of several important activi-
spective. ties; including software construction.
One the factors listed in question 9 (see
Section 3.2: Relevant document attributes)
was: 3.6 Documentation in action
This section describes how the participants
Extent to which it is up-to-date
use and perceive documentation in practice.
Table 9 outlines the mean, standard devia- The survey questions relate to personal
tion and the percentage of participants who exposure to software documentation.
rated this item 5 (the item is one of the
In questions 14 to 17, as well as 34 the
most important factors to determine a
participants were asked to rate to what
documents importance).
extent they agreed or disagreed with various
statements. Ratings were scored as fol-
lows: strongly disagree (1), somewhat
Table 9: The importance of up-to-date disagree (2), indifferent (3), somewhat agree
documents (4), and strongly agree (5).
Participant Mean of
Category Q21 SD % Rating 5 Question 14 states
All 4.3 0.89 46 Software documentation is important,
but in my organization it is unfortu-
Waterfall 4.4 1.25 50 nately not that useful.
Iterative 4.5 3.33 50
Question 15 states
Agile 4.3 0.73 44
Software documentation that I refer-
Conventional 4.3 1.45 43 ence is easy to understand, navigate
Manager 4.0 2.23 20 and cross-reference.
Developer 4.4 1.14 56 Question 16 states
The language / style of writing in
software documentation I reference is
The data above illustrates the perceived brief and to the point.
correlation between a document’s mainte-
nance and effectiveness. Alone this result Question 17 states
is intuitive, but in combination with the When I am working on a software sys-
previous results, we present a slightly tem and require assistance, it is easy
different interpretation. to locate the appropriate supporting
Many participants responded that out-dated documentation.
documentation could be useful. At the same Question 34 states
time, many individuals rated the extent to
which a document is up to date crucial to Software documentation (i.e. the col-
determine its usefulness. lection of documents describing a par-
ticular system) that I reference is
This disagreement may influence individu- poorly organized and difficult to
als to over-estimate the importance of the navigate primarily due to the size and
up-datedness of a document relative to number of the documents available.
several other factors including content,
availability and use of examples. Although, In general and as expected, the results
we can conclude that while it would be very provide no overall agreement or disagree-
nice if our documents were up to date, we ment with the above statements.
should not necessarily disregard them or
However, Table 10 compares the results of
throw them away if they are not up to date.
the above questions between agile and
Nor should we attempt to consistently and
conventional participants.
regularly assure that all documents are up-

9
Table 10: Perception of Documentation (1) for much LOWER quality and five
(Agile Vs. Conventional) (5) much HIGHER quality.
Question Agile Conventional Participants made comparisons to software
quality based on the following criteria
Mean St. Dev Mean St. Dev
• # Defects per line of code.
Q14 2.35 1.40 2.41 1.54 • Team members' pride in project
• Manager's satisfaction with progress
Q15** 3.56 1.19 3.06 1.39
• Customer Satisfaction
Q16* 3.56 1.04 2.94 1.03
• Project delivery on time
Q17 2.80 1.12 2.82 1.13 • Project delivery on budget
Q34** 2.88 1.19 3.41 1.33
Table 11: Software Project Success
* Statistically significant differences between
Metrics
the means with 95% confidence (** 90%
confidence) Quality Metrics Mean St. % Rate
Dev 4 or 5
The data above suggests that agile partici- Decreased de-
pants are statistically more likely to: fects 3.30 1.06 50
• Agree that the documentation they Increased pride 3.28 0.98 42
reference is easier to understand, navi- Increased man-
gate and cross-reference. ager Satisfaction 3.16 0.90 29
• Agree that documentation is brief and Increased cus-
to the point. tomer satisfaction 3.59 0.85 57
• Disagree that the collection of docu- Projects On time 3.39 1.12 46
mentation is poorly organized and dif-
Projects On
ficult to navigate due to the size and budget 3.26 1.10 46
number of available documents.
Despite the fact that documentation is rarely
updated (see Section 3.3), agile participants Most participants cited improvements to
felt that the documentation they reference software quality based on decreased defects,
was brief and to the point, more so than increased customer satisfaction as well as
conventional participants. Also, a consid- improved project delivery (both with
erable number of agile participants strongly respect to time and budget).
agree (39%) and somewhat agree (22%) that The belief that software project quality is
the documentation in their projects is improving despite the fact that documents
useful. These results support the claim that are rarely maintained (see Section 3.3)
documentation need not necessarily be up supports the claim of low correlation
to date for it to be useful and relevant. between successful projects and the extent
to which documentation is maintained. If
one believes that useful documentation is
3.7 Software project quality an important factor to achieve project
This section highlights the participants’ quality then we can again demonstrate the
comparison of current software project low correlation between a document’s
quality relative to past projects. usefulness and the extent to which it is up-
to-date.
Question 39 asked,
Relative to past projects, please com-
pare the quality of the software of
your current project. Rate between one

10
agile techniques helps explain this high
percentage. In the context of our research,
3.8 Project Size Independence individuals were asked if they practice agile
This section provides evidence that the techniques, which does not necessarily
conclusions drawn in previous sections are imply the project itself is agile. As such, it
independent from the project size (based in is not unfounded to have such a large
thousands of lines of code, KLOCs). portion of agile techniques applied to large
projects.
Question 41 asked,
The data from question 41 suggests low
What is the size of your current (or correlation between the project size and the
recently completed) project in KLOCS. participant categories as outlined in Section
The participant then selected one answer 2.2. As such, the results in other sections
from the following list: should hold regardless of project size.
< 1 KLOC (KLOC = 1000 lines of
code),
between 1 and 5 KLOCS, 4. DEMOGRAPHICS
between 5 – 20 KLOCS, In this section, we will describe the partici-
between 20 – 50 KLOCS, pants’ demographics. The divisions
separate individuals based on software
between 50 – 100 KLOCS,
experience, current project size and software
over 100 KLOCS, duties. The purpose of this section is to
or N/A. show that the survey was broad-based, and
therefore more likely to be valid.
Table 12 illustrates the project size distribu-
tion for all categories outlined in Section Table 13 illustrates the participant’s experi-
2.2. ence in the software field (based on number
of years in the industry).
Table 13: Participants’ Software Experi-
Table 12: Project Size Distribution ence
in Thousands of Lines of Code
(KLOCs) Software Experience Number of Percent-
Participant % of projects % of Number of (years) Participants age
Category between 1 and projects >= Individuals
20 KLOCS 50 KLOCS considered <1 0 0

All 29 35 45 1 to 4 11 23
Waterfall 36 44 13 5 to 10 14 30
Iterative 31 39 13 > 10 22 47
Agile 36 44 25
Conventional 24 18 16 Table 14 highlights the participants current
Manager 33 50 12 project size. The size is estimated in
thousands of lines of source code
Developer 35 35 17
(KLOCS).

As we see above, all categories were well


represented. It is interesting to point out
that a larger then expected portion of agile
participants are working on large projects
(agile development is typically associated
with small projects). In fact, 32% stated
they are currently working on projects over
100 KLOCs. Our phrasing of practicing

11
Table 14: Project Sizes in thousands of 5. SUMMARY
lines of code (KLOC)
The data from the April 2002 survey of
Project Size Number of Percent- software professionals provides concrete
(KLOCs) Participants age evidence that debunk some common
documentation misconceptions and lead to
<1 0 0 the following conclusions.
1 to 5 1 2 • Document content can be relevant,
5 to 20 13 28 even if it is not up to date. (However,
keeping it up to date is still a good
20 to 50 6 13 objective).
50 to 100 5 11 • Documentation is an important tool
> 100 12 26 for communication as opposed to sim-
ply a fact sheet about the source code
Not Applicable 9 20 that is only relevant if well main-
tained.
The conclusions cited above will help
Table 15 indicates the current job functions decision makers choose more appropriate
held by the participants. Please note that documentation strategies and technologies
one individual can have several functions. based on needs as oppose to generic expec-
tations.
Table 15: Participants’ Employment in Once we can admit that documentation is
the Software Field* out-dated and inconsistent, we can then
Job Functions Number of Percentage appreciate and utilize it as a tool of com-
Participants munication. This tool can then be judged
based on its ability to communicate as
Sr. Software Developer 19 40 opposed to merely presenting facts.
Software Architects. 17 36 Software projects should focus more on
conveying meaningful and useful knowl-
Project Leader 14 30
edge than on precise and accurate informa-
Manager 12 26 tion.
Technical Writers 10 21
5.1 Future Work
Quality Assurance 9 19
Based on the findings as well as the addi-
Jr. Software Developers 5 11 tional questions raised from this survey, the
list provides some possible avenues for
Other 4 9
continued research in this field.
Software Support 3 6
• How do people use documentation?
None of the above 3 6 More in-field research is required to
substantiate some of the observations
Student 1 2
in the paper. What attributes of
* Note that many participants performed one documentation hinder / facilitate its
or more function. use?
It appears from the above data that most • How can documentation maintenance
employment areas in the software field have be improved? Although maintenance
been well represented. The two somewhat may not be a critical contributor to
under-represented categories are Junior useful documentation, it would be use-
Developers and Software Support. This ful to understand techniques and tools
survey was not directed at students since that improve this process.
they probably would have lacked the
• What effect does time and change have
experience to provide useful results.
on a document’s relevance? For ex-

12
ample, as a document ages, its rele- Cornell University, Ithaca, New York,
vance most likely decreases. Why? USA, ACM Press, p 57.
To what extent? How do external fac-
[2] Cockburn, A. Agile Software Devel-
tors affect this decay in relevance?
opment, Addison-Wesley Pub Co,
• How else can we document a system? 2001.
How effective are these methods with
[3] Forward, A. Survey data website
respect to creation, maintenance, use
available at
and quality of the content? Research
www.site.uottawa.ca/~aforward/docsurv
in this area could widen our definition
of documentation beyond just docu- ey/
ments. [4] Glass, R. Software maintenance
documentation, SIGDOC '89, Pitts-
burg, Pennsylvania, USA, ACM Press,
ABOUT THE AUTHORS p18 – 23.
Andrew J. Forward is a master’s student in
Computer Science at the University of [5] Klare, George R. Readable computer
Ottawa. He received a Bachelor of Applied documentation, ACM JCD, Volume
Science in Software Engineering (also from 24, Issue 3 (August 2000), p148 –
the University of Ottawa) in April 2001; 167.
the first degree of its kind offered in Can- [6] Medina, Enrique Arce. Some aspects of
ada. software documentation, SIGDOC '84,
Timothy C. Lethbridge is an associate Mexico City, Mexico, p57 – 59.
professor in software engineering at the [7] Ouchi, Miheko L. Software Mainte-
University of Ottawa. His research interests nance Documentation, SIGDOC’85,
include software reverse engineering and Ithaca, New York, USA, ACM Press,
visualization, software engineering educa- p18 – 23.
tion, and knowledge engineering. He is the
lead author of the McGraw-Hill textbook [8] Redish, Janice. Readability formulas
"Object-Oriented Software Engineering: have even more limitations than Klare
Practical Software Development Using discusses, ACM JCD, Volume 24, Is-
UML and Java". He is also pedagogy co- sue 3 (August 2000), p132 – 137.
chair for the ACM/IEEE Computer Society [9] Scheff, Benson H. and Tom Georgon.
"Computing Curriculum - Software Engi- Letting software engineers do software
neering" project. His web site is engineering or freeing software engi-
http://www.site.uottawa.ca/~tcl . neers from the shackles of documenta-
tion. SIGDOC '88, Ann Arbor,
ACKNOWLEDGMENTS Michigan, USA, ACM Press, p81 –
Our thanks to all participants and participat- 91.
ing companies (who must remain anony- [10] Stimely, Gwen L. A stepwise ap-
mous). Thank you to members of the proach to developing software docu-
Knowledge Based Reverse Engineering mentation, SIGDOC '90, Little Rock,
(KBRE) group at the University of Ottawa. Arkansas, USA, ACM Press, p122 –
Your feedback and support have been 124.
greatly appreciated.
[11] Thomas, Bill and Scott Tilley.
We would also like to thank Ayana Nurse Documentation for software engineers:
and Jayne Forward for helping to edit this what is needed to aid system under-
paper. standing?, SIGODC '01, Sante Fe,
New Mexico, USA, p 235 – 236.

REFERENCES
[1] Angerstien, Paula. Better quality
through better indexing, SIGDOC '85,

13

You might also like