Showing posts with label BarCampAgileWellington. Show all posts
Showing posts with label BarCampAgileWellington. Show all posts

Tuesday, October 9, 2007

Agile Indian vs Mainstreet Cowboy

I feel the need to distinguish the “Agile Indian” from the “Main street Cowboy”.

Agile is an interesting and powerful set of methodologies, but I hate to see the collapsing of more than one term into one, especially to the detriment of Agile. I also hate to compete inside my organisation against Cowboy coding masquerading as Agile.

Let us start by distinguishing “Cowboy” coding.


  • Just leap into the project and start programming as fast as you can.
  • No thought to testing each function.
  • The emergent behaviors and corner cases in the product may not be considered up-front, only when they are proven to be a problem do they get addressed.
  • Whack a Mole style development, just hit the problem in front of you.

Then distinguishing “Agile” programming.

A set of methods that allow the following results.

Small / Quick / Short feedback loops:

Allowing any mistake or wrong direction to be quickly and cheaply rectified.

Techniques: continuous testing, client on site, fast iterations, small teams

Optimal process control:

Any process that is not required increases the cost, reduces morale, increases risk.

Techniques: no Quotes, Stories not Endless/Perfect a-priori Requirements, Optimal Metrics, One methodology per project.

I hope this makes sense, comments are encouraged.

Friday, September 21, 2007

Rant about an "Issue Aggregator"

When at BarCampWellingtonNZEGov, I had occasion to have a bit of a rant about an aggregator that was required for enhanced citizen participation in e-government.

I just saw Jason Ryans post about Media Monitoring over at The Network of Public Sector Communicators, where he talked about the open source



I was suggesting a news aggregator (similar to news.google.com) that could bring government/authoritative and private space comments together to provide a common view of the various sides to an issue. Ranging up and down the long tail to provide visiblilty to the Transit NZ discussions in Auckland over roads and equally apply to the liver bellied spotted newt's wildlife sanctuary proposed for just west of the median barrier on highway one north of Foxton.

Buzzmonitor seems to be a very good start to that aggregator. I plan to have a play with it myself.

I have thought harder on the problem and see major problems in my idea, among them :
The inherent bias of the 'controlling' entity, The difficulty in defining the issue accurately without misrepresentation. The lack of enough visibility into the authoritative government sites (my assumption, sorry to government web masters out there).

I suppose they are all solvable, likely by a bit of magic "Wisdom of the Crowds" fairydust, but for someone with more free time than me.

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 :(.