Your Software Project Has No Goal
By Jurgen Appelo | minute read
Human beings, organisations and software projects share one important thing: they have no intrinsic goals. The goal of something that emerges from interacting parts is not determined by the goals of those parts. However, extrinsic goals are an entirely different matter.
What Is Your Goal in Life?
Have you ever thought about your goal as an individual human being? Is it your goal to find happiness? Is it your goal to be rich and famous? Is it your goal to build the world's biggest collection of harmonicas? My goal is to rule the world. What's yours? Well, whatever your answer, it is probably not to reproduce as much as possible. Though I'm sure that some readers may want to perform the act of reproduction as often as possible, without actually reproducing.
In "The Selfish Gene" Richard Dawkins described that it is the "goal" of our genes to be copied around. Our "selfish" genes have programmed us to act as vehicles for gene-transmission. But does that mean that for us, as human beings, reproduction is our goal? Of course not. Humanity is an emergent property of the human gene pool. We may thank our genes for creating us, but now that we're here we prefer to draw our own plans. And that distinction is very important.
The goal of something that emerges from interacting parts is not determined by the goals of those parts:
- The goal of a beehive is not determined by the goals of the bees
- The goal of a city is not determined by the goals of its residents
- The goal of a brain is not determined by the goals of its neurons
Note that complex systems can have intrinsic goals. For example, maybe there are genes that are not selfish. But unless they are taken along for a ride by other (selfish) genes, they will be wiped out quite rapidly by the selfish ones. Therefore, reproduction can be considered an intrinsic goal of genes. But, this is an emergent goal. It is not determined by the goals of the molecules that make up those genes.
What Is the Purpose of a Rock?
A article in New Scientist explained that the human mind has an
overdeveloped sense of cause and effect which primes us to see purpose and design everywhere, even where there is none…
It appears that the human brain is wired to find purpose in everything. We attribute goals, cause and effect to all things around us, even when there's no reason to. The New Scientist article explains it like this:
We have trouble accepting that things can exist or happen for no purpose. Sadly, this was quite evident three weeks ago when a plane crashed near Amsterdam. Almost immediately after the crash an investigation was started to find our who was responsible for it. Apparently, people don't want to start with the assumption that accidents can happen for no reason.
What Is the Goal of an Organisation?
At the start of the last century, Taylorism (or "scientific" management) introduced a form of machine thinking to organisational management. The organisation was seen as some sort of machine, and it could be managed like one. And just like the owners of a machine can give purpose to it, the owners of a company could give purpose to their company.
In 1970, Milton Friedman, one of the most celebrated economists of the 20th century, wrote a famous article called, The Social Responsibility of Business is to Increase Its Profits. He denied that companies have non-financial social responsibilities. In the 80s this view was implemented through shareholder value, the idea that the goal of a business is to enrich its shareholders. This concept quickly found its way into many company mission statements. Jack Welch, the former CEO of General Electric, has always been regarded as the father of the shareholder value movement. But the economic crisis proved that the shareholder value idea has its faults. And Welch recently condemned shareholder value as a "dumb idea."
The major problem I see here is that these great economists and businessmen have been thinking like Deborah Kelemen's 7-year-old children. They were seeing purpose where there was none. An organisation is an emergent phenomenon. It is the result of the interaction between shareholders, managers, employees, customers and suppliers. They all have their own goals, but none of the stakeholders can claim that his goals are also those of the emergent organisation. Shareholders are not the owners of the emergent properties of an organisation. They are owners of the assets in the organisation. They cannot own people and their relationships. Managers and employees have different goals, and so do customers and suppliers.
An organisation is a social structure of various stakeholders, and they all want to satisfy their own goals through collaboration.
In "The Living Company", Arie de Geus described how companies are better described as living systems. They consist of many (living) interacting parts, and companies exhibit emergent behaviour that cannot be reduced to the behaviour of the individual stakeholders. So allow me to repeat here:
Milton Friedman was right when he thought that the responsibility of businessmen is to make money. But complexity theory did not exist when Friedman wrote his famous article. In his time, companies were still mostly seen as machines. He probably didn't know about emergence. Research into emergence started in the 80s. Now it seems Friedman was wrong to elevate the goal of one stakeholder to the entire emergent system. However, it would be fair to point out that people who claim that businesses do have non-financial goals are also wrong. For the very same reason. They are assigning purpose where there is none.
What Is the Goal of a Software Project?
On Twitter I asked people what their thoughts were about the goal of software projects. These were some of the answers I got:
Of course, it was just a trick question. The answer was already in my mind. I just wanted to see if people came to similar conclusions. (And some of them did!)
Software projects have no (intrinsic) goals. A software project is a social structure of stakeholders. They all have their own goals. Neither customers nor team members can transpose their goals to the goal of the emergent software project.
I took care to emphasise the word intrinsic several times. That's because I do think it is important to come up with extrinsic goals for your software projects. But that's a story for another night.
Jurgen Appelo is Chief Information Officer at ISM eCompany, rated (a while ago) as the #1 fastest growing technology company in The Netherlands. As a manager, he leads a horde of 100 software developers, development managers, project managers, business consultants, quality managers, service managers and kangaroos, some of which he hired accidentally. Jurgen blogs about his experiences managing software development at noop.nl