Month: January 2008

“Don’t know what I want, but I know how to get it”
Jeff Patton revisits the basics of Agile development, and one section leapt out at me.

Saying “shippable” to people in the customer role means implies they’d better get the requirements right because that’s the way Agile development works.

Now, I believe Agile people had something else in mind when they said it. I think they mean keep code quality very high. Keep the code supported with unit and acceptance tests. Take steps to validate each and every user story. It tells testers to get involved earlier and more continuously. It tells developers to develop with a higher attention to quality. (Apparently developers would be developing crap otherwise?)

Which is all well and good, but isn’t there something missing? Hello? Product Documentation?? Regardless of his omission (an oversight, I’m sure) If you are involved in a software team using any form of iterative, Agile development then give it a read.

Collison’s Ignorance Spiral
After every release cycle has been complete, we undertake a Retrospective, looking back at what went badly and what went well, with the aim of carrying forward the lessons learned into the next release. I think we are pretty good at it but some of what Chris says is interesting:

Iโ€™ve been in a number of lessons learned reviews where the intent of the meeting seems to be catharsis for the team or compliance with the process, rather than learning for the organisation.

Is that such a bad thing? Sometimes the discussion is more important than the outcome, and if the team needs catharsis then surely it’s better to provide an outlet for it? Admittedly I’m taking what Chris wrote and skewing it somewhat, but he makes some good points.

Top 10 Distraction Stoppers
Nice list of useful applications, particularly item 5 “Minimise your Word Processor”. One of the commenters suggested an application called q10 as an alternative to Darkroom for Windows.

I’ve been trying out q10 recently, mainly for the posts on this blog and for an article I’m currently writing, but I’ve slowly been extending it to other things and I have to say it is very effective. It takes a bit of getting used to but if you have problems focussing on your writing, and I mean REALLY focussing, then it might be worth a look.

Project Blogs, Email and Dual Collaboration Channels
Written in response to a separate post, this paragraph leapt out at me:

A larger question is how to efficiently manage processes that, for historic or practical reasons, require collaboration among multiple communities that maintain a mix of potentially incompatible formal and informal communication processes.

It’s something that we repeatedly visit at my place of work, we have a very successful wiki, and we’ve started to ponder if there are other tools out there that might benefit us in other ways.

In my head there is a need for something like Twitter but with the ability to post slightly large amounts of information (not much, say double the character count). That way anyone can post a quick thought for the consumption of others. Very informal but possibly a good way to capture the myriad of ideas that are generated each day?

No Docs = No Product

What of agile documentation?

It seems like such an old argument that surely, SURELY, doesn’t need revisiting? Alas it seems that the world of software engineering still contains those who think that code = product. Thankfully, in my experience, the numbers are thinning as most practitioners of modern software practices are at least educationally aware of the need for product documentation, even if they don’t fully understand the reasons. However, there are still those who are happy to hack away, and then claim they have a product. If you are such a person let me make one thing clear, you are wrong.

Not only are you wrong but as time marches on, you get further and further from being correct, all the while creating further problems for you and your product.

Just over a year ago, in preparation for my new job, I spent sometime reading up on Agile development and in particular I focussed on Extreme Programming (XP). The more I read the more I came to realise that this was an area which was popular with developers, yet had little to no mention of product documentation as a fundamental part of the methodology.

Mention of unit and acceptance testing as fundamental parts of working in XP suggested there was at least an understanding of the importance of solid, well constructed tests to help make to a “better” application (test-driven development) but the more I read, the more I become slightly disconcerted at the lack of consideration given both to the production of product (end user) documentation or of the benefits and skills a technical writer can bring to a development team.

Truth be told, I’ve still to find more than a passing reference in any of the more recent publications and articles I’ve found but I’m happy to be proven wrong. Perhaps I’ve been reading the wrong things, and visiting the wrong websites? Or, more worryingly, perhaps there really isn’t anything out there.

Obviously, as a technical writer, the role of product documentation as part of the product is something that is at the forefront of my mind, and I’m not expecting any software engineer to have to worry about such things beyond understanding that we are a fundamental part of the product offering and hopefully agreeing that there is a level of expectation setting to be undertaken.

That said, I do expect a software engineer to understand that software without any support, be it formal documentation, training, or a dedicated support team, is NOT a product. If we can’t agree that fundamental trait then perhaps that problem requires a solution (thankfully, as I said earlier, I don’t think it’s a huge issue at present).

