Software development theories are collective fictions

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

I like this essay very much. The only part I disagree with is that software development amounts to a collective fiction, like religion, which represents a kind of behavior can be traced back to prehistoric times. Rather, I see the problem as radically modern: the desire to take an art and make it a science. An unrelated example would be the way universities, over the last 70 years, have opened many “Department of Political Science” and yet no university has opened a “Department of Political Art” and yet we all know that politics will always be mostly art. If “science” starts with the concept of the reproducible experiment then we can agree there is very little science in politics: every circumstance is unique and non-repeating. And theories of software development are similar, we know this will always be an art and not a science and yet the modern mindset demands that we pretend this process can be turned into a science. But anyway, this bit is good:

I’m not going to beat up on any of these paradigms, because what’s the point? If software methodologies didn’t exist we’d have to invent them, because how else would we work together effectively? You need these fictions in order to function at scale. It’s no coincidence that the Agile paradigm has such a quasi-religious hold over a workforce that is immensely fluid and mobile. (If you want to know what I really think about software development methodologies, read this because it lays it out much better than I ever could.) One of many interesting arguments in Sapiens is that because these collective fictions can’t adequately explain the world, and often conflict with each other, the interesting parts of a culture are those where these tensions are felt. Often, humour derives from these tensions.

‘The test of a first-rate intelligence is the ability to hold two opposed ideas in mind at the same time and still retain the ability to function.’ F. Scott Fitzgerald

I don’t know about you, but I often feel this tension when discussion of Agile goes beyond a small team. When I’m told in a motivational poster written by someone I’ve never met and who knows nothing about my job that I should ‘obliterate my blockers’, and those blockers are both external and non-negotiable, what else can I do but laugh at it?

Post external references

  1. 1
    https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/
Source