Jurgen Appelo wrote a post a couple of days ago, Your Software Project Has No Goal. His argument was summed up in the first sentence:
Human beings, organizations and software projects share one important thing: they have no intrinsic goals.
Um… no. That’s wrong. And the reason why it’s wrong is in the very next sentence:
The goal of something that emerges from interacting parts is not determined by the goals of those parts.
The key point here is Jurgen is talking about something that emerges from interacting parts, an emergent phenomenon. But an organisation or a project isn’t an emergent phenomenon – they are created, and created with a purpose, a goal.
There are plenty of emergent phenomena all around – the flocking of birds, the building of termite mounds, convection cells in heated fluids, and so on. What all these examples have in common is that they display behaviour at the macro level – that of the flock, colony, or convection cell – which emerges from much simpler behaviour at the micro level – the individual birds, termites, or convection particle.
So, for example, in flocking a bird may only be obeying three simple rules – keep in touch with the flock, travel in the same average direction, but don’t get too close to any individuals. From these three simple rules, we start to get the typical complex flocking behaviour we all recognise, despite none of the individuals trying to behave in that manner.
In other words, the flock doesn’t have an intrinsic goal – it only happens because of interactions between participants having an emergent effect, not because they decide to form and behave as a flock.
Perhaps the strangest example of an emergent phenomenon is intelligence. Billions of neurons are connecting to each other, each individual cell following simple chemical prompts. But out of all of this, we get thought, memory – consciousness.
But the important thing to remember about all of these phenomena is that they emerged not because they were what the individual participants were aiming for, but as an unexpected outcome of it. You can readily see, however, where this breaks down for organisations and for projects.
You see, organisations, at least business organisations, don’t typically start because there happened to be a few people hanging around. They don’t emerge because separate individuals are trying to have a job.
No, organisations start because some individual, or group of individuals, decide to begin an organisation. And this is the crucial difference – an organisation is the intended outcome. To this end, a group of people are employed to be part of that organisation. An organisation is not an emergent phenomenon, it is an intended one.
And because there is a conscious effort to make an organisation, because it is an intended outcome, there is a purpose behind it. The decision to start an organisation is made because it is thought to be the best way to achieve what the creator is after. An organisation starts with a goal, otherwise it wouldn’t start at all.
Sure, once the organisation exists the interactions of the people in it may lead to an unexpected culture. There may indeed be emergent phenomena within the organisation caused by the interactions of the individuals inside it. But that doesn’t mean the organisation has no goal, only that the individuals in it have many goals, some helpful to the organisation, some not.
But because the organisation is a conscious creation, the creators of it harness these interactions, or stop them. For a business as a form of organisation, the simplest generalisation of a goal is to make money for the creators, or the owners. So those efforts of the individuals that help this goal are rewarded – by decree of those on high. Those efforts which damage this goal are punished – by decree of those on high.
And this goal, to make money, is an intrinsic one – it is the very reason the business exists. The reason an organisation can have this intrinsic goal is because it is created – it is not the product of interacting elements.
The same argument follows for projects. Projects don’t (or at the very least, really shouldn’t) start because there are some developers sitting around twiddling their thumbs, time on their hands, nothing to do. No, a project starts because some conscious agency, a creator, decrees that there is a problem to be solved, an aim to be met, a goal to be achieved.
That act of creation means the project starts with an intrinsic goal – again, because a project does not emerge out of the interactions of those within it. It is created, and then people are brought into it.
Of course, the intrinsic goal may be a bad one, but that doesn’t mean it doesn’t have an intrinsic goal. As a starting point, it is probably fair to assume the intrinsic goal of all projects in a business is to make, or save, the business some money. Why? Because then the intrinsic goals of the project and the organisation are aligned – meaning the project is far more likely to have been given the go ahead to begin.
It is the fact that an organisation and a project both have a conscious act of creation, an act with a defined purpose, that means they both have intrinsic goals. Religious arguments aside, there was no conscious decision made to create a race of hairless apes who run around asking questions, which is why humans don’t have intrinsic goals.
Human beings: no intrinsic goals. Organisations: intrinsic goals. And, sorry Jurgen, but yes, your software project does have an intrinsic goal.