day 27
![]()
artisans of the electrosphere 4: building better camels
"The School of Athens"
George Deem, 1987The first conceptual block that must be brushed
away is the wrong-headed idea that software can
be manufactured like so much sausage on an
assembly line. Even the pyramid-building
production line of the Pharaohs was run by
artisans. Even the School of Athens - often
cited as the original system of mass education -
broke down into small groups called classrooms.
This leads to the first rule of the electrosphere:
SOFTWARE DEVELOPMENT BY COMMITTEE YIELDS A CAMEL.
Most failures of software development start byapplying Industrial Age principles of
manufacturing to what is essentially a creative
or artistic process. For example, in an
Industrial Age factory, there are too many
people, too much planning, and too much
control. Sure, this is usually the direct result
of size, but why are large teams needed? Large
software development teams kill creativity,
stump management, and result in late,
budget-busting products. Never try to develop
good software with a big group of programmers.
Is it possible for small teams to develop
significant products? Lets look at some
examples. Unix had two parents; the MacOS had
perhaps 4-5. The Pentium team was small enough
to fit into two phone booths. Software
development must be done by small groups of
intelligent artisans.
Corporate ledger-animals hate this rule. They
want to speed things up by adding more
programmers, but as Frederick Brooks pointed out
in "The Mythical Man-Month," crowding people
onto a team only makes things worse. Brook's
advice is still valid, but often forgotten by
the modern manager.
The second rule is harsher and more difficult to
grasp:
NOT EVERYONE CAN BE A PROGRAMMER.
In the early 1980s, when it was fashionable tomajor in Computer Science, university Computer
Science departments were overflowing with
teenagers who wanted to be just like Bill Gates.
A CS degree was their guarantee of riches and
bright lights. Unfortunately, while most of them
could get into the University, few of them could
get into Microsoft. The hiring managers at
Microsoft knew better. They knew that only a
very small fraction of these graduates had the
talent to program. They knew that programming is
an art form, not an engineering discipline.
"Give us creative speed-coders, and we will know
how to manage them," is Microsoft's approach. By
requiring daily builds of each product under
development, Microsoft keeps their small teams
of creative artisans under control. But
Microsoft never forgets our second rule. Unless
you like junk food, coding until 3am, and have
the natural ability lacking in most people, you
don't become a programming artisan at Microsoft.
But this is not enough. In our final episode, we
point the way to the future of software
development. Will there still be jobs for
programmers in the year 2020?
artisans of the electrosphere: 1
2
3
4
5
Daily Dose Index