Sie sind auf Seite 1von 11

Software Standards

• A standard is a rule or basis for comparison that is used


to asses the size, content, value or quality of an object
or activity.
• Two types of standards
– Describes the nature of the object to be produced
– Defines the way the work is to be performed
• Review Standards – specifies content, preparatory
materials, participants, responsibilities and resulting
data and reports
• Review Procedures – describes how the work is
actually to be done, by whom, when and what is done
with the results
Definitions
• Authoritative direction
– Policy : A governing principle, typically used as the basis for
regulations, procedures or standard and generally stated
by the highest authority in the organization
– Regulation : A rule, law or instruction, typically established
by some legislative or regulator body with penalties for
noncompliance
– Specification : The precise and verifiable description of the
characteristics of a product
Definitions
• Characterization of how a task is to be performed or
the required characteristics of the result
– Guideline : A suggested practice, method or procedure,
typically issued by some authority
– Procedure : A defined way to do something, generally
embodied in a procedures manual
– Standard : A rule or basis for comparison, typically
established by common practice or by a designated
standards body
Definitions
• The way in which tasks are accomplished
– Convention : A general agreement on practices,
methods or procedures, typically arrived at by explicit
agreement
– Method : A regular, orderly procedure or process for
performing a task, typically defined by an expert
– Practice : A usual procedure or process, typically a
matter of habit or tacit agreement
– Process : A defined way to perform some activity,
typically established by technical specialists
The Reasons for Software Standards
• Standards are needed when many people, products or tools must
coexist
• The fact that everyone knows and understands a common way of
doing the same tasks makes it easier for the professionals to move
between projects reduces the need for training and permits a
uniform method for reviewing the work and its status
• Standards also promote the consistent use of better tools and
methods
• The lack of an approved standard leaves the organization with no
framework to make decisions
Benefits of Standards
• While standards alone will not make the difference between
project success and failure, they clearly help
Establishing Software Standards
• While it is important to establish standards, it is also
important to concentrate on those standards that can
be implemented in a reasonable period and that will
provide the most immediate benefit to the
organization
• Organizational standard categories (should have equal
mix)
1. Management and planning standards and procedures
• Configuration management
• Estimating and Costing
• Software Quality Assurance
• Status reporting
2. Development process standards and methods
• Requirements specification
• Design
• Documentation
• Coding
• Integration and Test
• Reviews, walkthroughs and inspections

3. Tool and process standards


• Product naming
• Size and cost measurements
• Defect counting and recording
• Code entry and editing tools
• Documentation systems
• Languages
• Library system
The Standards Development Process
1. Establish a standards strategy that defines priorities and recognizes
prior work
2. Distribute, review and maintain this strategy
3. Select individuals or small working groups to develop the top-
priority standards
4. Development effort should build on prior work, define areas of
applicability, specify the introduction strategy, and propose an
enforcement plan
5. The draft standards should be widely distributed and reviewed
6. The standards should be revised to incorporate the review
comments and the re-reviewed if changes are extensive
7. The standards should initially be implemented in a limited test
environment
8. Based on this test experience, the standards should again be
reviewed and revised
9. Implement and enforce the standards across the defined areas of
applicability
10. Evaluate the effectiveness of the standards in actual practice
• If too many people are involved in the creative process, much time
will be wasted and the result is likely to lack technical coherence
• It is rarely wise to adopt another organization’s standard without
local customizations
• Standards should be modified and adjusted based on the
experiences in using and enforcing them
• If standards are not maintained they will become a routine
procedure that takes time without adding value
• SQA should not be the owner of standards as they are responsible
for enforcing them
• If a standard needs frequent maintenance then the area is likely not
ready for standardization
• Standards should be reviewed at least once every three to five
years
• Use automated tools whenever possible to enforce standards
Standards vs. Guidelines
• Appropriate when no • In some cases standards
judgment is needed. may be inappropriate
• Used when items are • Involves technical judgment
arbitrary and done • Example: specification of
uniformly limits on module size
• Examples: definitions of • In questionable cases, a
coding, selection of guideline should be used.
programming languages,
and use of common design
methods
• Some standards are
essential for maintenance
of business or technical
control.

Das könnte Ihnen auch gefallen