have to be defined and methods have to be developed
that ensure that these goals are met. It is not sufficient
to just define a process and hope that the quality will
be satisfying. Even though, some of the criteria above
might be contradicting, a careful analysis what is ex-
pected and what can and should be created leads to a
robust development flow.
Methods. To guarantee a high quality some mea-
sures or standards have to be defined. The currently
most popular ones in the software domain are the Ca-
pability Maturity Model (CMM) and ISO9000. In his
CMM, (Humphrey, 1995) distinguishes between five
stages of organizational development: 1. Initial (ad
hoc, reactive), 2. Repeatable (intuitive, depending
on isolated staff, using former experience), 3. De-
fined (qualitative, defined process, controlling along
the entire software process), 4. Managed (quantita-
tive, development and use of metrics, data collection
and analysis), 5. Optimizing (improving and adjust-
ing the entire process). He also points out the steps
that have to be made in order to improve the develop-
ment process, which include understanding the cur-
rent status of their development process and develop-
ing a vision of the desired process. This is the source
of a potential conflict: the persons that measure are
also the ones being measured. If the assessment re-
veals, that the stage the development processes are in
is not the one expected to be but rather below that, the
management is responsible. Accordingly, this implies
the danger, that evaluations might be forged, so that
the management appears in a better light. One way
to avoid this conflict is to make use of outside con-
sultant, whose perspective on that is neutral and not
disturbed by such influences. A big disadvantage of
such a procedure is, that is is costly and takes a lot
of time, as outsiders have to become familiar with the
present circumstances. Therefore, it might be helpful
to ask a person within the company who is not directly
involved in the development processes that are to be
discussed. Again, this contains potential for a con-
flict, as the unit concerned might not see the necessity
why somebody should get an insight is not really in-
volved. It is human pride and maybe stubbornness
that account for that. Finally, this remains a difficult
and incalculable problem as it is often the case when
human factors are involved.
Standards. Also in the hardware domain, us-
ing standards has been observed as being very im-
portant and resulted in HDLs, like VHDL or Verilog,
for the synthesis step. In other domain, like ”veri-
fication languages” standards are not established yet
(see e.g. (Goering, 2001))
2
. But the certification of a
2
Even though recently SUGAR has been selected as a
property language standard there are still more than 10 other
development process is not used. Many of the rules
developed for ISO900X on quality management and
quality assurance can be directly transferred to hard-
ware, while some aspects need to be modified.
To provide a high quality in the development pro-
cess, clear goals have to be defined and methods have
to be developed that ensure the realization of these
goals.
4 PROBLEMS IN HARDWARE
DESIGN
Beside the “optimal project flow” described so far,
several problems can occur that should be consid-
ered when starting a hardware development project,
although not unique for hardware projects.
• Uniqueness of hardware systems: Most hardware
systems are only developed once and later on
modified to meet new requirements. This often
makes the requirement analysis and risk manage-
ment (costs, financing etc.) difficult.
• Technically oriented management: Many (maybe
most) of the project managers have a technical
background and have been designers before. They
are very qualified regarding the hardware itself,
but do not necessarily have good management
skills in leading a group. Often they start to de-
sign on their own or try to influence the designers
in their group. This might leads to problems re-
garding the role of each team member. (On the
other hand “pure managers” without sufficient in-
sight in the technology have problems of getting
accepted by the design teams!)
• Weak planning: In practice the time invested in
the early project phase for specifying the details
of the behavior of the hardware to build is not suf-
ficient. An unclear specification is one of the main
reasons for delayed or even failing projects.
• High number of possible solutions: Usually, there
is not one unique way of realizing a circuit. The
main bounds are given by the constraints of the
resources of the hardware and are very difficult to
restrict regarding nowadays hardware complexity.
• Individuality of designers: Many designers see
themselves more as artists than as hardware de-
signers. They are individualists and are often not
willing to work in a team. This is especially some-
thing they do not learn during their education at
the universities. Even though this is changing
languages around.
HARDWARE PROJECT MANAGEMENT - What we Can Learn from the Software Development Process for Hardware
Design?
415