Wednesday, September 19, 2007

Agile: Test Infected, Living in a Test free world

I'm trying to think of what I could talk about for The Agile BarCamp currently scheduled for 1st December 2007 in Wellington.

Agile development is a lot of things to a lot of people but one of the key quotes I have heard on the subject is:

"XP matches observations of programmers in the wild"

Apparently the quote above was uttered by one of Kent Becks converts (link)

I am not really a talker, or an Agile practictioner, but I am interested and infected by 'testing'.

I read and got extremely interested in testing by reading Test Infected articleat the Sourceforge JUnit site.

Ever since then I have wanted to work in a development team that used a suite of unit tests.

Wherever I have worked since then I have continually re-invented bash scripts to test my code in an JUnit / xUnit manner.

The latest rewrite I remember was when I was using a series of programs to validate and transform xml files.
  • I used GNU sed (the stream editor) to transform some tricky characters,
  • I used tidy from the w3c to clean the xml,
  • I used Oracles XSL program to validate the xml is valid
  • And I used Multi Schema Validator from Sun to validate the xml according to my XML Schema.

So, in order to test this unholy mashup, I wrote some canditate xml files.
  • Some for Fatal errors,
  • Some for Warnings,
  • Some that validated OK,
  • some empty files,
  • some invalid dates (MSV from Sun does not validate dates are valid ... 31st Februrary anyone).
  • XML files with dtd's,
  • xml schemas,
  • extra namespaces,
  • other valid dialects.

I think I used over 40 xml files in the end, all sorted into their various directories with one shell script to test the lot and in the darkness bind them to a Test OK, or Test Failed: message.

This is satisfying stuff when I am programming on my lonesome.
But when I have to deliver it to others, it doesn't fit in the hand crafted versioning system we use, no developer looks at it when they maintain the software, people complain it is too complex.

OK I admit the last is probably true ;-).

So some questions I'll be bringing to BarCampAgileWellington.
  • Is Agile possible in Govermnent?
  • To what extent does Agile exist already in the 'necessary hacks' that are used to get around shortcomings in our non-agile methodologies?
  • What can we do to document these hacks and give them the name 'Agile'?
  • Agile, doesn't that mean slipshod, cowboys, broken and 'beta'?
  • How do you train people in Agile? Agile rigour?

Update:
I wont be able to make it now, a holiday interupts :(.

No comments: