Four Pillars: Time to rethink Frederick Brooks?

I’m going to be lazy and use parts of Wikipedia’s summary of The Mythical Man-Month. And make a few assertions as to why we may need to revisit the whole shebang. Yup, another very provisional post. More musing than thinking.

The Mythical Man-Month: When we develop for the web, are there really any more large teams working on monolithic projects? I guess that’s possible in some consultant-riven (yes riven not driven) public sector projects, but I’d rather not believe these are common. With social software, is there really an increasing communications overhead as you add people? Or is it a value-generating network effect, a real Power law? Does an opensource community working on an infrastructure component actually generate negative output at the margin? Which is the myth, The Mythical Mythical Man-Month or the (ostensibly) Mythical Wisdom of Crowds? Is democratised innovation a myth?

The Second-System effect: When you deliver little and often and you have active feedback and feedforward loops, is there really a second-system effect? Did Google or Skype or eBay or Amazon experience second-system effects? Or maybe they just missed that out, like the 13th floor.

Progress Tracking: If web development is about incremental daily delivery, are we reaching the stage where the cost of tracking exceeds the cost of delivery? Are projects becoming better, one day at a time? Can they? If Beta is now a recognised state, where is it on the progress map? Have we not already moved to a world where we work with constrained development team sizes and prioritised, dynamically allocated and re-allocated resources and deliveries? Where team size is a constant and delivery dates vary as needed? Where dates and real and politics are virtual? Where Prediction Markets define future progress.
Conceptual integrity: Is it really possible to separate architecture from engineering any more, and if so to what extent? Haven’t we already moved to a point where conceptual integrity is required at an ecosystem level, not at a system level?

The Manual: Hang on a second, let me get out my manuals for Skype and Google and eBay and Amazon and Firefox. Oops. Brooks meant reference and systems manuals, not “user” manuals. Let me get out my manuals for all the Writable Web applications we use where I work. Oops.

The Pilot System: That must mean Beta. The Google Beta. Is it really throw-away? How do you throw away a web app? No don’t answer that one, send me a postcard.

Formal documents: See The Manual.

Project estimation. Let me see. It will take one team day to deliver one team day worth of value, with deliveries prioritised according to market stimuli. When does a project start, when does it end? In today’s world, are these terms nothing more than tools to represent our actions in ledgers? And will we need that kind of representation if we stopped “capitalising” things?

Communication. See opensource movement. Global. Scalable teams. Social-software enabled.

The surgical team. See hacker.

Code freeze and system versioning. OK Mr Brooks, you win that one. Let’s keep it. Maybe we should call it community mores and values and modus operandi?
Specialised tools. OK we’ll concede them as well, except that we are now talking about opposable thumbs and machine tools and Because Of infrastructure.

Lowering software development costs: I love this one. I quote from Wikipedia: “Another technique Brooks mentions is not to develop software at all, but to simply buy it “off the shelf” when possible.” It’s now called opensource.

I’m only half-serious, but serious enough.

Generation M is not going to worry about the Mythical Man Month. They know the world revolves around the sun. How many people at Google and eBay and Amazon have read the book? [I’d really like to know].

Time to rewrite it. Because otherwise we face a different problem. We need to educate those that control and manage and check and monitor what developers do, otherwise a Little Mythical Man-Monthing can be a Very Dangerous Thing.

Four Pillars: Time for a Jailer’s Dilemma? Let the Games begin!

Wish I was a Kellogg’s Cornflake/Floating in my bowl taking movies
Relaxing a while/Living in style
Talking to a rais’n ‘cas’nally played LA
Casually glancing at his toupee

Simon and Garfunkel, Punky’s Dilemma

Love those lyrics, the meaninglessness of everything they portray. I have this image of the cornflake wearing sunglasses and a beret and a loud red shirt while floating in something that looks suspiciously like a director’s chair. And I really have no idea where the image came from, whether I’ve actually seen something reflecting this song graphically. But the image is there and real. As is the toupee on the raisin.
Good for Punky, whoever he may be.

Now. To more important (and potentially even more enjoyable) Dilemmas.

I think we’re fast approaching a time when we’re all going to have to learn about The Jailer’s Dilemma. [When I first wrote this I used “Gaoler” and then decided it was needlessly affected, would only reduce the number of people I communicated to, while “Jailer” conveyed the same meaning without the fuss and affectation. Was I wrong?]

Try and imagine a lock-in-practicising vendor. It’s not really that hard to do. Who is he locking in? You. Me. Us. So, at least for the sake of this argument, let me call such a vendor a jailer.

We have many jailers. And there are many of us jailed. The walls of the jails are made up of silo bricks, of IPR and DRM, of historical monopolies, of incompatible formats and standards and protocols. I’m sure there are more types of brick and of wall, but you get my drift.

We have many types of jail, with the type dependent on the nature of the brick. And we have the dubious distinction of being in multiple different jails at the same time. One of the unforseen consequences of digital jails is that you can be in more than one at the same time….

There are some forseen consequences as well. Moore’s Law and Metcalfe’s Law and Gilder’s Law and globalisation and disintermediation and the internet and the Web and telephony becoming software and commoditisation and virtualisation and collaboration and democratised innovation and opensource and The World Live Web and the Writable Web, all this has meant that the walls are less threatening than they used to be. There are holes and escape tunnels aplenty.

That’s why it gets interesting. There are lots of new dilemmas around. And they are different from the classic Prisoner’s Dilemma.

First, it’s not a zero sum game any more. The total number of potential prisoners is an increasing number.

Second, both prisoners as well as jailers can choose to defect or cooperate.

Third (and this is in common with more modern approaches to PD) memory is guaranteed and a core part of the game. What is different is that this memory is open and transparent and shared. An efficient market.

Fourth, there are different dimensions to cooperation or defection. Prisoners can choose to cooperate (or defect) with each other. Jailers can choose to cooperate (or defect) with each other. And prisoners can cooperate (or defect) in conjunction with jailers. And vice versa.

Fifth, we have external influences. Lawyers and regulators and governments are also in the game, inaugurating new jails (often) and shutting down old ones (occasionally).

Sixth, there’s a lot of money involved. A lot.

So where’s the payoff? What are the rules of the game? How do we get to equilibrium? What is the optimal strategy? Does Apple win by releasing their iTunes prisoners and going all the way with FairPlay? Does Microsoft win by providing Firefox and OpenOffice pre-installed? Can Sun do a Lazarus?

I have news for the jailers. The prisoners are cooperating. They are a market and a voice, a movement and a nation.

We may not have all the rules understood, we may not even understand the game.

But one thing is clear. Our intentions are known. The prisoners are going to win. Community-grown standards in a live ecosystem where freedom of speech and movement and exercising of intellect are sacrosanct.

So jailers beware. You can choose. Cooperate or defect. Don’t land up being the only ones in your jail. It gets lonely.
Suppose they gave a jail, and nobody came?

More later.