Monday, November 11, 2013

Cheap hardware means meetings are expensive

In the early days of computing, everything was precious. Hardware was expensive -- really expensive. Processors, memory, storage, and communications were so expensive that only large businesses and governments could afford computers. (Programmers were relatively cheap.)

Over time, the cost of hardware dropped, and the cost of people rose. In the 1970s and 1980s, there were several charts that showed two lines: a steadily decreasing line for hardware cost and a steadily increasing line for the cost of programmers.

Today, hardware is cheap. Memory is cheap, storage is cheap, network bandwidth is cheap, and even processors are cheap. The Raspberry Pi computer sells for about $30; add a few items and you have a complete system for under $200. Moreover, the GreenArrays GA144 chip offers 144 processors for $20; a usable system for an experimenter will run about $500.

My point is not that hardware has become cheap.

My point is that in the early days, when hardware was expensive, we formed processes and ideas for project management, and those ideas were based on the notion of expensive hardware. Our practices for program design were made to minimize the use of expensive resources. A sound idea -- at the time.

At that time, hardware was expensive and people were cheap. It was better to hold meetings to discuss ideas before testing them on the (expensive) hardware. It was better to hold design reviews. It was better to think and discuss before experimenting. Those ideas are the basis for project management today. Even with Agile Development techniques, the team decides on the features prior to the sprint.

With plentiful hardware (and plentiful software from open source), the cost equations have changed. It is now cheap to experiment and expensive to hold meetings. It is especially expensive to hold meetings in a single place, with all attendees present. The attendees have to travel to the meeting, they have to sit through sections of the meeting that don't apply to them, and they have to return. This cost is (relatively) low when all attendees are already co-located and the meeting is short; the cost grows as you add attendees and topics.

Technology has reduced the cost of hardware. Agile techniques and global competition have reduced the cost of software development. Now we face the cost of meetings. Is anyone measuring the cost of meetings? How much of a project's budget is spent on meetings? Once this number is known, I suspect that meetings will become a target for cost reduction.

Which is not to say that projects need no coordination. Far from it. As projects become larger and more ambitious, coordination becomes more important.

But the form of coordination doesn't necessarily have to be meetings.

No comments: