Category Archives: Christianity

Jesus, philosophy, life

A Manifesto for Post-Agile Software Development

— DRAFT —

In nearly 15 years since the Agile manifesto was penned, an entire generation of the software industry has grown up having known only ‘Agile’ methodologies. Their experience has not been entirely positive.

The ‘new’ criticisms made against agile – that is, by those who have grown up with it, not those who opposed it in the first place – are rarely criticisms of the agile manifesto. They are, often, reactions against the (abusive) experience of being pushed into processes, behaviours & relationships which are unsatisfactory; whilst at the same being stripped of any power to improve them.

We should always react against people being pushed about, and made powerless.

A manifesto is a small thing. It can fall on deaf ears. It can be interpreted to mean the opposite of what was intended, it can be misused to manipulate people. But if we make the effort to keep in touch with each other, and to keep trying to re-state what was meant, it can continue to be a valuable guide. And so I propose a 15th anniversary postscript.

Manifesto for Post-Agile Software Development: A Postscript

  • The agile manifesto was not and is not a prescription for people to impose conformity, nor a tool for controlling people.
  • There is a deeper theme to agile. At the core it is based on trust and respect, promoting workplace relationships which value people. We oppose methods, structures and behaviours which reduce respect and trust, and which reduce people to assets with no power.
  • Agile will always demand shared learning and shared improvement. Without critical reflection and learning – both from their own experiences and from the wider community – teams cannot remain agile. Without improvement based on that learning, ‘agile’ becomes fossilization.

Manifesto for Agile Software Development: A Reminder of the Original

The Agile Manifesto:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Comments

You may wonder why the term ‘post-agile’. It may be pointless, but it’s already in use, so we could choose to go along with those who want to learn, change and improve on their experience of ‘agile’.

As I see it, there are two essentials to agile: treating people well; and never stop learning. Each of these two is only truly possible when the other is also practised.

  • The phrase and much of the bullet point ‘There is a deeper theme…’ comes from About the Manifesto.
  • The emphasis on continuous learning is for some so obvious as to need no explanation. But some are stuck in a so-called "agile" process which they are powerless to change or improve. The irony of naming such an structure ‘Agile’ would be funny if it weren’t so painful.
    • Ron Jeffries’s reaction to criticisms of Scrum has been: "The essence of what makes Scrum work isn’t the three roles, the five meetings, the one artifact. It’s Inspect and Adapt. When things are not going as you like, you’re supposed to fix it."
    • To cry out that without continuous learning and change there is no agile, can be a powerful tool for the disempowered.
    • Calling for change in a broken process can become a step towards changing broken relationships.

Alternatives

The main alternative to a ‘post-agile’ slogan is surely Alastair Cockburn’s ‘Heart of Agile’.

A rather rushed and incomplete bibliography

Draft – Comment & Contribution Welcome.

Money doesn’t make the world go round

“Who are we kidding? Apps are built to earn money. They are a product created to generate profit, and there are a number of ways we can get them to do just that. The simplest, and therefore most common method is …”

So says a typical email in my inbox. But. It ain’t true. Apps are also built because people love to build things. Many, many apps – and websites; and Real Stuff; — are built because people love to built things, and if they didn’t have to earn a living they’d still be building things. For some people, earning money is the pesky thing getting in the way of building the apps they’d love to build.

Highly Unlikely — The Mark of the Beast Bug

In 1991, amongst a series of theorems about rounding in floating point arithmetic calculations, the author parenthetically noted that rounding a number to 53 significant digits, and then rounding it again to 52 significant digits, might produce a different answer compared to when you do the rounding to 52 digits all in one go. He all but apologised for the parenthesis, noting it was “highly unlikely to affect any practical program adversely.”

19 years and 10 months later a researcher discovered that the “Mark of the Beast Bug” could freeze almost any computer in the world, and that millions of webservers could be taken down by it almost at the touch of a button — because of an error when rounding a very very small number, first to 53 significant digits, and then to 52.

Science and the touch of celebrity fallacy

Science is great, and when something’s great, this often results in enthusiastic proclamation of it as the One True Answer to pretty much anything. Which is unfortunate because science isn’t. Not all true knowledge is scientific knowledge, on the contrary, scientific knowledge is only a small fraction of what we know.

Most of our daily lives run on very un-scientific but still knowledgeable questions and answers, such as ‘what did you have for breakfast?’ and ‘what’s the news this morning?’ These are not questions which can be addressed by a scientific methodology because science is largely about hypothesis and repeatable experiments and there are no repeat experiments for one-off events such as what you were chomping at 8:02 this morning. These questions are answered simply by observing (looking, listening, smelling, etc.), an activity that science crucially depends on but which has been in active use since long before anyone thought of science. They could also be answered by asking someone who knows, which is probably our number one source of knowledge throughout our whole life. But that isn’t at all scientific, even when it’s a scientist whom you’re asking. Even when you’re asking a ‘scientific’ question. But if you go and set up the experiment for yourself, that’s science.

You may be tempted to think that ‘what I ate for breakfast’ can be scientifically analysed by shipping you off to a forensic lab for analysis of your stomach contents. And this is what I mean by the “touch of celebrity” fallacy. Because labs are full of sciencey things like test tubes and white coats and mass spectrometers, we somehow feel that whatever information comes out of such a lab has the aura of science about it; it’s scientifically proven.

This is a mistake.

Yes, a lot of science did go into developing mass spectrometers, and test tubes are often used by scientists. A forensic examination of your stomach is in that sense ‘applied science’, putting to use the body of knowledge acquired by the scientific method. But the experiment of you eating breakfast this morning was a one-off. In that sense the forensic analysis is no more scientific than a mate poking their fingers down your throat so that they can then carefully inspect your stomach contents on the table.

Not all true empirical knowledge is science. Sometimes it’s just stuff you know. I had pancakes for breakfast this morning. I know because I was there.