Vertical
hierarchies are the classic tree
structure so familiar to Western
culture. Horizontal hierarchies
are pyramidal structures with
layers of organization, such as
in a large law firm. The drawing
below illustrates these two types
of organizations.
"A
horizontal organization, Moses
explains, "is an example of an
organization where rank is important.
(A vertical organization) is an
example where title is important.
"
The
tree-structure approach is very
general. You don't have to think
very much in using it. It works
in nearly every case, at least
to some degree. Therefore you
are misled to believe it works
very well all the time.
"Not so," Moses argued. In fact,
recent data shows that 70 percent
of new software systems, largely
using tree structured hierarchies,
failed either because the organization
didn't deliver a system at all
or the system was delivered quite
late and well above budget. "
Pyramid systems, on the other
hand, take a more holistic approach,
resulting in several layers and
platforms. This leads to the ability
to work on product families as
opposed to individual products.
Moses asserted, "The more platforms
or the greater number of layers
the better, at least much of the
time."
The
difficult part, however, is determining
what those layers should be. Moses
calls this the Art of Decomposition.
"A big architectural idea breaks
a problem up in really big ways.
All you need is one or two of
those, and you can win big. It's
not easy to develop such architectures
in an environment that does it
the other way, but I think as
we get more examples, we'll find
it easier."
There
are many examples of such architectures
in software (a high level language
is a horizontal decomposition)
or communication systems (the
Internet, for example).
One
of the greatest payoffs of creating
a pyramid system is flexibility.
"What you want to do is build
in flexibility into a system,"
Moses said, "so the kinds of changes
that the user or customer is likely
to want to make are the ones that
are easy to implement."
This
often leads to a non-optimal design,
but "updating an optimal design
will oftentimes cause you to make
a change which is far from optimal."
With the fast rate of change in
today's world, Moses believes
"you have to make it easy for
the next guy to make changes readily,
even if this means the loss of
optimality."
Closely
connected to flexibility is reusability.
Pyramid structures, which are
based on platforms, open themselves
up automatically to reusability.
This in turn gives you greater
flexibility.
Moses
pointed out, "Once you create
a design, then lots of different
people can use it and they can
be sure it's going to work because
it's a platform that provides
guarantees regarding what it's
supposed to do."
As
with everything, there is a downside.
"There's no question; there's
additional overhead associated
with every level," Moses warns.
"I claim if you have good infrastructure,
you can mitigate this overhead
so it's not a critical weakness."
Moses
also believes that the complexity
is lessened by pyramid structures.
"A key point in dealing with a
complicated system is to not let
it grow too large. Well, how do
you deal with a very complex system?
Reuse its components like mad!"
Moses
left the SDM students with a challenge:
How do we marry the advantages
of the tree-structured approach
with the layered approach? "It's
not clear now how to do that,"
he observed. "That's a challenge
for the coming years."
Joel
Moses is an Institute Professor
at MIT, one of only 13 who currently
hold that title. In his more than
thirty years at MIT, he has served
as provost (1995-1998), dean of
engineering (1991-1995), chairman
of the Electrical Engineering
and Computer Science Department
(1981-1989), and associate director
of the Laboratory for Computer
Science (1974-1978). He has been
named a fellow of IEEE, and a
member of the American Academy
of Arts and Sciences and the National
Academy of Engineering. Moses
also was instrumental in the conceptualization
of what is now the SDM Program
and in creating the Engineering
Systems Division.