Method
Some years ago, when I was completing a PhD in music theory, a friend observed to me that composers have methods, techniques, processes to help them do things that don’t come naturally or easily to them. This (so to speak) struck a chord, and it’s true in many ways in software development.
To dig a little further: in the twentieth century, for a variety of reasons which fill a book in themselves[1], composers moved into academe, and as part of their teaching started writing down what they did. Schoenberg’s methodologising of his compositional practice - twelve-note or serial composition - was aped by a generation of composers, some of whom made it their own, but some of whom simply played by the rules. It’s notable that those who were directly exposed to his teaching over many years - notably Alban Berg and Anton Webern - developed their own unique accommodations with this technique, in ways which are hugely expressive of their own personal styles (indeed, even if you’ve never heard a note of their music, I think you can make a guess at their respective styles and aesthetics simply by looking at photographs of the two).


This points to two problems with writing things down. Firstly, generally people only write down what they’ve constructed, which is, as we’ve seen, only ever a skeleton expression of the things that don’t come naturally. And secondly, once these things are written down, we as readers assume that it’s all that you need to do. This is true whether the author actually believes that, or even when they explicitly state it’s not the whole story: no amount of caveats will prevent an outline of a method turning into a brand, or a religion, if it has the right hooks, touches the right nerves, appears to answer the important questions of the day, or is taken up by egos with agendas to serve.
It bears repeating that software developers are no more immune to this than would-be composers. In the many “death of agile” blogs, essays and articles, I see lots of people writing off Scrum, XP or the other agile methods for their perceived failures to solve some the pressing problems of development in teams and organisations: while you can (and I do) take exception to the way some individuals and groups market these ideas (and don’t get me started on the Agile Manifesto…) it’s misguided to blame them for not giving the whole picture: method can never do this.
Wittgenstein talks about “throwing away the ladder” of method:
…anyone who understands me eventually recognises [my propositions] as nonsensical, when he has used them - as steps - to climb up beyond them. (He must, so to speak, throw away the ladder after he has climbed up it) [Tractatus, 6.54]
Here method, as a set of propositions and elucidations, is used as an educational tool, to develop practice and hone consciousness. We focus on the ladder, rather than the princess in the tower…
Kent Beck once said that all methodologies are based on fear. Fear creates stress, and being in stress is no condition in which to do our best work. I like the notion from Improv, that we do our best work when we’re in the right state: let’s get away from obsessing about Scrum vs Lean vs Kanban vs whatever, look at what we’re trying to achieve, regard any way of working as transitory and contingent, and work on improving each others’ experiences of development, of our teams and organisations.
[1] A great start is Alex Ross, The Rest is Noise. But of course, you can (and should) check out the music of Berg and Webern on Spotify…
This is a good analogy between the role of “method” in music composing and Software Development.
Agile has indeed failed many people, but mostly it has failed the people that thought that Agile was the silver bullet. This is no news for anyone in the software business. Other “methods” have been equally embraced only to fail miserably when applied by people that saw only the “method” and forgot to use the proverbial “brain”.
I’ve written a piece where I advocate the use of Brain instead of Tools. The point being that “method” is just a tool to be thrown away once we have reached the understanding of why it works (climbed beyond the method as Wittgenstein suggests).
Check out my “old-ish” article here: http://softwaredevelopmenttoday.blogspot.com/2008/01/use-your-brain-not-tools-to-replace-it.html
I’m not working in the world of software, and I think this post has relevance in so many areas of expertise, and life in general. Great analogy, and I particularly liked this bit: “…all methodologies are based on fear. Fear creates stress, and being in stress is no condition in which to do our best work. I like the notion from Improv, that we do our best work when we’re in the right state…”
When we’re afraid and find ourselves in uncertain or unfamiliar situations, we try to ease our fear by making up rules. This is a useful way to get started, but if we never progress beyond the rules (and we don’t continuously invent more liberating rules, which start to become more like “guiding principles” or values), we’ll find ourselves unable to overcome the limitations inherent in any rule.
Of course it’s easier and more efficient to just follow rules or methodologies, but it’s never going to get you the results you’ll get when you allow yourself space to “feel” where to go next and follow those more intuitive, spontaneous, less logical thoughts and enter new territory where we can invent new possibilities.
Great stuff, David :)
Cath
Great post, David! Much of what you’re saying resonates quite strongly with me, and I see your analogy as a practical example of some of Dave Snowden’s formerly-3-and-now-7 laws of rendering knowledge, especially the last one: “We always know more than we can say, and we will always say more than we can write down” :-)
Snowden source: http://www.cognitive-edge.com/blogs/dave/2008/10/rendering_knowledge.php
“Kent Beck once said that all methodologies are based on fear. Fear creates stress, and being in stress is no condition in which to do our best work.”
Based on my recent studies on power (website, Articles), I would say: “Methods constrain peoples’ thinking and actions. They may reduce complexity, but introduce complicatedness. The may increase agreement, but introduce friction and ‘traffic lights’.”
From this follows, that methods without learning cause loss of energy. Together with learning there is hope. Not all methods prove to work.