Effective Engineering e-Newsletter – 2/13/2003
This is your bi-weekly e-Newsletter from Effective Engineering Consulting
If you would like to receive Effective Engineering e-newsletters as
they are published, please send an email to firstname.lastname@example.org,
and we will add you to our distribution list.
Even Small Cogs Are Essential
to the Machine (Recognizing That Your Role Makes a Difference)
Tom Dennis – President, Effective Engineering [email@example.com]
When we think of a product that a company markets, we
generally think of the hardware, firmware, software, and mechanical pieces
that make up that product. Each
of these myriad pieces is one of the “cogs” that work together to make a
working product “machine”, and if any of these “cogs” fail to operate
properly, the product itself may fail.
While the company’s “machine” may be its product, engineering’s
“machine” is its product development process.
Requirements are fed in, specifications are defined, jobs are assigned,
and milestones and schedules are defined and tracked.
Pieces are developed and tested, which are then integrated together
with other pieces and tested as sub-systems, until eventually all the pieces
come together, get tested, and a finished product results.
The product itself is made from the hardware, firmware, software, and
mechanical pieces, but each of those pieces come from human efforts to design,
test, and deliver them in an orderly and timely fashion.
Each individual effort that goes into this product development process
“machine” is a “cog” that is a critical element of that “machine”.
If the efforts associated with one piece of the development effort (one
“cog”) fail, the entire product development “machine” can fail.
Engineering projects generally require the work of a lot of people involved in
a wide variety of disciplines. Often, so many people are involved that it can be difficult
for individual engineers to recognize how their role can possibly make a
difference. They can feel small
and lost, that their contributions are an insignificant part, and don’t
really matter in the grand scheme of things.
But these people need to recognize that every individual counts, and
that their success ensures company success, and their failure can lead to
Lets look at some examples:
► Systems Engineers work w/ marketing, engineering, and
others to define what product customers would like to see, what features are
required in that product, what timeframes are necessary for delivery, and what
benefits this product will provide to the company.
If systems engineers do their jobs properly, the direction for the
product is well established (“well begun is half done”).
If they don’t do their jobs properly, then it is likely that chaos
and frustration will result, as the underlying foundation will not have been
► Architects determine the framework of the product and
each of its sub-systems. They
determine how the pieces will be constructed and interconnected.
They determine if the overall goals of functions, features, and
performance will be achieved. If
they do their jobs properly, all of the pieces will fit together as planned,
and the implementation will proceed smoothly.
If they don’t do their jobs properly, then frustration will reign as
developers and testers try to force their pieces into a framework that
wasn’t built for them, and disaster will likely result.
► Project Managers include the planners, trackers, and
gatekeepers who ensure engineering delivers on its commitments.
They develop the project plan, meet with all the relevant parties,
tweak and cajole people to get their parts done, and keep the project on track
and on time. They identify issues
early and find ways to address them. If they succeed, the project will be developed on time, and
the product will have the desired features and be of high quality.
If they fail, it is likely that the project delivery will late, the
product quality will be poor, and the development costs will be high (see eN-021107
– Ineffective Engineering Costs You Time, Money, and Customers!).
► Developers include the software and firmware coders and
the hardware and mechanical designers who implement the product.
They take broad requirements, define detailed design specifications,
and creatively transform those specs to make the product come to life.
If they their jobs properly, the right product gets implemented, with
quality designed in. If they
don’t do their jobs properly, the result will be a product that does not
meet design specifications, and one where quality is likely questionable.
► Testers verify that the product works as specified.
If the developers have done their job, testing should not uncover
underlying quality issues; if developers have not done their jobs, testing can
become a nightmare. Testers test to the specifications (inside the box testing)
and beyond them (outside the box testing).
They do unit testing, integration testing, functional testing, system
testing, white box testing, black box testing, negative testing, etc.
If they succeed, the product released will encounter few problems in
the field. If they fail, the
reception in the field can be disastrous.
► Others: Of course,
there are many others who are equally critical to the overall success of the
development effort. These include
usability specialists, performance engineers, technical documenters,
sustaining engineers, and many, many others.
As with the above, it is essential that each does their job, or the
overall product development process is jeopardized.
Many functions are performed as part of a product development process
“machine”. Done properly,
with everyone recognizing the importance of their role in the overall process,
the company ends up with a product that all can be proud of and that satisfies
a real customer need, makes customers happy they bought the product, and makes
the company money. Done wrong,
with some individuals not doing their best or understanding their role in the
overall process, the result may be a product with minor flaws, or a product
that’s hard to use or doesn’t work as advertised, or a product that
doesn’t work at all. The result
will be customer dissatisfaction, which will reduce sales, reduce profit, and
reduce or destroy the reputation of the company.
Copyright © 2002-2003
Effective Engineering Consulting Services,
All Rights Reserved