Agility

A too frequent question over the past couple of weeks has been “what characterises Agile development for you?”, or some variant on that. Thinking about it this evening, I am struck by how much stuff has accumulated around what is a very simple, elegant manifesto. Go look at the WikiPedia article to see how much has been built around the idea.

In particular, the attitude I keep confronting is, loosely, “Agile = SCRUM”. A few people extend that to “Agile = SCRUM + CI”. More commonly I’m seeing the equation “Agile = SCRUM + Testing”, which is interesting, because what people are really articulating is “Agile = XP + some vague notions of short release cycles”. I really think that in a lot of places, Agile has become as much of a vast over-engineered framework as any older methodology. On the other hand, I am a curmudgeon.

It’s worth restating the agile methodology though, ripped straight from the site:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Words to live by, or at least to work by.

Mirror World…

Someone, probably William Gibson speaking through Cayce Pollard, wrote about the Mirror World of travel. The notion that it is not the big differences that lend to a sense of unease, but the myriad small and barely noticeable differences. Like the shape of electrical outlets.

An odd one for us, that we’re still getting used to. In the UK they drive on the left. But expect people standing on the escalators to be standing on the right. On the other hand there’s a general convention to go up and down the left side of stairs. And it’s ok to take dogs on the escalators, as long as you carry them.

But the one that is driving me absolutely mad, as I’m in and out of job interviews that involve coding tests performed at a computer is that the standard over here is for the “@” to not be Shift-2, but instead to be over where I’m used to finding the double quote, i.e. one right-ward twitch of my little finger. For no readily apparent reason, the two are reversed. Which makes touch-typing code very annoying.

Scope Creep

One thing that I’ve noticed over a quarter of a century of banging out code is how the expectations for what a coder will know has expanded enormously.

When I began, the expectation was that you had an understanding of how computers roughly worked – the old CPU plus memory plus storage model that we’ve had since the beginning – and facility in one or two languages. Cobol, Pascal, Basic, Fortran, some assembler. It was anticipated that you’d be able to sit down with a manual and a compiler, and teach yourself a new language in a few days. The important part was knowing how to think, and how to really look at the problem. And of course, how to squeeze every last cycle out of the CPU, and do amazing things in a small memory footprint.

Around the turn of the century, there was not much change. Your average coder was expected to be comfortable working in a three-tier architecture, to have some vague idea about how networks and the internet worked, be comfortable with SQL and a database or two, to have some notion of how to work collaboratively in a multi-discipline team. And of course, to have a deep understanding of a single language, and whatever the flavour-of-the-month framework or standard libraries existed. UML and RUP were in vogue, but Agile was newfangled, and here was a wall of design documentation to ignore.

Now is the age of the ultra-specialist. You need to be server side, or middleware, or client side. You need to know a language intimately, and be vastly knowledgable about half a dozen ancillary technologies – in the Java world, for instance, you need to grok Spring, and JMS, and JMX, and Hibernate, and Maven, and a CI tool, and a specific IDE. You need to understand crypto, and security, and enterprise integration and architectural patterns, and networking.

I fear that this rant has gone vague and off the rails. There is a strange paradox in place now: we are expected to specialise deeply in the problem spaces we address, but carry in our heads a hugely expanded toolset.

Making a Mockery

As I’m back on the hunt for a job, I’m going back and brushing up on technologies I’ve not necessarily used for a while, out of interest as much as anything else. This has been enlivened somewhat by realising I didn’t have and IDEs or any other coding tools – other than Xcode and TextWrangler – on my laptop. The effort of getting things set back up so that I can play has reminded me of why I love, and why I loathe, the OpenSource Java community.

I’ll write up some notes on bits and pieces that I want to remember as static pages elsewhere, so for the moment let me just mutter about what I got running, and what has driven me nuts.

To start with, it pleases me no end that Mac OS-X comes natively supplied with Maven. That gives me some base assurance that I can, at a minimum, launch a terminal and build and test without having to download the world first (other than Maven’s habit of downloading the world, of course).

Next up, I grabbed down Netbeans 7.1. I’d not used it with Maven previously, and was pleased to discover that the IDE plays nicely the Maven way, rather than desperately wanting to make Maven work the IDE way.

Penultimately, I got an Eclipse running – the SpringSource Indigo bundle – and began to grit my teeth. Don’t get me wrong. I like Eclipse a lot. But for the last eight months I’d been using IntelliJ, which means my brain and fingers had been retrained to different shortcuts, and trying to switch back to Eclipse is like trying to remember a language you’ve not spoken since high school. The other thing which always makes me grit my teeth is the richness of Eclipse. It’s the EMACS of IDEs, infinitely variable and configurable, and trying to get a fresh download to look and feel like you are used to is painful, annoying and tedious.

And finally, I sat down to fiddle with JMock again. And spent some time tearing my hair out. I was reading through a tutorial from the JMock site, and was damned if I could get it compiling. It was pretty obvious why – the JMock objects I was expecting weren’t in the JMock JARs. Maybe it was too late at night for me to be thinking straight when I downed tools, as picking it up again this morning revealed my problem: the tutorial was referring to a slightly older version of JMock, even though it was in a JUnit 4 context, and the current version is radically different.

Therein lies one of the things that drives me absolutely nuts about the open source Java Community: too many major, key, central projects have inaccurate, out-of-date documentation, and too much key knowledge is passed around in folklore.

Boxing On

Today’s goals are to cart boxes up to the storage unit, inventory the storage unit (a task which will be made difficult by it being full of boxes), and cart things in boxes off to Lifeline.

Oh, and a lot of washing, vacuuming, dusting, vacuuming and washing.

The infuriating thing about boxes is how difficult and expensive they are proving. So far we have found exactly one place – Bunnings – that has left-over cardboard boxes for the taking and using. It’s called recycling. This morning, not wanting to make the lengthy drive over and back, I went down to our local shopping mall. Not one, but three stores that I approached told me that it was not their policy to recycle boxes this way, that all their boxes had to be flattened according to policy and placed in the recycling bins according to policy. And that I could buy some archive boxes made out of recycled boxes. Well done Coles, Kmart and Choice.

I estimate I’ve spent around $250 on cardboard boxes, tape, bubble wrap and sundry packing stuff over the past couple of months. I shall treasure these boxes when they arrive, and carefully preserve them for re-use. According to policy. Maybe I can sell them at a profit.

Now I’m counting

There’s less than a week left now, and I would like to feel more excited and enthralled, rather than inanimate and slightly broiled. I’m blessing the air conditioning that has been repaired, and hideous expense, just in time for me to leave, as every opportunity sees me sitting in shorts and shirt in a room chilled to 20 C, hoping that my brain will soon start working again.

Our departure party was quite successful, and I was pleased that we drank or disposed of a very large amount of mead, and that the locusts swept through the box-of-stuff and took most of it away.

The packing is almost complete, although it appears completion can only be approach asymptotically and never actually attained. Some critical point was passed in the past few days, a phase change, a crisis, as the number of items on my to-do list fell rather than rising.

Giving away items has proved to be one of the most complex parts of this whole exercise, although spending a disturbing amount with tradesmen to make the house liveable has not been fun either.

What has bewildered and frustrated me most is that people who are getting Free Stuff can be so difficult about actually coming and picking it up. Ok, I do know that I get a benefit from them taking it away, it’s stuff that otherwise I have to lug off to Lifeline or St Vincent de Paul, but the lounge is still an Aladdin’s cave of items with name tags on them, waiting for someone to come and pick up whatever artefact the tag is attached to.

Frankly it’s going to be a relief tomorrow when I take whatever is not being packed for shipping, and not being packed into our backpacks, and take it to some charity. So if you were totally gonna get it sometime real soon now… too late.

Not Counting Down

Still not counting down. It’s been a productive week, helped along by having set myself a calendar of tasks for the week, and having met all the goals so far. Today’s effort is a good example of the sort of day I”ve been having for a long time, but particularly this week as we get very close.

Up early, coffee, left over paella. Check how much paint I have, walk down the street to buy cheap brushes and some decking oil. Spent the morning in the heat painting the front porch, the back stair rails, and the rails around the front porch. The nice thing about the heat was that it dried very quickly, and I’m pleased with how much of an improvement to the appearance of the house such a simple thing has made.

Then I went mad with the decking oil and drenched the front and back stairs – both are unpainted natural timber since I had them repaired, and the oil will keep them as protected as paint ever will. I also managed to get oil and paint in my hair, up my nose, in my ear and all over my clothes. But it’s done.

I also cleared out the study, other than the remaining computer, and we carted boxes up to the storage unit, boxes to Delia’s parent’s house, and still had time to stop for Gerbinos for gelati on the way back.

Finally I sat down with everything that was potentially to be packed into my daypack, put it in, took it out, reduced it, put it back in again, and poked around to confirm that it was actually functional and that I was not taking things too phenomenally dumb.

Now, the sound of crickets and cicadas, and possums thumping on the roof. Barking geckos, finally a cooling breeze, a glass of wine and some goats-milk cheese.

This is going to work.

Three Weird Things

I am still desperately trying to not count down days, although we’re getting very close to leaving. Packing and preparation is going ok since we stopped work on Friday, and it looks like we are on track to being essentially finished packing at the end of this week, with an avowed intention to do very little in the last week.

Three things which have felt powerfully strange in the past few days, since they are things we don’t normally do.

1. Buying money. It felt quite odd to go to a shopfront and buy money. To swipe our debit cards and tap away an acknowledged amount and in return be given a small handful of what looks vaguely like money, but doesn’t feel like real money. The pounds are sepia toned, faded, ornate. In stark contrast to the brightly coloured plastic monopoly money we’re familiar with. And the mirror-world begins, as we find that it is just slightly the wrong shape to fit comfortably in our wallets.

