INTRODUCTION

This document presents version 1.9 of the
specifications provided by the Editorial Team to the Knowledge Area
Specialist regarding the Knowledge Area Descriptions of the Guide to
the Software Engineering Body of Knowledge (Ironman Version).
This document begins by presenting specifications
on the contents of the Knowledge Area Description. Criteria and
requirements are defined for proposed breakdowns of topics, for the
rationale underlying these breakdowns and the succinct description
of topics, for selecting reference materials, and for identifying
relevant Knowledge Areas of Related Disciplines. Important input
documents are also identified and their role within the project is
explained. Non-content issues such as submission format and style
guidelines are also discussed.
CRITERIA AND REQUIREMENTS FOR PROPOSING THE BREAKDOWN(S) OF TOPICS WITHIN A KNOWLEDGE AREA

The following requirements and criteria should be
used hen proposing a breakdown of topics within a given Knowledge
Area:
-
Associate editors are expected to propose one
or possibly two complementary breakdowns that are specific to
their Knowledge Area. The topics found in all breakdowns within
a given Knowledge Area must be identical.
-
These breakdowns of topics are expected to be
“reasonable,” not “perfect.” The Guide to the Software
Engineering Body of Knowledge is definitely viewed as a
multiphase effort, and many iterations within each phase as well
as multiple phases will be necessary to continuously improve
these breakdowns.
-
The proposed breakdown of topics within a
Knowledge Area must decompose the subset of the Software
Engineering Body of Knowledge that is “generally accepted.” See
below a more detailed discussion on this.
-
The proposed breakdown of topics within a
Knowledge Area must not presume specific application domains,
business needs, sizes of organizations, organizational
structures, management philosophies, software life cycle models,
software technologies, or software development methods.
-
The proposed breakdown of topics must, as
much as possible, be compatible with the various schools of
thought within software engineering.
-
The proposed breakdown of topics within
Knowledge Areas must be compatible with the breakdown of
software engineering generally found in industry and in the
software engineering literature and standards.
-
The proposed breakdown of topics is expected
to be as inclusive as possible. It is deemed better to suggest
too many topics and have them abandoned later than to do the
reverse.
-
The Knowledge Area Associate Editors are
expected to adopt the position that even though the following
“themes” are common across all Knowledge Areas, they are also an
integral part of all Knowledge Areas and therefore must be
incorporated into the proposed breakdown of topics of each
Knowledge Area. These common themes are quality (in general) and
measurement.
Please note that the issue of how to properly
handle these “cross-running” or “orthogonal topics” and whether
or not they should be handled in a different manner has not been
completely resolved yet.
-
The proposed breakdowns should be at most two
or three levels deep. Even though no upper or lower limit is
imposed on the number of topics within each Knowledge Area,
Knowledge Area Associate Editors are expected to propose a
reasonable and manageable number of topics per Knowledge Area.
Emphasis should also be put on the selection of the topics
themselves rather than on their organization in an appropriate
hierarchy.
Proposed topic names must be significant
enough to be meaningful even when cited outside the Guide to the
Software Engineering Body of Knowledge.
-
The description of a Knowledge Area will
include a chart (in tree form) describing the knowledge
breakdown.
CRITERIA AND REQUIREMENTS FOR DESCRIBING TOPICS

-
Topics need only to be sufficiently described
so the reader can select the appropriate reference material
according to his/her needs.
CRITERIA AND REQUIREMENTS FOR SELECTING REFERENCE
MATERIAL

-
Specific reference material must be
identified for each topic. Each reference material can of course
cover multiple topics.
-
Proposed reference material can be book
chapters, refereed journal papers, refereed conference papers,
refereed technical or industrial reports, or any other type of
recognized artifact such as web documents. They must be
generally available and must not be confidential in nature.
Reference should be as precise as possible by identifying what
specific chapter or section is relevant.
-
Proposed reference material must be in
English.
-
A reasonable amount of reference material
must be selected for each Knowledge Area. The following
guidelines should be used in determining how much is reasonable:
-
If the
reference material were written in a coherent manner that
followed the proposed breakdown of topics and in a uniform style
(for example in a new book based on the proposed Knowledge Area
description), an average target for the number of pages would be
500. However, this target may not be attainable when selecting
existing reference material due to differences in style and
overlap and redundancy between the selected reference materials.
-
The
amount of reference material would be reasonable if it consisted
of the study material on this Knowledge Area of a software
engineering licensing exam that a graduate would pass after
completing four years of work experience.
-
The Guide
to the Software Engineering Body of Knowledge is intended by
definition to be selective in its choice of topics and
associated reference material. The list of reference material
for each Knowledge Area should be viewed and will be presented
as an “informed and reasonable selection” rather than as a
definitive list.
-
Additional reference material can be included in a “Further
Readings” list. These further readings still must be related to
the topics in the breakdown. They must also discuss generally
accepted knowledge. There should not be a matrix between the
reference material listed in Further Readings and the individual
topics.
-
If deemed feasible and cost-effective by the
IEEE Computer Society, selected reference material will be
published on the Guide to the Software Engineering Body of
Knowledge web site. To facilitate this task, preference should
be given to reference material for which the copyrights already
belong to the IEEE Computer Society. This should however not be
seen as a constraint or an obligation.
-
A matrix of reference material versus topics
must be provided.
CRITERIA AND REQUIREMENTS FOR IDENTIFYING
KNOWLEDGE AREAS OF THE RELATED DISCIPLINES

Knowledge Area Associate Editors are expected to
identify in a separate section which Knowledge Areas of the Related
Disciplines are sufficiently relevant to the Software Engineering
Knowledge Area that has been assigned to them be expected knowledge
by a graduate plus four years of experience.
This information will be particularly useful to
and will engage much dialogue between the Guide to the Software
Engineering Body of Knowledge initiative and our sister initiatives
responsible for defining a common software engineering curricula and
standard performance norms for software engineers.
The list of Knowledge Areas of Related
Disciplines can be found in the Proposed Baseline List of Related
Disciplines. If deemed necessary and if accompanied by a
justification, Knowledge Area Specialists can also propose
additional Related Disciplines not already included or identified in
the Proposed Baseline List of Related Disciplines. (Please note that
a classification of the topics from the Related Disciplines has been
produced but will be published on the web site at a latter date in a
separate working document. Please contact the editorial team for
more information).
COMMON TABLE OF CONTENTS

Knowledge Area descriptions should use the
following table of contents:
-
Introduction
-
Breakdown
of topics of the Knowledge Area (for clarity purposes, we
believe this section should be placed in front and not in an
appendix at the end of the document. Also, it should be
accompanied by a figure describing the breakdown)
-
Matrix of
topics vs. Reference material
-
Recommended references for the Knowledge Area being described
(please do not mix them with references used to write the
Knowledge Area description)
-
List of
Further Readings
WHAT DO WE MEAN BY “GENERALLY ACCEPTED
KNOWLEDGE”?

The software engineering body of knowledge is an
all-inclusive term that describes the sum of knowledge within the
profession of software engineering. However, the Guide to the
Software Engineering Body of Knowledge seeks to identify and
describe that subset of the body of knowledge that is generally
accepted or, in other words, the core body of knowledge. To better
illustrate what “generally accepted knowledge” is relative to other
types of knowledge, Figure 1 proposes a draft three-category schema
for classifying knowledge.
The Project Management Institute in its Guide to
the Project Management Body of Knowledge1
defines “generally
accepted” knowledge for project management in the following manner:
“‘Generally accepted’ means that the knowledge
and practices described are applicable to most projects most of the
time, and that there is widespread consensus about their value and
usefulness. ‘Generally accepted’ does not mean that the knowledge
and practices described are or should be applied uniformly on all
projects; the project management team is always responsible for
determining what is appropriate for any given project.”
The Guide to the Project Management Body of
Knowledge is now an IEEE Standard.
At the Mont Tremblant kick-off meeting in 1998,
the Industrial Advisory Board better defined “generally accepted” as
knowledge to be included in the study material of a software
engineering licensing exam that a graduate would pass after
completing four years of work experience. These two definitions
should be seen as complementary.
Knowledge Area Associate Editors are also
expected to be somewhat forward looking in their interpretation by
taking into consideration not only what is “generally accepted”
today and but what they expect will be “generally accepted” in a 3-
to 5-year timeframe.

