AgileTester

Sunday, April 19, 2009

'How I did Agile Day'

The BBC has invited me to talk at their: 'How I did Agile Day' on the 24th April at Broadcast House, London (W1)

Talk Outline:
Title: Behaviour Driven Development, An Archaeology?

An Archaeology? Foucault, does not see history as a consensus, but in disruptions and fissures. TDD/BDD is not something that is agreed upon.

The Sign: A mental construct relating to something that can be communicated as a message. "We think only in signs". Saussare divides the sign into two...

The Signifier and Signified:
The Signifier: the form or substance which the sign takes,
The Signified: the concept it represents:

The word 'Open' (on a shop doorway) is a sign consisting of:
A signifier: the word open;
A signified concept: that the shop is open for business.

The same signifier (the word 'open') could stand for a different signified (and thus be a different sign) if it were on a push-button inside a lift ('push to open door').

The Death of the Author: Roland Barthes is most famously known for pronouncing ‘The Death of the Author’
The reader becomes the writer and thus a piece of text can have multiple meanings

"A text is not a line of words releasing a single ‘theological’ meaning (the ‘message’ of an ‘Author-God’) but a multi-dimensional space which cannot be ‘deciphered’, only ‘disentangled’."

Stories and Metaphors: Kent Beck says we use the term 'Story' instead of 'requirement', as the aforementioned term means 'something mandatory or obligatory.‘

We are unable to accurately or truthfully describe reality so we use Stories
We also use Metaphors for similar purposes to describe the ‘common vision’ of the project.

Test Driven Development: TDD may be a way to describe an object by writing a test first.
The post-implementation connotation of "test" means developers aren't doing test-first. (but does this matter?)
A test could be at the unit and the Acceptance Test level.

Ubiquitous Language: Ubiquitous "existing or being everywhere, esp. at the same time; omnipresent"
The Domain Model should form a common language given by domain experts for describing system requirements, but used by both developers and the business\users.

Behaviour Driven Development: Describing the behaviour of an object or a system.
It embraces the metaphor of describing behaviour the way we might express it if we were talking to a customer, or another developer.

An Example of Rspec and Cucumber in conversation

Friday, March 20, 2009

The Celerity, Cucumber and FireWatir Video

Resides here:
SkillsMatter Talk

Tuesday, February 17, 2009

Celerity, Cucumber and FireWatir

I will be doing a talk on "Celerity, Cucumber and FireWatir" at SkillsMatter London on March 9th.

The talk will explain Story-Driven-Development(SDD) and its benefits. A sample application will be built in real-time using SDD with Rspec Cucumber. Tests will be run in-browser with FireWatir and through a headless-browser using Celerity and JRuby

Sunday, December 28, 2008

Cucumber and Watir

I have exampled Cucumber and FireWatir.

Thursday, August 07, 2008

SkillsMatter Talk

I will be doing a talk on Ruby and Watir at SkillsMatter on 11/08/08.

Wednesday, July 16, 2008

A Watir Framework

I have written a Watir framework that object models your AUT and uses Rspec Story Runner

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.