AgileTester

Monday, April 28, 2008

The Minimalist Art Movement and Extreme Programming (XP)

"The Bricks"
In 1972 the London Tate Gallery bought Carl Andre's Equivalent VIII. Equivalent VIII consists of eight rectangular structures of 120 fire-bricks each. The work became known as 'The Bricks'. They were vilified in the British press with The Daily Mirror calling them 'a load of rubbish'. In the book 'Extreme Programming Refactored'
[2003] the authors Matt Stephens and Doug Rosenberg employ the same critical analysis towards XP: by writing anti-XP lyrics to Beatles' songs.

Initialising Minimalism
The Minimalist Art Movement believes in simplifying and objectifying the art form. Influenced by the Russian Suprematicist Malevich and his geometric shaping, they began to strip away the unnecessary features of art to reveal its essential core. Minimalism as a movement began to form in the 1960's with works from Andre, Donald Judd and Dan Flavin. Andre's works are created from modular systems and available objects working within 'generic classes' of space. He notes, "art excludes the unnecessary".

Extreme Programming Compared
Extreme Programming is the antidote to heavyweight process methodology; it proposes to rid software development of the extraneous practices that have been associated with Waterfall. One of its core values is simplicity and a common motto is: "do the simplest thing that could possibly work". This belies the idea of large superstructural design and over-engineering. The aim is to code something that works, then refactor it. We are not pushing for the quickest delivery, but the simplest result. Neither cowboy coding, nor cowboy art. View the beauty and elegant design of Donald Judd's work. Code refactoring (the internal restructuring of code without affecting its external behaviour) eliminates duplication and waste. It produces something clean.

Document Centrism
Traditional software organisations are generally document-centric. Every activity needs to be written down and/or modelled. However, there is a continual state of change in contemporary software development and with resource and time limits, documents tend not to get updated. Extreme Programmers argue against documentation for its own sake; document only if it adds value to the project. Requirements (which are formed as User Stories) are in fact: 'a contract for conversation'. This means that a client's requirements are more likely to be clearly articulated through face-to-face communication than attempting to interpret requirements in a written form. Alistair Cockburn talks about 'hot' and 'cold' forms of communication. He argues that oral communication is the hottest medium: we can ask questions and receive responses at real-time, we can analyse a person's body languages, examine their vocal intonations, attempt to form ideas that may be nebulous. This is all absent in the written\cold form. The written word is notoriously mis-interpreted; in fact we could go as far as Roland Barthes and pronounce the death of the author. Barthes hypothesizes that a text has multiple authors and that the "essential meaning of a work depends on the impressions of the reader" and not the intentions of the original “scriptor”.

Minimalist Literature: The User Story
User-stories are requirements constructed of a few sentences of everyday language. The are usually written on 3x5 index cards. The user-story can be ripped up and created again, symbolising the changing nature of requirements and software in general.