The GDPR is now the law across Europe. I don’t like it. I think it’s seriously misguided.

It gives me rights and freedoms that I don’t want or care about. Viscerally as a human I’m not concerned what data others have about me. I don’t presume to know or change it, any more than I could reach into their minds and change their thoughts. If some evil magician gave me that power, I would recoil in horror.

I’m now uselessly informed of every way businesses use data. I can’t read a privacy statement any more. Can you? I can withdraw consent, but the other side can withdraw the service or whatever is their side of the deal. The law doesn’t give me anonymity, or discretion, consumer rights, or anything that I care about.

CCTV is everywhere. The phone company tracks me and my calls are logged. My provider knows where I go on the internet. The law does nothing whatsoever to stop state surveillance. It’s privacy theater.

Abusing the law will be fun. Every time I buy something firms ask for my details. I can immediately serve them a notice to erase the data or face millions in fines. I’m sure it’ll be great for European businesses if everyone does that.

Global firms may decide it’s not worth the risk and cut their services from us. Suddenly I face discrimination because of my citizenship, and there’s nothing I can do about it. Good job!

It’s massive jurisdictional overreach and hugely intrusive to enforce. So is copyright and other “worthy” censorship laws, but we need fewer of these not more.

Terrible legislation. Misguided, and I think miss-sold. The GDPR is last century politics, fighting the STASI, or big bad Google whom citizens don’t want fought on their behalf.

How to price air travel properly

The current pricing model for air travel is nonsense stacked upon nonsense. Single fares, return fares, fees for changes, discounted and flexi fares, business fares, loyalty bonuses… all nonsense. It developed as an anti-competitive arms race between the airlines of the 70s and escalated from there. Nonsense. Here’s how to price air travel properly.

The cost of a seat has three components:

  • A fare, valid for a segment class, season, and class of service. For example “Between UK and East Coast US, standard service (economy), spring-summer 2014” £345.
  • An option to travel on a particular date, flight, and seat. For example “Option to travel on VS45, LHR-JFK, May 17, 2014, rows 28-37” £73.
  • An efficiency bonus. For example “Returning within a week, returning on the same weekday, checked baggage, full flight” -£65 (discount). Or another example “Short connection, Roll-on luggage, meal” £35 (surcharge).

To travel, you need to purchase a fare and at least one option for the flight you want. When you check in you may get money back as an efficiency bonus, or if you do certain things you may be asked to pay surcharges.

Continue reading

The cardinal error of design

The cardinal error of design is to survey your users, observe what they do, gather your use cases, understand the use cases in detail, and then design your artifact to embody each of those use cases as directly and faithfully as possible. It’s to design your artifact explicitly according to the way it’s supposed to be used.

Wait, what? Isn’t this how you are supposed to do design?

It’s not. People will not use your system the way you designed it to be used. It’s a mistake to assume it will be used one way, or five different ways, or as many ways as you’ve explicitly enumerated. However many distinct use cases or paths you identify, people will use it in more ways. They’ll use it their way. They’ll combine different ways and jump between one use case and another. Or they’ll interpose a different product in the middle of using yours. A well-designed product accepts that actual use patterns are emergent. You cannot list them, but you can hope to facilitate as many patterns as possible beyond the ones you’ve envisaged.

Continue reading

Advice for life


  1. Make a conscious effort at fun! If you just work on the sensible things the fun will not happen. You need to go and get your life’s fulfilment.
  2. What others will want to do with you doesn’t depend much on your looks, your style, or how you fit in. It is almost entirely a matter of trust.
  3. Aside of things that your body is not cut for, nothing is too difficult. Everything in the world has been done by groups of ordinary people like you.
  4. The way to be strong is to care about things beyond yourself, like children, ideas, or others; not to surround yourself with things you care about.
  5. Never, under any circumstances, run out of dreams!

Others and the World:

  1. Aim to produce more value than you capture. Help others do the same. This is extremely hard to put into practice.
  2. Always try to remember what happened, not how you interpreted it at the time. Keep an accurate and long memory and go back to make sense of it later.
  3. Listen to smart people who paint a consistent picture over which they have no self interest. It’s so hard to fake this that they’re probably reporting the truth.
  4. People don’t think with their brains, they think with their ideas. Smart people carry ideas that are more consistent, accurate, and broad ranging.
  5. Everyone has to make a living and act their role. Judge people by the roles they seek and how they wear them. Don’t judge the role as if it was the person.

What I learned about issue tracking

After years of leading software projects I’ve learned many good practices about tracking issues. The most surprising and important though, is this:

Each of your issue tickets is costing you a fortune. Keep their number down!

And I don’t mean the engineering cost of the actual fix. No. The mere fact that a ticket exists in your tracking system is a gigantic time sink. Continue reading

What I learned about requirements management

Here’s what I learned about requirements management after more than 15 years in the medical software industry.

Stop! Before you invest any time or money on requirements management, or any tools for that, you must solve these three problems. No, really! Don’t work on processes or tools until you fix these:

  • Give your dev team a very clear, straightforward, down to earth picture of what you’re trying to build. You should be able to explain it in an hour and write it in a few pages. This must come from marketing, but everyone in the team should be able to relay it faithfully enough.
  • Make sure everyone in the team actually believes this is happening! Check that they believe the project is going to take place, the time scale is sensible, it’s going to succeed, and that they personally are going to do it. If they don’t really believe some of that they’ll keep working, but won’t achieve success.
  • Make it so that your people care personally about the product and its quality. If you’re building a consumer app like a game or website, make sure they use it. If it’s a profesional tool make sure they empathise with the specialist who is going to use it, and what the specialist is trying to achieve in the world.

The good news is, once you solve these three issues thoroughly, requirements management will be very easy. All you need is descriptions and categories. A document with chapters will do. If your project is large or has a long future (and not otherwise) use a database that gives you at least one level of nesting, so you can group related specs (user interface, back end, service & support, etc) together. That’s all you need. Write specs as simple facts about what the product does.

Continue reading

Time for one OS – Android

It’s time to have one operating system, and it will be Android. Yes, on everything. Google’s world domination will succeed.

There are two sets of things an OS does. It’s a user interface, app sandbox, and hardware abstraction. Android does these really, really well. It’s a fresh UI for fingers rather than mice. It’s the first to offer proper sandboxed security, so we can install apps written by random strangers, like we wanted to do since the 80s. It runs on everything and it’s free.

The other job of an OS is to be a deployment target for apps. A few years ago, the bulk and complexity of these APIs ensured the dominance of Windows. Now, the lock is breaking. Software is becoming a service. You don’t buy software, you download the app to access the service, or it’s just a Web page. Legacy software like Microsoft Office can run in VMs, or in the cloud.

Continue reading

The air travel rant

Note, this is a fairly superficial rant. Don’t tell me that it isn’t an in-depth analysis of the transport industry, I know!

Air travel is stuck in the 1960s. Not the planes. The planes have evolved greatly but the airlines, the service offering, and the experience are stuck in the ’60s

The airlines
Why do airlines still exist? Or rather why are the plane operators still so visible to the customer? Buying travel from an airline is like buying energy directly from a company that runs power stations.

Running planes is, for all practical purposes, a commodity service. Safety is governed by regulations and the economics are better the fewer and larger the planes. Aviation would be better run by commodity carriers.

Continue reading

Leading and selling

All leadership involves a kind of lying. Attack and we’ll prevail over our enemies. Work hard on this product and we’ll succeed. Join our growing community. When the leader says these things, success does not yet exist. The act of leading produces an image of success and of a path to it. The many enthusiastic acts of following create the success. If too few people follow, or follow in a very half-hearted manner, there will be defeat, failure, or no community.

Selling is not like this. To sell is to convince someone of the value of a thing that you have, so that you can exchange it favorably. You have to have the thing, and it has to deliver the value readily by itself. Great selling acknowledges this. Buy a Mac, it can do these things out of the box. The cardinal sin of selling is to sell things that don’t deliver the value that is claimed. Drink Coke and you’ll feel happy. Really? That could only be honest selling for drugs. Otherwise it’s very uninspiring leadership. If you’re active and outgoing, do fun things with others, and also drink Coke, you’ll feel happiness.

Continue reading

What is a manager?

A good manager is someone who takes decisions that carry cost before the right decisions become obvious.

Anyone can take precautions if they have zero cost, of if they appear to have zero marginal cost. There is therefore a tendency to reduce the marginal cost of various precautions, processes, regular forums, documents, and the like by turning them into a running waste. That’s an attempt to make management easier, or more precisely to make bad management less distinguishable from good while sacrificing any efficiency.

Also, any vaguely competent functionary or committee can make tough decisions once the costs and benefits are unequivocally obvious. I once had a manager who, when faced with any important decision, asked his reports to gather all relevant information and present it in a table. He would only accept analysis that made the choice obvious, which is equivalent to saying he only made decisions of zero risk and zero marginal value.

The valuable work is to take decisions that are costly now to gain benefits or avoid risks that are as yet unseen in the future. The good manager is alone, or at least needs to have peers who are above the daily affairs of their team and are able to look into the longer horizon. Effective management has to be empowered, like business, so that risks and gains can be balanced and foresight applied.

Forms of leadership

There are three kinds of leadership: coercive, charismatic, and conventional.

Coercive leadership is what you get in a dictatorship, or a pack of dogs. The leader is whoever took the post by force. They stay in power as long as they can defeat or deter challengers, which requires that the leader is the strongest, literally or in the sense of being the most ruthless. There is a top-down power structure that keeps the majority in line by reminding them that they have no choice.

Charismatic leadership is what you find in a band, or other relatively fresh voluntary association. The leader is perceived as being the best at whatever is the aim of the organization. Followers follow the leader because they value their inspiration and direction. Any challengers would have to demonstrate superior ability, rather than attack the leader as such.

Conventional leadership is the kind found in democratic states and other large, mature organizations. The leader has no distinguishing characteristics other than fairness and commitment. The members of the organization subscribe to the leadership because they see the benefits of structure and coherence. The leader is expected to identify and publish a consensus direction, but not primarily to steer the group.

All three kinds of leadership have validity, including the coercive one in certain contexts. Problems in leadership typically occur when the leader misrepresents, is not true to, or changes the kind of leadership that they are in charge of.

Continue reading

Marketing in software

Apple marketing
Hey, we understand you. You want a laptop to do these five or six things, right? Here, we’ve built one for you that’s very attractive and well-made and does the things that you want really, really well.

Microsoft marketing
You don’t really know what you want from your PC, and neither do we. We’re all in the same boat! So we made this software that has a whole bunch of features. Put it in your PC and it’ll do things. By the way your friends all have it, so if you go with the flow you’ll be able to share stuff.

Open Source marketing
User! You have no idea what you need and we’re not even going to attempt to tell you. Behind this link is our latest software, which we’re very proud of. If you use it, maybe you will see…

Guess who wins… Continue reading

Learn to love content consumers

Have you been to a movie recently? Do you get subjected to these industry warnings against unauthorised copying? Well, don’t know about you but they really put me off going to the cinema. These warning ads say to me “Go and watch free content on YouTube”. I get the same reaction when I hear about some industry lawsuit against a random citizen who was sharing music (or their kid was sharing music). The clear message is “Stay away from the recording industry and its products for the time being”.

Continue reading

Antifragiles and risk handlers

Previously titled: Achievement focused and risk focused types

I wrote this in 2009. After reading the book Antifragile by Nassim Taleb in 2012, a superb philosophical essay, I realize that the people I call achievement focused are “antifragile” by his terms and the others are experts at handling risk (not fragilistas, which Nassim uses as a derogatory term).

When it comes to performance there are two personality types. We’ll call them antifragile (previously: achievement focused) and risk handlers (previously: risk focused). These two types of people approach success and failure in almost opposite ways and it’s good to realize this and know which type you are, as well as recognize these categories in the other stakeholders of your projects.

Risk handlers see success as a bar that they have to reach.

The best example of a risk handler is an airline pilot. The pilot has to get the plane and the passengers to the destination airport, safely. That’s a complete success. Nobody is going to thank the pilot for flying further, higher, faster, visiting a new city on the way, or doing acrobatics. Rather, the pilot has to look out for everything that can go wrong during the flight and avoid or recover from that situation. They’re constantly looking at risk, or potential failure, and try to avoid it.

Other examples of risk handlers are accountants, business managers of stable organizations, project managers, film producers, civil engineers, security and military officers, criminals, surgeons, mountaineers, and unfortunately many parents.

Antifragile (achievement focused) people assume a baseline level of success and strive to maximize value from there.

The purest antifragile person is an artist. Every artist, once competent, will succeed in applying paint to canvas, delivering a song, or remembering their lines. Artists are not concerned with reaching this baseline but with how far they can go from there. Is it new? Is it inspiring? Is the audience ecstatic? Can it be better? Can the work or the artist push new boundaries? Artists are always focused on achievement, and by definition this always has to be ahead of what they can currently reach.

Other antifragile roles are entrepreneurs, other growth-oriented managers, scientists, product managers, film directors, architects, good doctors with a health mindset, misfits and agitators, athletes, and all kids.

Continue reading

Painting pictures

Posted on LJ in April 2006, not edited.

Developing software is most like painting a picture.

You start with a vague idea of what you want to accomplish and roughly how to begin. But your mind’s eye can’t really see the whole picture with any accuracy of form, or the details of the picture with any precision. Thus the picture emerges as you paint. At each point during the work, what is already on the canvas lets you anchor your imagination and see a little bit further. As you try to paint this you encounter an imperfection or an aspect of reality, and have to adjust, until you have converged, by this cycle of imagination and recording, onto a picture that is whole enough.

Continue reading