Figure 1
Categories of knowledge
LENGTH OF KNOWLEDGE
AREA DESCRIPTION

Knowledge Area Descriptions are currently
expected to be roughly in the 10-page range using the format of the
International Conference on Software Engineering format as defined
below. This includes text, references, appendices, tables, etc.
This, of course, does not include the reference materials
themselves. This limit should, however, not be seen as a constraint
or an obligation.
ROLE OF EDITORIAL TEAM

Alain Abran and James W. Moore are the Executive
Editors and are responsible for maintaining good relations with the
IEEE Computer Society, the Industrial Advisory Board, the Executive
Change Control Board, and the Panel of Experts as well as for the
overall strategy, approach, organization, and funding of the
project.
Pierre Bourque and Robert Dupuis are the Editors
and are responsible for the coordination, operation, and logistics
of this project. More specifically, the Editors are responsible for
developing the project plan and the Knowledge Area description
specification, coordinating Knowledge Area Associate Editors and
their contribution, recruiting the reviewers and the review
captains, as well as coordinating the various review cycles.
The Editors are therefore responsible for the
coherence of the entire Guide and for identifying and establishing
links between the Knowledge Areas. The Editors and the Knowledge
Area Associate Editors will negotiate the resolution of gaps and
overlaps between Knowledge Areas.
IMPORTANT RELATED
DOCUMENTS (IN ALPHABETICAL ORDER OF FIRST AUTHOR)

-
P. Bourque, R. Dupuis, A. Abran, J. W. Moore,
L. Tripp, and D. Frailey, “A Baseline List of Knowledge Areas
for the Stone Man Version of the Guide to the Software
Engineering Body of Knowledge,” Université du Québec à Montréal,
Montréal, February 1999.
Based on the Straw Man version, on the
discussions held and the expectations stated at the kick-off meeting
of the Industrial Advisory Board, on other body-of-knowledge
proposals, and on criteria defined in this document, this document
proposes a baseline list of ten Knowledge Areas for the Trial
Version of the Guide to the Software Engineering Body of Knowledge.
This baseline may of course evolve as work progresses and issues are
identified during the course of the project.
This document is available at www.swebok.org.
-
P. Bourque, R. Dupuis, A. Abran, J. W. Moore,
and L. Tripp,
“A Proposed
Baseline List of Related Disciplines for the Stone Man Version
of the Guide to the Software Engineering Body of Knowledge,”
Université du Québec à Montréal, Montréal, February 1999.
Based on the Straw Man version, on the
discussions held and the expectations stated at the kick-off meeting
of the Industrial Advisory Board, and on subsequent work, this
document proposes a baseline list of Related Disciplines and
Knowledge Areas within these Related Disciplines. This document has
been submitted to and discussed with the Industrial Advisory Board,
and a recognized list of Knowledge Areas still has to be identified
for certain Related Disciplines. Associate editors will be informed
of the evolution of this document.
The current version is available at
www.swebok.org.
-
P. Bourque, R. Dupuis, A. Abran, J. W. Moore,
L. Tripp, K. Shyne, B. Pflug, M. Maya, and G. Tremblay,
Guide to the
Software Engineering Body of Knowledge - A Straw Man Version,
technical report, Université du Québec à Montréal, Montréal,
September 1998.
This report is the basis for the entire project.
It defines general project strategy, rationale, and underlying
principles and proposes an initial list of Knowledge Areas and
Related Disciplines.
This report is available at www.swebok.org.
-
J. W. Moore,
Software
Engineering Standards, A User’s Road Map,
IEEE Computer Society Press, 1998.
This book describes the scope, roles, uses, and
development trends of the most widely used software engineering
standards. It concentrates on important software engineering
activities — quality and project management, system engineering,
dependability, and safety. The analysis and regrouping of the
standard collections exposes you to key relationships between
standards.
Even though the Guide to the Software Engineering
Body of Knowledge is not a software engineering standards
development project per se, special care will be taken throughout
the project regarding the compatibility of the Guide with the
current IEEE and ISO Software Engineering Standards Collection.
-
IEEE Standard
Glossary of Software Engineering Terminology,
std 610.12-1990, IEEE, 1990.
The hierarchy of references for terminology is
Merriam
Webster’s Collegiate Dictionary
(10th ed.), IEEE std 610.12, and
new proposed definitions if required.
-
Information
Technology – Software Life Cycle Processes,
International std ISO/IEC 12207:1995(E), 1995.
This standard is considered the key standard
regarding the definition of life cycle process and has been adopted
by the two main standardization bodies in software engineering:
ISO/IEC JTC1 SC7 and the IEEE Computer Society Software Engineering
Standards Committee. It also has been designated as the pivotal
standard around which the Software Engineering Standards Committee (SESC)
is currently harmonizing its entire collection of standards. This
standard was a key input to the Straw Man version.
Even though we do not intend that the Guide to
the Software Engineering Body of Knowledge be fully 12207-
compliant, this standard remains a key input to the Stone Man
version and special care will be taken throughout the project
regarding the compatibility of the Guide with the 12207 standard.
-
Merriam Webster’s
Collegiate Dictionary
(10th ed.).
See note for
std IEEE 610.12.
STYLE AND TECHNICAL GUIDELINES

