day 27




artisans of the electrosphere 4: building better camels



"The School of Athens"
George Deem, 1987

The 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 by

applying 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 to

major 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