2. Washing walls. The humidity and constant rain earlier in the year left a bloom of mould across some walls, in no particular pattern. Some walls were fine, some needed a scrub, some needed a quick wipe over. But to be lugging a bucket of water into the house, shoving furniture aside, and scrubbing walls is not an every day occurrence. I just hope the tenants appreciate it.

3. Rising at eight. It’s been so very, very long since we’ve felt able to sleep in that setting the alarm for eight in the morning feels wonderfully sybaritic. And I find that I wake up at half-past-six anyway, and lie there wondering about the day ahead.

Something I’ll miss

I will probably miss good coffee, at least in the short term. The coffee culture of Brisbane is no match for that found in the center of Melbourne, but far outstrips that of pretty well anywhere I’ve been in Sydney. Sorry Sydney, but you make lousy coffee.

It shouldn’t be hard to make good coffee and provide a pleasant experience, but it must be, otherwise so many places wouldn’t stuff it up so badly. Burnt coffee, expensive food, weak rancid dribbles out of dirty machines, surly and disinterested staff.

Top of the list of places I will miss is Cartel Coffee. You shouldn’t expect a good coffee from a road-side cart, but these guys and girls really deliver from their cart near King George Square. The blends are excellent, and all the coffee is well made, and consistently made. The ice coffees and ice chocolates are made by making hot drinks and cooling them down. Refreshing, fresh, richly flavoured. The espressos and hot chocolates are obviously made with care by people trained to use the machines, and the results are superb. And to top it off, everyone that is there is genuinely interested in what they are doing, and in engaging with their customers.

My other local haunts are of mixed quality. I frequent them based on a complex calculus of time-of-day, state-of-mind, level of exhaustion, and the possibility of hearing good music. The little cafe downstairs in my office building does a drinkable doppio, but they always seem harried. Pleasant enough kids, but it’s obviously just a job. Still, they are closest. Pour Boy around the corner makes outstandingly good coffee, but they’re a little above market prices, and it never feels like a spot to linger. Bar Metzo across the road, and Sugar-and-Spice up the road, both make really good hot chocolate. The pleasant aspect of Sugar-and-Spice is the cosy little space, the walls lined with cups and teapots, panelled in dark timbers, and the air is always rich with the smells of various tea. Espresso Republic in the little alley near the bagel place is also reliable.

The various Aroma’s franchises have sadly faded. Once they were the best coffees around, but they’ve become dull, expensive and unreliable. The sundry Merlo bars around the place are better, probably because they are using a better blend, and I suspect they are more rigorous about training their barristas.

There’s a Starbucks nearby. The only thing I can say about it is that there’s a semi-reliable iiNet free wifi hotspot. Well, free for me since I’m an iiNet subscriber. The drinks are expensive and not very good, but I guess you already knew that. And the food is very ordinary.

I have no idea what the coffee culture in London or anywhere else in the UK is. I doubt that I will be able to walk around any corner and find a random, tiny, hole-in-the-wall that can knock me up a rich, flavourful short black made on fresh roasted interesting blends. Oh well. I drink too much coffee anyway.

On My Shoulders

I seem to spend an inordinate amount of time looking at and for bags. Something drives me toward a Shangri-La where the perfect bag for all occasions rests in a temple, waiting for me to pack it with all I need, forever simplifying and organising my life.

Of course the reality is that I asymptocically approach an ideal, never quite having the right bag. I thought my ridiculously large Crumpler messenger bag was ideal, and it was certainly satisfactory for some four years, until I got a laptop. While I could pop the laptop in the messenger bag inside a Built neoprene sleeve, it always slopped around in an uncomfortable fashion. So I grabbed a right-sized laptop bag. The trouble is that a tension then arose between being able to Pack Everything and rational convenience, and I inevitably would be swapping backward and forward between bags for different occasions, inevitably leaving things behind as a result.

My vice, or at least one that I will admit to in a public forum, is a desire to carry way too much stuff around. I never know when I need that stuff. It’s important. It could be useful. And very occasionally is. But a large bag means I carry a lot of crap.

All of which brings me to my latest bag. I acquired a pretty big (70 liter, I think) backpack for travelling, with a removal day pack. Today I moved into that day pack, in order to get used to carrying it, and to figure out just what I should carry. Of course I packed too much, and haven’t packed all I ought:

  • Kindle
  • Laptop
  • Camera
  • Torch
  • Pocket knife
  • Wallet
  • Keys
  • Gorilla Pod
  • Umbrella
  • Hair ties
  • iPhone
  • Headphones
  • Earbuds

I guess that’s not too much. I can fit passport, two Lonely Planet guides, and a stuffed koala, can’t I?