Documente Academic
Documente Profesional
Documente Cultură
The partitioning of the system into different development disciplines tends to suggest
that Requirements and Design Specifications should be partitioned in the same way.
Thus, the two specification documents might be partitioned not just by design level,
but also by the engineering discipline used. Furthermore, it can be useful to partition
the systems into various sub-systems or equipment types, each of which could have
a separate Requirement Specification and Design Specification.
ISSUE v2 Page 1 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
2. SOME MAJOR QUESTIONS TO BE ADDRESSED
There are a few key questions, which should be addressed by this discussion. These
include:
1. What is a Requirement Specification, exactly?
2. What is a Design Specification, and how does it differ from a Requirement
Specification?
3. Are the specifications really necessary or are they an overhead we could do
without?
4. What value do the documents have?
5. How do specifications fit in with the design process and design reviews?
6. What is the purpose of the specifications, or do they have multiple purposes?
The last question is quite important, because unless we understand the true purpose
and value of a document it becomes difficult to (i) develop an optimal solution in
terms of document structure and content, and (ii) judge whether the resultant
document is adequate or not.
The purpose of the Requirements and Design Specifications is not to satisfy the
needs of the Quality System. The Quality System is our slave and not vice versa!
Many engineers and scientists may hold the view that such specifications are simply
overheads and are only reluctantly produced because the Quality System says so.
ISSUE v2 Page 2 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
So the two extremes are (i) purely new customer product unlike any other product we
have ever developed and (ii) standard product, developed for a more general market
or perhaps a market sector. In practice though, it is rare that we get these two
extremes. Often customers request a variation or customisation of an existing
product. Alternatively, we might accept a customer order for a new product, but to
use the opportunity to develop a more general, standard product. Thus, a true
Requirement Specification, if fully defined, would rarely originate exclusively from
either a single customer or on the other hand exclusively from our own definition.
Customer Our
requirements Requirements requirements
definition definition
Bespoke Product
Situation
Customer Our
requirements Requirements requirements
definition definition
Hybrid Situation
Our
Customer
requirements
requirements Requirements
definition
definition
Standard Product
Development Situation
In summary, in many cases the requirements for a product is some sort of balance
between internal and external needs. We should also bear in mind that even if a
product is heavily balanced towards the needs of a specific customer, that customer
product could eventually become the basis of a future standard product. It is also
likely for a new customer product, that sub-systems, such as mechanical parts, PCB
designs and code may be used in other future designs.
ISSUE v2 Page 3 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
requirements. To summarise, requirements definition should be a balance between
internal and external needs, and requirements documentation can have value long
after a product is shipped to a specific customer.
In the case of a bespoke product definition, we would hope to receive the customer
requirements in a well-structured and definitive list. This is not always the case, and
often the requirements might be vague and indefinite. There may be some work in
reading through the specification and transposing it into a definitive list, which can
then be assessed in terms of technical feasibility and implementation effort.
It should be appreciated that the definition of a product may not be complete at the
initial point of definition. It is not uncommon for the requirements to evolve over time,
based on a number of circumstances. Some examples might include:
1. Some key requirements are not identified by the customer, but are identified
by us and should be added
2. The customer realises midway through the development that requirements
have been missed
3. Feasibility checks of certain requirements might come up with a negative
result
4. During the design process, whether at a high-level or intermediate level may
identify opportunities to improve or augment the requirements
5. During the design process, whether at a high-level or intermediate level may
identify blocking problems, which means the requirements originally defined
cannot be met, are impractical or would cost too much time and money. This
normally requires the approval of a waiver on requirements
ISSUE v2 Page 4 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
6. The test definition process reveals that some aspects of performance or
functionality have actually been missed in the original requirements.
7. Some requirements were found unnecessary and can be dropped
Some of these questions may only find answers if the high-level system design has
been complete! The trick is to identify the difficulty, risk or challenge as early as
possible, and if necessary negotiate with the customer. As indicated, further analysis,
high-level design or feasibility studies might be necessary for specific requirements.
Some of the requirements may be deemed too expensive, too risky or will
significantly affect the delivery schedule. Negotiation with the customer may result in
the requirement being left out or changed into something more achievable.
ISSUE v2 Page 5 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
requirements is facilitated if the matrix is implemented on a spreadsheet such as an
Excel document.
A design entity would normally be one of (i) mechanical (ii) electronic (iii) software
element if below the system level, or possibly some combination of these. Design
Specifications in general could be initiated in the early stages of a design, but may
not be completed until the design was complete and tested. The Design Specification
should complement the design data itself. Such design data may be drawings in the
case of mechanical systems, PCB design for electronics or code in the case of
software.
1. Response to Requirements
The design should have been done in response to requirements. That is, the
means of implementing the required function is described. This should be
included in the description. One way of doing this is by numerical cross-
referencing. There should be traceability in the description. This should
facilitate the design review process. Design reviews are critical to achieving
quality in product development and are an integral part of a Quality
Management System, such as defined by those defined by ISO9001.
ISSUE v2 Page 6 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
7. Some other constraints
5. Interface Definitions
There may be a number of interface signals or connections to the design entity.
These should be described. Interfaces may also have mechanical definitions if
the design entity is physical. The interface could also be software data
structures in the case of software, or electrical signal definitions in the case of
electronics. These definitions facilitate verification that the interfaces are correct
from a system perspective. The definitions are essential for maintainability and
future adaptation of the design.
ISSUE v2 Page 7 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
Upgradeability
Design for EMC
Design for easy assembly
Design for test
Mechanical hardness or robustness
Including such information can help with the maintainability of the product or
sub-system. Indeed attempting to maintain a design without this information
may lead to significantly detrimental effects without the maintainer realising it.
The extent of the Design Spec generally has diminishing value as the level of
description becomes progressively more detailed. The diagram in Fig. 2 can illustrate
this situation
ISSUE v2 Page 8 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
Value
Gained
Level of detail
A point worth mentioning here is that the quality of overall design documentation can
be enhanced by the presence and quality of notes and comments, which are added
to the design data itself:
1. Mechanical drawings – notes added to the drawing
2. PCB design – comments added to schematics
3. Software – comment added to code lines, blocks of text for explanation and
code procedure and function headers
Essentially, a Requirement Specification assumes the design is not yet done and
describes what the design should do and what attributes or performance levels it
should achieve. These requirements are often describes as:
1. Functionality
ISSUE v2 Page 9 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
2. Physical attributes
3. Capability
4. Properties or attributes
Assuming the product is an entirely new design, the requirements assume that the
design is a ‘black box’, where few or no design decisions have been taken. This is a
Requirement Specification in its purest form. The reality might be a little different. For
example, some of the design implementation decisions may be entirely obvious. In
other cases, if the new product is a variant of an existing product then part of the
design may already exist.
The slight confusion here is that system design is often a progressive process of
elaboration and design is conventionally done top-down. At an interim design stage
often the high-level design is defined, whereas the lower level design has yet to be
carried out. This can often result in a high-level Design Specification, which can be
termed a ‘System Design Specification’. Often this has to be completed before the
lower level design takes place. As the design of the whole system progresses, the
Design Specification or suite of Design Specifications can evolve though time.
Often we might come across specifications, which integrate the system requirements
and the high-level design definition. Such a document can be very useful to drive
lower-level design, but the difference between the requirements and the design
definitions should be understood.
A key reason for partitioning the system can be that the development effort is split or
carried out by different groups and different individuals. Thus, the system design is
ISSUE v2 Page 10 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
partitioned to facilitate and to allocate the development activity. If a group or
individual is assigned the development of a sub-system they obviously need to have
a formal definition of what is required for that sub-system. This definition can take the
form of a Requirement Specification for that sub-system in the case that the higher-
level design decisions are open. If the higher-level design of the sub-system can
already be elaborated at the point of sub-project allocation, then a higher-level
Design Specification document for that sub-system can be used. In many cases, it
may be sensible for the various disciplines to write the sub-system Requirement
Specification based on their interpretation and then get this document agreed. This
sub-system Requirement Specification should include a definition of the interface
between the sub-system and the rest of the system. This definition may incorporate
physical, electrical and logical (signal) definitions.
Note that it is likely and logical that interim Design Reviews should ideally take place
on the sub-systems, which are given out to the various development parties. In the
review process the actual design should be compared with the appropriate
Requirement Specification and Design Specification documents. Part of the review
should include a review of the completeness and appropriateness of the
documentation as well as the review of the design itself. When a PCB was defined
and given to an engineer to develop there should be an accompanying Requirements
Specification at the start of development, which may be a part of a System Design
Specification or a standalone document, plus a Design Specification document,
which is produced by the engineer towards completion of the design.
In the two diagrams below, two variations of design documentation are shown. In Fig.
3, the first variation shows the case, where the sub-system higher-level design
decisions are open. Fig. 4 shows the case where the higher-level design decisions
are already defined. In this second variation, the development team for the sub-
system are required to elaborate the design implementation. When this design work
is completed, the Design Specification documentation for the sub-system should be
upgraded from the initial high-level description. This upgrade enables the sub-system
to be reviewed and makes it more maintainable and also re-usable in other systems.
ISSUE v2 Page 11 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
(High-Level) System
High Level
Requirement Specification
Variation 1
Detailed Level
Fig 3. Variation 1, where the sub-system design is open to definition by the sub-
system development team.
(High-Level) System
High Level
Requirement Specification
Variation 2
Detailed Level
Fig.4. Variation 2, where the sub-system design has already been defined at the
high-level.
In conclusion, the structure of the Requirements and Design Specification suite will
depend on the complexity of the overall system, and how that system is developed.
Thus, the documentation structure is project specific and to a large extent reflects the
design structure. It is also likely that the design review process should reflect the
design structure. Sub-system Design Reviews should occur at the appropriate time
and should include both interim and final reviews for that sub-system. The sub-
ISSUE v2 Page 12 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
system Design Review would naturally precede the Final Design Review for the
overall system.
It is also worth commenting here that attempting to ‘crash’ the development process
by skipping certain specification steps is normally very hazardous both in terms of
creating an inefficient development flow and in terms of ending up with a product
unsuitable for its intended purpose.
Let us consider the desire for design or product certification. A prerequisite of design
certification is the successful completion of Design Reviews for both the defined sub-
systems and the overall system. Reviews require the existence of Requirement
Specifications and Design Specifications for the design entity being reviewed. If the
documentation is missing it is difficult to conduct the review. In fact the review should
also be checking that the specification documentation is appropriate and complete.
Next, let us consider maintainability of the system. Are we confident that the system
has been fully tested and debugged? This situation would be rare. Given that the
Requirement Specification may be lacking, the test plan and test data is also
probably lacking. In any case, it will be difficult to isolate and eradicate problems,
which are reported in the field.
ISSUE v2 Page 13 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
What about design for reuse? Is it not the case that the bulk of development work
carried out in the organisation is based on the design of previous systems? If in a
new product design we are importing mechanical, electronic or software sub-systems
from previously designed products the existence of appropriate requirements and
design specification documentation is invaluable. Without this we need to go into
reverse-engineering mode, which is difficult from the cost, resource and schedule
perspectives.
There may be some specialised cases where the product developed is a one-off, is
well tested and is never likely to be re-used for anything else. These cases are rare.
Problem 1:
The new design uses parts and sub-systems from previous systems. These existing
sub-systems are lacking in Requirements Specification and Design Specification. The
work then becomes more difficult, hazardous and expensive.
Problem 2:
There is lack of time to develop adequate specification documentation at the
beginning. In this case, steps should be taken to avoid jumping straight into the
development process. It takes a certain amount of discipline to do this.
Problem 3:
After shipping the product, the funding for the project is closed off and the resources
are re-assigned to new exciting or pressing projects. It is difficult or impossible to
retrospectively fill the specification gaps.
Having ‘completed’ the product development, we move onto the next project and
encounter Problems 1 to 3 once more. The cycle is in danger of repeating itself. We
should of course fight against this situation. It helps a great deal if key stakeholders in
the development process such as Project Managers, Programme Managers, R&D
Management, Group Leaders, Design Engineers, Scientists and Quality personnel all
understand the purpose and value of specification documentation to the overall
economics of developing new and leading-edge products.
ISSUE v2 Page 14 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
core product and may use many of the same design elements and satisfy similar
requirements. The situation is depicted in Fig. 5 below.
Product development decisions need to be taken as the need for customisations and
variants arise. Do we add the customisation features to the core product or allow a
branch to develop? The decisions have implications for regression testing, overall
test strategy and field maintenance.
In the case that a branch is made due to a particular customer need, the customer
may present a customisation requirement. This can be thought of as a ‘Difference
Specification’ or a ‘Delta Specification’. What should happen is the Requirements
Matrix for the Core Product is copied and modified, usually by adding feature
requirements to the matrix. The adapted matrix can be then be used to develop the
test plan and test cases ready for validation of the customised product. In the case
that the original Requirements Matrix has not been produced, then full qualification of
the custom product is not feasible.
In some cases products can evolve incrementally without the full requirements being
documented and managed. This naturally causes a problem when attempting to
validate and qualify new products and a certain amount of back-tracking may be
necessary. This scenario is shown in Fig.6 below.
This scenario can be also cover the situation where an absolute need to fully validate
the product arises because the new variant is needed for a large, strategic customer.
More generally, a company can make a stern commitment to upgrade overall product
quality. In either case effort is required to develop the full Requirements Matrix
retrospectively.
ISSUE v2 Page 15 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.
In the situation shown in Fig.6, in order to fully validate and qualify the product, the
absent Requirements Matrix would need to be developed, then the feature in the
three Delta Specifications would need to be added.
ISSUE v2 Page 16 of 16
© Oxford Management Solutions Ltd 2010. All rights reserved.