Archive

Agile

“Communism is not love. Communism is a hammer which we use to crush the enemy.”
Mao Tse-tung

Introduction
From its inception around radical ideas of collaboration, flourishing creativity and fervent communication, Agile has been usurped by a management cabal, and reshaped into a psychological form of control which incorporates neuro-linguistic programming techniques.

The Chinese Cultural Revolution
Mao Tse-tung was the Chairman of the Chinese Communist Party and the biggest mass-murderer of the 20th Century. In 1966, he instigated a decade long Cultural Revolution with the intention of imposing a brutal, egalitarian society to rid China of all “bourgeois” and “revisionist” elements. The Cultural Revolution was a response to the failed campaign of rapid industrialisation and collectivisation (The Great Leap Forward) of the Chinese economy.

The first step of the Cultural Revolution was to “cleanse” anyone in authority who could be accused of not blindly following the Maoist revolutionary philosophy of that time. These included university lecturers and Buddhists who were either thrown into “re-education” camps or summarily executed.

Decision Concerning the Great Proletarian Cultural Revolution
The intellectual basis of the Cultural Revolution was a document entitled, “Decision Concerning the Great Proletarian Cultural Revolution” or “the 16 points”. It was passed by the the party’s Central Committee in the mid-60’s and was used as a manifesto or a call to arms for revolutionary cadres to impose.

Below are some extracts from “the 16 points”. If you replace “the masses” with “the team” and “big character posters” with “big visual indicators” any of these statements could be lifted straight from your favourite Agile manual:

“Trust the masses, rely on them and respect their initiative. Cast out fear. Don’t be afraid of disturbances.”

“Let the masses educate themselves … and learn to distinguish between right and wrong and between correct and incorrect ways of doing things.”

“Make the fullest use of big-character posters and great debates to argue matters out, so that the masses can clarify the correct views, criticize the wrong views and expose all the ghosts and monsters.”

“It is normal for the masses to hold different views. Contention between different views is unavoidable, necessary and beneficial”.

The Agile Revolution
The foundation of the Agile Revolution is the Agile Manifesto and even after a decade of it being published there isn’t a single Agile coach or manager of some type who is not still repeating those four pithy lines as if they were something new.

Communism and Agile are both utopian ideas of fundamental change that have turned sour. The Chinese authorities needed revolutionary terror to ensure the continuation of communism and Agile needs its army of zealots that inhabit every software company. They are constantly finding more whiteboards, putting up posters, forcing us to attend Agile meetings, meticulously filling in spreadsheets and colouring things in. Dissent will not be tolerated. As workers in communist societies were once forced to become a member of the communist party in order to get a decent job, the software programmer must be a member of the “Agile community” or at least a professing Agilist in order to get work. Is there one person in IT who would dare put up their hand and declare, “I am not Agile”, without fear of the censorious consequences?

Even though the Agile Revolution was non-violent and no-one has ever been killed for not demonstrating their uncommitted devotion to the Agile movement, there are indeed, very clear similarities between the Cultural and Agile revolutions.

Cultural Revolution Agile Revolution
Great Leap Forward Waterfall
Communism Agile
Communist Party Agile Alliance
Decision Concerning the Great Proletarian Cultural Revolution Agile Manifesto
The Red Army Agile zealots

Maoist Mind Control
A core communist belief is that we must destroy in order to rebuild. As we must destroy society we must also destroy the individual in order to rebuild him anew. The Chinese term “wash the brain” was used to describe the practises of psychological destruction and replacement employed by Maoist officials in the Korean War. Chosen techniques included sleep and sensory deprivation, sexual and verbal abuse, inculcation of guilt and fear, and the use of drugs and hypnotism. In some cases the methods were so effective, that American soldiers defected to the communist side and began espousing anti-American sentiment.

Agile Mind Control
Methods of neuro-linguistic programming (NLP) have become a sinister underpinning of modern Agile implementations, with their primary purpose of changing the beliefs and values of the human mind.

Neuro-Linguistic Programming
We would normally see “programming” as an activity that involves computers and not people, but NLP attempts to do exactly that by modelling or codifying the behaviours of successful people to be used as recipes for others to follow. It attempts to demonstrate a determinant relationship between the mind (neuro) and language (linguistic) to the body and behaviour (programming).

Anchoring
Anchoring is a NLP technique for changing the state of a mind. It is a method for consciously and deliberately pairing a chosen stimulus (anchor) with a desired response (resource). The classic example is the Pavlovian dogs, where the sound of a bell was paired with the giving of food. After a number of pairings of the bell and food, it was enough to just ring the bell to elicit dog salivation. For NLP proponents “anchoring” is seen as a trigger which activates our “representational systems”.

The intellectual work of commercial programming is naturally performed in a communal and non-hierarchical way. Artificially imposed authority is worthless in the world of thought, experimentation, reflection, discussion, implementation and review which constitutes social programming. To reassert the social status of managers, Agile anchors of stand-ups, iteration planning, retrospectives and workshops are instated, which are intended to regress us back into the infant school. The first thing in the morning at primary school a bell rings and the pupils stand in line for a role call. This is the model for the stand-up, although additionally in a stand-up a justification of existence needs to be made. In some instances, the manager rings a bell to ensure developers promptly arrive. In retrospectives the artifacts of the primary school are used: pastel coloured post-it notes with colours given meaning, plentiful large colourful markers to signify crayons, hand-drawn pictures pinned on walls, drawings of sad faces, happy faces, the forced elicitation of our feelings, the sticky dots that we place on cards, the manager’s air of a headteacher, and even the allocation of gold stars to well behaved programmers. These repeated activities of infantilisation are triggers for us to helplessly defer to Agile ideology and hierarchy and prevent us from fully realising our true self-worth. Agile is not love. Agile is a hammer which is used to crush the enemy.

Gandhian Techniques of Non-violent Resistance
Gandhi led a mass nationalist movement against British rule in India. He employed tactics of non-violent civil disobedience that refused to submit to oppressive laws. He would articulate his disapproval, withdraw from unjust activities and engage in other forms of peaceful protest. Programmers should follow suit and politely refuse to be drawn into acts of infantilisation and control; rejecting Pavlovian triggers, refusing to handle objects of the nursery and refusing to answer the question, “Have you been happy or sad this iteration?” Only then can we be free from the oppressive nature of Agile and be able to do our work both as programmers and as adult human beings.

Advertisement

If you figure out a way to live without a master, any master, be sure to let the rest of us know, for you would be the first in the history of the world. Lancaster Dodd, “The Master”

Introduction
Kanban is a process theory that has become popular in the software industry, chiefly by those who describe themselves as project managers. Even though its aim is to optimise a current process, it has been seen by many as a replacement for the dominant methodology of Scrum. Kanban doesn’t define any roles, but those who propose it, seem to view the manager as the arbiter of success who sets the developer on the right path.

Scrum
Scrum is Extreme Programming with the valuable technical practices ripped out. Scrum became palatable to management types precisely because it didn’t refer to programming activities such as TDD, CI, refactoring etc, but what was left was an empty shell of a methodology. Because Scrum doesn’t have a project manager role, project managers en masse became “Scrum Masters” by attending expensive Scrum Master certification courses. Mind-sets rarely changed however and “Scrum Masters” still sat comfortably in their master role, micro-managing individuals in “their team”. Command-and-control methods still prevailed and only lip service was given to developer self-organisation. In fact, the developer lot hasn’t improved since the Fordist worker; both highly paid (compared with the average wage-rate) but still tied to the assembly-line/desk. This led to what Bob Martin described as a “hyper-productive mess”.

From Scrum To Kanban
Without software development teams changing too much, they progressed overnight from “doing Scrum” to “doing Kanban” and the “Scrum board” became the “Kanban board”. Even though the essence of Kanban is (1) No fixed iterations, and (2) Limits on work-in-progress, I have seen “Kanban” teams that still have sprint planning and no WiP limits!

The Cult of Kanban
In the book “Kanban”, David J Anderson preaches like the leader of a cult: Here are some of his more extravagant claims:

“The simple act of limiting work-in-progress with kanban encourages higher quality and greater performance”

“Kanban is giving people permission to think for themselves.”

“Once you balance demand against throughput and limit the work in progress within your value stream, magic will happen.”

So Kanban is “magic” and allows people to “think for themselves”. Were we not able to think and consciously create before Kanban? Were we not able to release quality software before we tasted its potion? The above claims are both wild and arrogant and anyone with basic critical capabilities should reject them.

Quality
DJ Anderson seems to think that quality is something a manager bequeaths, he tells us: “Focus on Quality (sic) is first, as it is under the sole control and influence of a manager” and the “Focusing on quality is easiest because it is a technical discipline that can be directed by the function manager.”

Later in the book, he changes tack, and tells managers to insist on how developers should work, enumerating practices and tools that he clearly knows nothing about. In complete self-delusion he makes grand and nonsensical statements like “Domain Specific Languages reduce defects”. Managers are not the sort of people who should be telling developers how they should work. It is only the people who write software who can advise others on how they write software.

Quality in software is something a team of good collaborative developers offer, buttressed by established software engineering techniques. A manager cannot give quality, just as a tester cannot assure it.

What Kanban Doesn’t Say
Kanban doesn’t say quite a lot. Its aim is not to radically transform, but to drive “change by optimising the existing process”. Anderson tells his followers to “resist the temptation to change workflow, job titles, roles and responsibilities, and specific working practices” – that is, not to interfere with all the things that matter.

Kanban offers us very little. Anderson gives us five core properties:

1. Visualize the workflow
2. Limit WIP
3. Manage Flow
4. Make Process Policies Explicit
5. Use Models to Recognize Improvement Opportunities

From the list above there is only limit work in progress that differs from any other Agile methodology. Kanban is something being made out of nothing. Where is the actual substance? This is an ideology marketed to managers to assure them of their value.

The Developer and Thinker
All worthy ideas in software development are derived from developers, managers have usually usurped and corrupted these ideas.

Over the last few decades the only major ideas on the software process are that software creation should be iterative and incremental and that we should use Extreme Programming engineering practices. These and having good software developers are the only realities of good software development.

When quality software is being made by developers who organise and self-manage, Kanban’s interpreters attempt to reassert the validity of managers.

You are a Developer Artist. You are a creator, not a resource. Your worth is not measured in Lines of Code Written or Story Points Burned.
Thom Bradford (2012)

The Rise of the Managerial Class
The rise of the managerial class is tied with the emergence of monopoly capitalism which dates back to the First World War. Monopoly capitalism is the absence of free markets and competition with its replacement of large capital formations and the separation of ownership and control. In “The Managerial Revolution”, James Burnham (1941) describes a new “social group or class” of “manager” that has fought “for social dominance, power and privilege for the position of ruling class.” His thesis is that planned and centralised managerial societies are arising, that are both undemocratic and bureaucratic. These new societies do not just exist in large capitalist organisations, but are also the core of Fascist and Communist states.

Fordism
Fordism is a system of production that combines both mass production and consumption. It holds the division of labour but produces a high-volume standardised product at low cost. Workers are employed in large factories but are paid enough to buy their own product. In “Life After Henry (Ford)”, Robin Murray (1988) based Fordism on four main principles:

– Standarised, interchangeable components
– Mechanisation of all mechanisable tasks
– Manual work is subject to Taylorism (see below)
– The emergence of the assembly line – products moving to the worker and not the other way round

Ford did not invent but merged these practices, undercutting craft-built car competitors and leading to a revolution in the production process across various industries.

The Fordist organisation separated “intellectual” and “mechanical” work, with managers making decisions and workers doing work. Like Taylorism, mass production deskilled and compartmentalised work. Fragmented, repetitive tasks and little worker autonomy lead to discontent and high labour turnover. With mass production came the mass worker, trade union action and industrial unrest.

Command and Control Management
Command and control management for the Systems Thinker, John Seddon (2008), is defined by top down hierarchies, with managers operating unilateral decision making based on data collected.

Command and control management is a combination of a number of theoretical antecedents. Seddon (2008) in ‘Systems Thinking in the Public Sector’ enumerates three thinkers: Adam Smith, Frederick Taylor and Max Weber.

Adam Smith
The Scottish autodidact economist Adam Smith noted in “The Wealth of Nations” that material production will greatly increase with concomitant strict divisions of labour. Smith’s opening example is of a ten man pin manufacturer where a single worker could “scarce, perhaps, with his utmost industry, make one pin in a day”, but when that manufacture divided the pin making into eighteen distinct tasks, the shop produced 48,000 pins in a day or 4,800 per man.

Frederick Winslow Taylor
Frederick Winslow Taylor is the father of “scientific management” – a method that proposed a “scientific” approach to work that claimed to improve productivity especially through labour “efficiencies”. Taylor was opposed to the autonomy of the craftsman and believed that there should be a transfer of power away from workers towards management. He argues for specialising and deskilling work, making workers easier to train and instruct. He called the worker “stupid” and that it was the responsibility of management to plan and specify how work should be done.

Max Weber
Max Weber developed the theory of bureaucracy and characterised it in a number of ways. Seddon (2008) outlines these as:

– Clearly defined division of labour and authority
– Hierarchical structures of offices
– Written guidelines prescribing performance criteria
– Recruitment to offices based on specialisation and expertise
– Office-holding as a career or vacation
– Duties and authority attached to positions, not persons.

Weber believed bureaucracy to be both logical and rational in a modern organisation, but also dehumanising and estranging which “succeeds in eliminating from official business, love, hatred and all purely personal, irrational and emotional elements which escape calculation.”

Post-Fordism or the Toyota Method

Post-Fordism
The post-Fordist debate originated around a number of Left-wing British intellectuals and the theoretical journal, “Marxism Today”. It was an attempt to understand the changing nature of capitalism and the new methods of production. In “Brave New World”, Stuart Hall (Marxism Today, October 1988) describes post-Fordism as:

“A shift to the new ‘information technologies’, more flexible, decentralised forms of labour process and work organisation; … the growth of … computer based industries; the hiving off or contracting out of functions and services; a greater emphasis on choice and product differentiation.”

Post-Fordism is a break from the organisation of mass production. Internally, organisations focus more on communication and a plurality of ideas than top-down command. Instead of fixed-roles there is a multiplicity of selves and planning and co-ordination is not something done by remote managers.

The Toyota Production System
Post-Fordism in part was a way to describe the Toyota Production System (TPS). The TPS is a method to reduce waste and to examine and focus on the ‘economies of flow’ within a system (Seddon, 2008).

The TPS is an outside-in approach which analyses the flow of value all the way back to the customer. By analysing the flow of value we can realise and eliminate any work that does not directly relate to that flow. Actual orders trigger flow and nothing is made without an order. A car can be actualised from start to finish in a matter of days. Turning American Fordism on its head the TPS was ‘pulled’ by the customer instead of being ‘pushed’ by the producer.

The TPS also differed from Fordism in its decision making. Instead of management gathering information and then making remote decisions, the TPS focused on giving those that produce value work decision making capabilities. The worker even has the authority to stop the production line at any time. Design also became an integral part of the process.

The Developer-Artist
Most software organisations operate a Taylorist/Fordist dichotomy of decision making from actual work, where managers command developers to work in a specified way and to use set tools. Even though developers are at the core in the flow of value, they are usually treated as second-class citizens. In most cases it is impossible for a developer to progress through the company echelons without giving up the thing he loves and becomes a manager of some sort.