Knowledge Area Descriptions should conform to the
International Conference on Software Engineering
Proceedings format (templates are available at http://sunset.usc.edu/icse99/cfp
/technical_papers.html).
Knowledge Area Descriptions are expected to
follow the IEEE Computer Society Style Guide. See http://www.
computer.org/author/style/cs-style.htm.
Microsoft Word is the preferred submission
format. Please contact the Editorial Team if this is not feasible
for you.
OTHER DETAILED GUIDELINES

When referencing the guide, we recommend that you
use the full title “Guide to the SWEBOK” instead of only “SWEBOK.”
For the purpose of simplicity, we recommend that
Knowledge Area Associate Editors avoid footnotes. Instead, they
should try to include their content in the main text.
We recommend using in the text explicit
references to standards, as opposed to simply inserting numbers
referencing items in the bibliography. We believe it allows the
reader to be better exposed to the source and scope of a standard.
The text accompanying figures and tables should
be self-explanatory or have enough related text. This would ensure
that the reader knows what the figures and tables mean. Make sure
you use current information about references (versions, titles,
etc.).
To make sure that some information contained in
the Guide to the SWEBOK does not become rapidly obsolete, please
avoid directly naming tools and products. Instead, try to name their
functions. The list of tools and products can always be put in an
appendix.
You are expected to spell out all acronyms used
and to use all appropriate copyrights, service marks, etc.
The Knowledge Area Descriptions should always be
written in third person.
EDITING

The Editorial Team and professional editors will
edit Knowledge Area Descriptions. Editing includes copy editing
(grammar, punctuation, and capitalization), style editing
(conformance to the Computer Society magazines’ house style), and
content editing (flow, meaning, clarity, directness, and
organization). The final editing will be a collaborative process in
which the Editorial Team and the authors work together to achieve a
concise, well-worded, and useful Knowledge Area Description.
RELEASE OF COPYRIGHT

All intellectual properties associated with the
Guide to the Software Engineering Body of Knowledge will remain with
the IEEE Computer Society. Knowledge Area Associate Editors were
asked to sign a copyright release form.
It is also understood that the Guide to the
Software Engineering Body of Knowledge will be put in the public
domain by the IEEE Computer Society, free of charge through web
technology or by other means.
For more information, see http://www.computer.org/copyright.htm.
-
See “A Guide to the
Project Management Body of Knowledge,” Project Management
Institute, Newton Square, PA 1996, 2000; available from
www.pmi.org.