Successful musicians write songs that other people like

I love Stevey's Blog Rants: I don't always agree with him, but he puts forward a hell of a lot of interesting ideas. Also, he writes long blog posts, which is respectful to his readership, who he considers to be something other than attention-deficit idiots. In a way, he's writing posts that would probably be interesting to himself and people like him.

This model of publishing in part explains the thinking behind his recent post, robustly titled Business Requirements are Bullshit. But Steve's audience---compared to the web at large---is a small, self-selecting group. So although keeping in mind some of the details of his recent post can prevent you investing in dead-end projects, I just can't agree with the overall conclusions about software development.

Although it'd be nice for everyone in the world to have programming skills, and to be able to behave like autonomous itch-scratching units, that simply isn't the case. The vast majority of people need software built for them, and software builders are a demographic, with a broad range of shared interests and a vast landscape of shared uninterests. What if you can't program but you want some software? Do you just sit there, or do you pay someone to build software for you? Should that person in turn refuse the money, saying "that's too risky: Steve said so?"

Steve's rant is aimed at CEOs instead, but the principle still stands. To what extent to people have to clamour for a particular feature before a CEO will say "well, I don't want that, but I do want your money?" Personal phone calls? Petitions to their local MPs? Pre-ordering? Pressing themselves against the windows of electronics shops and drooling on the glass? Demanding it be available on the welfare state? Well, the canny software house would have started building the software before any of the above had happened. But how could they know, if they're not secretly telepathic? Well, among other methods, by gathering business requirements.

From Steve's point of view it's less of an issue, because he works at Google, the House of Blue Sky Development. And I don't begrudge him that privileged viewpoint at all, because Google has earned the business success that bankrolls schemes like twenty-percent time projects. If every business had oodles of cash to throw at developers as they wander off along tangential projects, then maybe none of them would need to through half an oodle at a discovery phase. But as long as money is a locally limited and unevenly distributed resource, then there will need to be different solutions to the problem of working out what to actually build.

The ultimate direction of software development proposed by Steve is just far too exclusive, and it's been the bane of open-source projects for years. Project after project caters for its tiny community, never reaching out to what other communities might need; they start to cool off, then founder; the codebase is mothballed, and the project finally expires. Worse, in Steve's world, we'd have to wait for blind people and RSI sufferers to write their own FOSS voice recognition software: maybe the blind person could hold the keyboard and mouse, while the RSI sufferer tells them what's on the screen. Meanwhile, able-bodied programmers develop that sort of stuff for Vista without a qualm, and they can charge the earth for it because people want it.

Ubuntu's recent successes might be almost entirely attributed to the fact that (a) the project is well managed and directed and (b) they reach outside their own community, and solve problems for people other than computer programmers. Despite Ubuntu, Gartner recently announced that Linux had a 4% market share. 96% of consumers opt for software built by people who on the whole weren't solving their own problems.

The first commenter on Steve's recent post says:

I find that a lot of Free Software is awful for exactly this reason — the authors built it for themselves. Their software only works for other hardcore programmers because they can put up with the same complex implementation and integration problems and not even notice them, and if it's not quite right they lose a million potential worldwide users for every mistake.

The recent success of Ubuntu as Open Source Software shows that a lot of other projects still don't get it. The first thing an OS community needs is outreach: scratching other people's itches and not their own.

Actuallly, he says almost exactly the opposite, but then: he emails people with patches, so he's probably a software author himself. At the very least, he's in that four percent, preaching to the rest of the already converted. Meanwhile, the rest of the market went thataway. And if Warren Buffett were to take a break from spreading thickly his easily-believed homespun down-to-earth nonsense for a minute or two, what would he really do to capture that 96%?

Comments

We just write code for ourselves, and if anyone else likes it, it's a bonus

I knew this post would bring you out of the woodwork. That means I can badger you to come along to OGN8.

I actually got all the way to the end of the article before I realised the title had suckered me into reading something that wasn't about music in the slightest.