Relevant Definitions
(from the Hacker's Dictionary)
:Mongolian Hordes technique: [poss. from the Sixties counterculture
expression `Mongolian clusterfuck' for a public orgy]
n. Development by {gang bang}. Implies that large numbers of
inexperienced programmers are being put on a job better performed
by a few skilled ones. Also called `Chinese Army technique'; see
also {Brooks's Law}.
:gang bang: n. The use of large numbers of loosely coupled
programmers in an attempt to wedge a great many features into a
product in a short time. Though there have been memorable gang
bangs (e.g., that over-the-weekend assembler port mentioned in
Steven Levy's "Hackers"), most are perpetrated by large
companies trying to meet deadlines; the inevitable result is
enormous buggy masses of code entirely lacking in
{orthogonal}ity. When market-driven managers make a list of all
the features the competition has and assign one programmer to
implement each, the probability of maintaining a coherent (or even
functional) design goes infinitesimal. See also {firefighting},
{Mongolian Hordes technique}, {Conway's Law}.
:Conway's Law: prov. The rule that the organization of the software and
the organization of the software team will be congruent; originally
stated as "If you have four groups working on a compiler, you'll
get a 4-pass compiler".
Melvin Conway, an early proto-hacker who wrote an assembler for the
Burroughs 220 called SAVE. The name `SAVE' didn't stand for
anything; it was just that you lost fewer card decks and listings
because they all had SAVE written on them.
:Brooks's Law: prov. "Adding manpower to a late software project
makes it later" --- a result of the fact that the expected
advantage from splitting work among N programmers is
O(N) (that is, proportional to N), but the complexity
and communications cost associated with coordinating and then
merging their work is O(N^2) (that is, proportional to the
square of N). The quote is from Fred Brooks, a manager of
IBM's OS/360 project and author of "The Mythical Man-Month"
(Addison-Wesley, 1975, ISBN 0-201-00650-2), an excellent early book
on software engineering. The myth in question has been most
tersely expressed as "Programmer time is fungible" and Brooks
established conclusively that it is not. Hackers have never
forgotten his advice; too often, {management} still does. See
also {creationism}, {second-system effect},
{optimism}.
:creationism: n. The (false) belief that large, innovative software
designs can be completely specified in advance and then painlessly
magicked out of the void by the normal efforts of a team of
normally talented programmers. In fact, experience has shown
repeatedly that good designs arise only from evolutionary,
exploratory interaction between one (or at most a small handful of)
exceptionally able designer(s) and an active user population ---
and that the first try at a big new idea is always wrong.
Unfortunately, because these truths don't fit the planning models
beloved of {management}, they are generally ignored.
:management: n. 1. Corporate power elites distinguished primarily by
their distance from actual productive work and their chronic
failure to manage (see also {suit}). Spoken derisively, as in
"*Management* decided that ...". 2. Mythically, a vast
bureaucracy responsible for all the world's minor irritations.
Hackers' satirical public notices are often signed `The Mgt'; this
derives from the "Illuminatus" novels (see the Bibliography in
{Appendix C}).