Quite simply, products include documentation, support and training, and tell a cohesive story to a potential buyer. A story that says, yes this product will do X, Y and Z, and if it breaks we’ll do our best to help fix it, and we’ll support you as you learn to use it throughout the lifetime of your relationship with the product (and, therefore, the company).

Admittedly the lines are blurring, with better UI design there is less need for the end user to head to the documentation for assistance but I’d argue that, conversely, as UI design improves and more people become aware of the basic principles of software applications (we all know cut and paste by now, right?) then the end users will start to stretch the applications in ways that hadn’t been considered and it is at this point that product documentation (information) becomes the key differentiator between products.

Of course it is possible to happily exist as a technical writer in an Agile world, but I think we need our voice to be louder.

So I guess my question is, who is willing to shout?

Note: I am aware of Agile Documentation, but I’ve yet to read it. It seems to be more focussed on a developer writing documentation though? I’ll post a review of the book soon.

Voyeur

It’s a little over one year since a changed jobs and I’ve loved every minute. I do miss one thing about the old place though, aside from the (most of) the people of course, the location.

I spent a few years commuting by train into Glasgow city centre, and I must admit I miss the occasional wander and, more specifically, the people-watching opportunities.

Whether observing my fellow commuters, or marvelling at the myriad of shapes, faces, and gestures that issue forth from my fellow (wo)man, I could, and did, spend a little too long sitting in a cafe somewhere, gazing out of the window at the passing parade of everyday people. People everyday.

And of course there was the occasional interaction, a grasped moment, a shared look, the shared experience however trivial.

Apologies for the introspection but you’ll have to blame the lady who was opposite me in the revolving door to our building.

The cafe/restaurant is open to the public and having nipped out a lunchtime, I was re-entering the building as I spotted a couple leaving the cafe, walking towards the revolving door and, by my calculations, who were destined to meet it at the same time as I.

I was right. As I put my hand out to starting pushing from my side, so the gentleman on the other side did the same (leaving the lady behind him, whatever happened to chivalry!). As the door slowly rotated, she was left with a decision. Whether to squeeze in alongside him or what for the next gap. She decide to squeeze through the closing gap, and as I glanced across she looked across at me and gave me a little smile.

All of this happened in a split second of course, but that smile conveyed so much, acknowledging the lateness of her decision, and that she almost got caught in the door. The guy in front of her didn’t see this.

It was a silly little moment, shared between two strangers, never to be repeated again. But it made me smile.

I find human nature fascinating, and it’s little moments like this that can give you a little lift for the rest of the day.

Dump

Dentist this morning, a hygienist visit only thankfully (no I don’t floss enough, I know, I know) then the car goes into the garage this afternoon to get a bump stop replaced. I think. It may be two bump stops. I’m not sure. It’s under warranty and has something to do with the suspension. After that I know nothing, which is exactly how car manufacturers want it these days and I guess I’m quite happy with the state of things too as I’ve not been bothered enough to go and find out what it is (mainly because, hey, it’s free).

As such I’m working at home today, which means I get to hear Ollie getting stuck in a large brown paper bag, and then ripping his way out. Alas no photos as I was upstairs and he was down. All I heard was the noise and by the time I got there a small slightly sheepish looking cat was glaring at the remnants of the paper bag.

The weekend was good, got loads done on Saturday including by some new shirts for work. I bought several from one store (all of the same brand and size, just different designs) and for some reason only half of them fit. Grrrrrr. Still that should really be my incentive to start losing weight.

Speaking of which I have started doing some basic exercises aimed at improving my flexibility, which shouldn’t be hard as I’m as rigid as a board most of the time, and toning up those muscles I’ve not used since October. My arms and legs are a little sore today but that’s fine.

My stomach is also sore, as are my sides and my face, again remnants of the weekend as Saturday night was spent celebrating the 21st birthday of my nephew and I honestly don’t think I’ve laughed so much and so hard… well since I saw Lee Evans a couple of years ago. Suffice to say that one of Louise’s cousins, Sharon, is hysterical. She tells stories, peppering them with enough references and imagery so you can picture things, in a manner similar to Billy Connolly. It’s observational and personal stuff for the main but, I mean this seriously, she really could go on stage.

