SW Development Process Audit Procedure ATT
SW Development Process Audit Procedure ATT
SW Development Process Audit Procedure ATT
PROBLEM SOLUTION
SYSTEM SYSTEM
DEVELOPMENT
UNSATISFIED NEED PROCESS SATISFIED NEED
EXISTING
PRODUCT
SYSTEM
SUPPORT ENVIRONMENT
PLAN
& MONITOR
ORGANIZE &
CONTROL
MANAGEMENT
PROCESS
SUPPORT SYSTEM
2.1.2 Assemble an Audit Team: Depending on With the initial groundwork laid, the formal
the size of the project, the team may consist of audit activities begin in earnest. Our intent is
three to six people: one person should be to uncover as much as possible within the
established scope and time constraints. The
team should analyze not only the methodology Interviewing people near the project site but
as it is written down, but the "de facto" not in their offices, removes many distractions
methodology, i.e., the methodology as it exists and may help people open up more since
in practice. Our methods of collecting data they're slightly removed from their usual
include analyzing the development process environment.
documentation, interviewing project
personnel, observing project meetings, and We would want to interview people in the major
reviewing development process products. functional areas of software development
included within the scope of the audit. A non-
2.2.1 Analyze methodologies: The first step in inclusive list may include staff and their
characterizing the development process is to managers responsible for:
study the documented methodology. Besides system definition
providing a general process overview and system requirements
background for all the ensuing activities, we system architecture
can study completeness of lifecycle activity software requirements
documentation, evaluate adequacy of the software architecture
written methodology in providing clear and software design
consistent guidelines for the development software code
process, and formulate initial hypotheses to software unit test
follow up in interviews. Any documented software integration test
development methodology, Software Quality system test
Assurance Plan (SQAP), or other documented customer interface
practices and procedures should be included end-user training installation
in this review. software maintenance
problem reporting & corrective action
In analyzing development methodologies, project management & configuration
either in the form of a handbook or a series of management
documents, we would look for: task quality control
definitions, descriptions; and ownership; methodology documentation & updates
solution procedures for tasks; review and developer training
inspection procedures; a well defined
lifecycle, broken into activities; well-defined A primary reason for interviewing people is to
handoffs between activities; and any standards characterize the "de facto" methodology. Does it
currently in use. We would want to look to follow the documented methodology? Is it
any related practices and procedures for consistently applied across people? Is it
measurement and tracking procedures, effective? Additionally, we would want to:
monitoring and control mechanisms, and gather information to support or refute pending
efficient organizational interfaces. The above hypotheses; formulate new hypotheses as new
lists are not meant to be all-inclusive, but they information is gathered; characterize the
are a good starting point. visibility of project tracking and the
effectiveness of project control; and gather
In general, we would get the necessary upward feedback for the project management.
documents through the project interface Basic investigative and journalistic interview
contact or the project librarian. After reading techniques would be the auditors' tools for this
and annotating the documents, all the auditors, task; summary question checklists can help
in a group meeting, would discuss the guide initial interviews.
documents, evaluate their adequacy, and
formulate the first set of hypotheses regarding 2.2.3 Attend Meetings: The auditors should
the process as it is documented. have a blanket invitation to any technical,
administrative, or informative meeting, either
2.2.2- Interview Developers: The core audit is formal or informal, the project holds during the
the main time for interviewing developers on time-frame of the audit. The purpose behind
site and attending any relevant project attending these gatherings is to: observe project
meetings. The auditors should interview as a communication; characterize general
group or in subgroups of at least two : multiple effectiveness of meetings, reviews, and
interviewers provide multiple viewpoints inspections; and characterize compliance of
which helps balance any individual bias.
reviews and inspections to any relevant
standards. • Report strengths as well as areas for
improvement. Although the main objective
The entire team (for large meetings) or a is to identify the areas with potential for
subgroup (for small meetings) would discretely quality and productivity improvement, it is
attend and observe a project meeting. equally important to identify those aspects
Discussing the meeting after it officially ends of the process that are done well. This
with attendees who happen to linger on is often recognizes the successful efforts within the
of value in resolving any questions the auditors project to produce quality software, aids
may have. The meetings observed would the project by itemizing things done well
normally occur during the core audit, but they which shouldn't be changed for the worse,
may occur before or after that time also, and helps us identify good methods and
depending on when representative project practices that have potential for use on
meetings are scheduled. other projects.
2.2.4 Review Selected Development • Separate major from minor concerns. The
Products: The team may decide to review in- team may find many weak spots. The few
depth a sample of products representative of the major problems should be separated from
various lifecycle activities within the scope of the others and given special emphasis and
the audit. Such reviews serve to: examine the discussion; this separation assures they
products' fitness-for-use in downstream don't get lost amidst everything else.
development activities; characterize compliance
of the products to existing standards (project or • State the problems succinctly and state
industry); or explore project details for why they are problems. The problems
necessary background. should be communicated to the project
very clearly. By stating why the team
Individual auditors examine selected products thinks something is a problem, we provide
within their field of expertise. These reviews the project with the assumptions,
would be oriented toward substantive, not perceptions, and the reasoning that led to
editorial or typographical, comments. When the team's conclusions. This information
multiple auditors review the same set of helps the project to assess the audit
documents, they would need to discuss and findings in light of their more detailed
integrate their comments. project knowledge.
2.4 Follow-up