The developer is not someone who exercises specific tasks to meet management targets. He is not a robot. He also is more than a craftsman – the developer is an artist. The artist differentiates himself from the craftsman in that he desires to create something unique and personal to himself, something that maximises utility and internalises value. The developer is “almost never satisfied with repeatedly producing the same works, but always strives for perfection and novelty — aesthetically, compositionally, and functionally. A craftsman is concerned with perfecting the method, while an artist is concerned with perfecting the product.” (Thom Bradford, Democracy in Work Google group, 2012)

Democracy in Work
Although the essence of Agile is self-organisation it has become something perversely imposed from above in a command and control manner. An Agile organisation cannot be a strictly hierarchical one and even though democracy is seen as the highest societal form, it is rejected in most companies. Agile is about decentralising power and those actually doing the work should have the power to make their own decisions.

Democracy means more than voting, it means giving complete power to workers, including budget and how it is spent, team structure, hiring, direction, work-times, holidays, tools, investment, seating etc. These decisions are normally agreed upon within the team and there is no need for a vote. Most companies are run as dictatorships or oligarchies, when democracy is a more effective way (Giovanni Bassi, 2012, [Organizational Democracy](http://goo.gl/nBSyS)). The specific role of manager will be abolished in a democratic organisation and workers will manage themselves. No individual should be able to impose by force his will upon another individual. This will annihilate the divisions and conflict that arise between managers and workers and prevent any kind of unrest. However, there is still a role for managers who can be incorporated into teams as facilitators where their communication and administration skills can be used in a more valuable way.

Binary Opposites
Ferdinand de Saussure argued that something is, by what it is not. We cannot have ‘good’ without ‘evil’. Jacques Derrida believed that in Western culture one of these binary pairs holds dominance whilst the other is marginalised. White/black, man/woman, matter/spirit, Christian/pagan. It is a hierarchical relationship.

Manifesto of the Communist Party v Manifesto for Agile Software Development
Our idea of the manifesto is derived from Marx and the communist manifesto is the model for all successive manifestos. It has an excitable and urgent rhetoric that sees history in progressive but conflictual terms. It argues that the bourgeoisie is necessarily exploitative and that it is the proletariat’s destiny to overthrow capitalist social relations and bring forth a communist society. The manifesto became a polemical intervention that spawned numerous other manifestos. The futurist, surrealist, situationist and other avant-garde manifestos followed, bringing the manifesto into the artistic and as well as the political arena.

A manifesto is a “public declaration of intentions”, yet both the communist and agile manifestos were written when their movements were already established. Marx opens with, “A spectre is haunting Europe – the spectre of communism” and the agile manifesto emerged from a grouping of extreme programming, crystal, feature-driven development and other lightweight methodology practitioners.

The agile manifesto doesn’t take on the literary form of the manifesto standardised by Marx. A manifesto is usually written with complete self-belief and a series of demands. The agile manifesto is both sombre and calculating, which outlines preferences against alternatives. Consisting of only four tenets it is extremely terse. It suggests that writing successful software includes (1) skilled workers closely interacting, (2) writing software, (3) continual customer/developer dialogue and (4) the ability and willingness to adapt.

Ironically, the manifesto for agile software development is the single most important document in agile software development.

Modernism v Post-Modernism
According to Lyotard post-modernism marks the end of the ‘grand-narrative’. The grand-narrative is the big idea made complete: marxism, christianity, economic liberalisism
(our post-modern disrespect for these narratives leads us not to capitalise them). The grand-narrative (waterfall) is replaced by a plurality of small and local narratives (scrum, extreme programming (Xp), dynamic systems development method etc). The unified process (UP) was stuck between modernism and post-modernism in late-modernism. The UP can be implemented in either an agile or heavyweight manner (but usually in a heavyweight manner, as consumers were scared to miss anything out).

The waterfall model with its engineering metaphors and ideas of completeness and correctness has been seen as masculine whereas agile with its concern over people and relations has been viewed as feminine. This equates with the inherent division within modernist and post-modernist literature. According to John Carey, the high-modernist Wyndham Lewis, “persistently characterised the female in terms of repellently soft or fluid textures and consistencies.” Many modernists deemed women’s literature to be inferior: passive, emotional and subjective, whilst men’s literature was: objective, theoretical and serious. Women have always been excluded from engineering as they are seen as not being able to be both precise and abstract. Those with traditionalist attitudes towards software development still believe that agile developers have not got the discipline to become ‘proper software engineers’.

Agile v Post-Agile
Post-modernism is not the complete rejection of modernism and neither is post-agile the complete rejection of agile. We can accept some agile practices that have worked for us, reject others and also think of things new. Fred George under the programmer anarchy umbrella dismisses stand-ups, stories, retrospectives, estimates, iterations, unit/acceptance tests, refactoring etc, but keeps the Xp values of simplicity, communication, feedback, respect and courage. Like classic Xp, Forward Technology have only developer and customer roles: no project managers, no business analysts, no testers and no managers of programmers. They replace this with highly collaborative teams, small, short-lived applications and continuous deployment. They have statistics to prove they deploy every few minutes.

Dan North, the originator of behaviour-driven development now states “it’s ok not to do TDD”. He says on his blog: “I find I’m writing fewer TDD-style tests these days in favour of rapidly iterating and manually testing the components of my apps. I still write tests for places I’m likely to screw up …”. Even though TDD is primarily about design and not testing, lets go further. Dan states that risk is a two-dimensional axis of impact and likelihood and that in agile environments we aim to reduce the impact of something happening. Instead of a major bug found in the live environment, we reduce the impact by locating it in our continuous integration. But we could also minimise the impact by automating deployment, so if there is a problem, we can quickly deploy something else. Test automation is a proxy for reducing impact and not an end-in-itself. It becomes the value-judgement of the experienced developer on whether it is worth writing tests or not.

Jason Gorman differentiates between ‘Agile’ (capital ‘A’) and ‘agile’ (lower-case ‘a’) Agile (capital ‘A’) is the marketing term and now involves management consultancy, two-day Scrum Master courses, “Agile tools” etc. Agile (small ‘a’) is about the ability to quickly adapt to changing circumstances. Agile is not agile, but in fact its opposite.

The term ‘Agile’ was usurped and ruined by those removed from the mode of production. Scrum omitted Xp practices which in most cases led to a ‘hyper-productive mess’. Software craftsmanship was a way to address this unbalance but there is also a fork that has gone beyond ‘Agile’. Post-modernism lower-cases narratives, so there is only – ‘agile’. We are in a post condition and both post-modernism and post-agile is an eclectic mix or pastiche from which we can pick and choose. I believe post-agile to be a developer response to ‘Agile’ and its natural progression. It repels totalitarian dogma, replacing it with a society of choice, freedom, democracy, anarchy, responsibility and courage.

“What threatens is indeed writing” Derrida

In “Agile Software Development”, Cockburn (2000) writes against writing. The heat of the communication channel, he argues, increases as we move away from text towards face-to-face communication. Marks on paper are a poor form of communication, he argues, which are open to misinterpretation and feedback delays. Improving upon this are: email exchange, audio-tape and continuing in order of “richness”; video-tape, phone calls and close physical proximity facilitated by a modelling apparatus.

The primacy of speech is expanded upon with the idea of osmostic communication; meaning that background information (i.e. conversation) is consciously accepted or positively filtered into the unconscious. In open areas, when someone speaks, “traces” are picked up by others which becomes a backdoor transference of knowledge.

A decade ago these ideas were seen as radical, but have now been widely accepted across Agile methodologies and are prevalent in current practice. These ideas are not radical, but have for centuries been an integral and common thread in Western thought.

Derrida (1976) in “Of Grammatology” demonstrates that since Plato, speech has been of central importance whilst writing has been secondary. He calls this bias logocentrism.

“Logos” is the Greek word for speech or reason. To be logocentric is to believe that truth is the word. The Gospel of St. John declares “In the beginning was the Word, And the Word was with God, and the Word was God.” “The Word” becomes a transcendental signified, which is a meaning that lies beyond everything in the whole universe and is thus centred.

The metaphysics of presence is based on the God-Word transcendental signified. Talking is seen as a direct presentation of thought and Cockburn adds that in someone’s physical presence, communication also involves body language and vocal intonation. Writing however is seen as an absence of presence which involves some kind of loss. A document that I write and you read when I am not present might be “mis-read”. So I would only write if you we not present. Speech is favoured over writing.

But isn’t true meaning conveyed when I am speaking in your presence? When I write, is that meaning not distant and untrue? Is writing something that is derived from speech?

Saussure in the “The Course in General Linguistics”, creates a binary opposition between speech and writing and comes down firmly on the side of speech.

Saussure believes language is system of signs. A sign is composed of a signifier and a signified. The signifier can be a word, or sound-image of a sign, whereas the signified is the concept or meaning. A linguistic sign of “cat”, is made up of the sound “c-a-t” and the concept of a “cat”.

Derrida believes that Saussure regards the signified or meaning as being more important than the signifier sound (“c-a-t”). Saussure believes that the sound (“c-a-t”) gives us access to the meaning. That the sound is outer and the meaning is inner. Using Christian referents God-the-Father is the essence while Christ is the mouthpiece.

Saussure argues that speech is a way of representing inner meaning whereas writing is a way of representing speech. If speech is a sign of inner meaning then writing is only a sign of speech and thus only a sign of a sign.

Saussure thus concludes the sounds of speech should be the object of linguistics and not writing.

Derrida then operates a deconstruction reversal on how writing can be seen as central in Saussare’s own text. Saussure on the one hand argues there is a natural bond between the signifier and the signified, but on the other believes that sound and meaning is arbitrary. “Cat” gets its identity from its sound difference with other signifiers. “C-a-t” is slightly different from “m-a-t”, which in turn is slightly different from “m-a-t-e”. A sound then, is what it is, because it differs from other sounds in the same language. Likewise conceptually, the signified has no meaning in-and-of-itself, and only receives meaning through difference. Meaning is thus, necessarily unstable, if it depends on difference.

How can Saussare still privilege speech, argue there’s a natural bond between sound and meaning whilst also arguing that both sound and meaning exist through difference?

Derrida says he can’t.

Instead of speech being more important than writing or vice-versa, Derrida puts both terms under erasure. Erasure is signified by writing the word and marking a black ‘X’ over it. The technique was borrowed from Martin Heidegger, meaning here that both speech and writing are inadequate to describe the more general play of differences common to both. But in this discourse we cannot do without them, so they are put under erasure.

Derrida then goes on to say that the play of difference that constitutes both speaking and writing is derived from what he calls “arche-writing”. Arche-writing is an original form of language that comprises all modes of communication. It is that which allows this free-play.

Cockburn has in fact reproduced that which was already in the cultural osmosis, and justified logocentrism within software development. Stakeholders now have a theoretical reason not to write. And the writing that is done, is of a very poor quality. If writing is so evil, why do we write software?

Logocentrism has become so pervasive that it has affected books spawned by software development. Like Maoist’s in the cultural revolution, Jason Fried and DHH (2010) in “REWORK” shout;

“When you get out of school, you have to unlearn so much of the way they teach you to write there. Some of the misguided lessons you learn in academia:

  • The longer a document is, the more it matters
  • Stiff formal tone is better than conversational
  • Using big words is impressive
  • You need to write a certain number of words or pages to make a point
  • The format matters as much (or more) than the content of what you write”

In poorly written and throwaway prose they put forward, that writing should be conversational and non-precise, and that any kind of formal structure is “drippy”. Would DHH write code in such a flippant manner? Is it really a wonder that specifications are the worst written artefacts in software development?

We need to return to the communication medium of writing as a skilled, and sometimes arduous craft. We should favour neither speech nor writing above each other, or as binary opposites. Both mechanisms should exist equally in our world and each be used correctly in their appropriate contexts.