Most of Sunday was spent chilling out and doing bugger all. Which given how hectic the past couple of weeks have been was a nice change. I even managed a nice little doze before dinner, before embarking on a fairly ass-kicking session of Lego Star Wars on the Wii.

Right, I need to go and dig out an email address. Does anyone else still have those promo Skype phones from 3? Do they want them back?? It was a month trial late last year and I’ve heard nothing… I’m sure I could shift them on eBay…

Trickle and Blink

“There is no such thing as too much information”

We’ve all heard this statement at one time or another, and in the internet age it’s accepted as a statement of truth. Which is shame as it’s completely wrong. Turns out, that you only need enough information, not all of it.

A while ago I wrote up some thoughts on how to integrate an authoring team into an Extreme Programming (Agile) development group. The post Trickle vs Traditional outlined a basic way of building up the required content throughout the various stages of an XP release and, to save you re-reading that post, let me grab the crux of what I was saying:

The trickle method relies on the ability of the technical author to retain a โ€œbig pictureโ€ view whilst working on multiple chunks of information at any one time. The information will not come in a set order, nor from a definitive source, instead it will trickle in from various parts of the development team, testing, and so on. Your job is to monitor the flows of information, position yourself within a stream (or two) and divert the information you need into the documentation.

In reality this means that you need to develop a good technique for filtering information, knowing when and what to leave out of the documentation and relying on your knowledge of the product to help you make decisions and make them quickly.

Quite simply, to remain agile in such a system you need to be able to make decisions. A decision can be wrong, as long as you make the decision to fix it as soon as possible.

In a way, you start to write by instinct, trusting that you properly understand all the myriad of factors that influence what information you are creating and letting your talents as a technical writer take over. As Malcolm Gladwell, who wrote an entire book about this type of decision making, suggests:

We live in a society dedicated to the idea that we’re always better off gathering as much information and spending as much time as possible in deliberation. As children, this lesson is drummed into us again and again: haste makes waste, look before you leap, stop and think. But I don’t think this is true. There are lots of situations–particularly at times of high pressure and stress–when haste does not make waste, when our snap judgments and first impressions offer a much better means of making sense of the world. [source]

All of that sounds slightly scary if you are currently working in a process-heavy environment, with requirements and specification documents been seen as a way to provide all the information everyone needs, and which are typically a rather slow cumbersome way of handling information.

Anyone who has written such a document knows how hard they are to do as you can’t know everything at the start of a project and over time things change. Having previously worked in ISO regulated companies, where the audit history of a document was almost more important than the information in the document itself, I know how onerous, time-consuming and false those systems can end up being. Many is the time when everyone in a discussion knows what is going on but you still have to write it up, review and approve it, before it can be officially logged in a system that is rarely referenced.

Monitoring the flow of information, trickling it into your documentation as and when needed, making quick decisions and trusting your instincts certainly feels like a more natural way to work. It does mean that there is no such thing as a final document and there is a chance you will publish something that is wrong; yet it is the very possibility of that happening which keeps itself in check. Allowing people to make their own decisions instills a higher level of professionalism and lowers the number of errors.

It’s not suitable for everyone and some industries wouldn’t enter it but it’s an interesting way to work. Limiting the amount of information you have available, and making decisions based on those seems wrong but it does work. You just need to be brave.

Morning Time

I don’t consider myself a morning person but, truth be told, once I’m up and about I’m fine, it’s just that I don’t do it that often at the weekend. I am a champion at eeking out the last precious moments of cosy-bedness.

So it was with no small degree of wonder that I found myself sitting in the car at 8.55am this morning, waiting to get into the local dump waste disposal and recycling centre. By 9.05am I was heading for Glasgow, and as I sit here at 11.42am I have successfully bought several new shirts, two pairs of trousers, washed the car and had my haircut.

A more typical Saturday morning would normally find me being cajoled into getting my arse off the sofa to get dressed.

Of course all this has changed since the arrival of the small fuzzy black thing that is currently shredding our wallpaper and running around like a mad thing. I’m hoping it’s just a ‘phase’ as he’s been very good up to now, but the last couple of days he’s been particularly destructive. Hmmmm.

Anyway, more things to get done before we head through to Dumbarton to celebrate the 21st birthday of our nephew.

No, wait, that can’t be right. If he’s 21 then I’m…

Ohh nuts.