Friday, 19 December 2008

Patterns of the Agile Organisation

Of all the software, technical and management books I've purchased over the years, there's one that really stands out for me - Organizational Patterns of Agile Software Development by James Coplien and Neil Harrison.

Organizational Patterns goes straight to the core of what's required to design and develop great systems, on time and on budget. Agile, of course, has been a buzz word in software development circles for a number of years now. For me, though, this sort of defeats the object of Agile, i.e. people are writing endless books about Agile (543 according to amazon.co.uk as of December 2008), rather than rolling their sleeves up and developing software systems!

The difference with James Coplien's book is that he started working on this text way before Agile became a software industry term, let alone fashionable. James admits in the books Introduction that they tacked the word Agile into the title purely for 'marketing' purposes. The basic premise of the book is that software development is broken into 'nuggets' of people behaviour and social relationships that make projects really work. Pretty much everyone of the Patterns discussed I recognise in one shape or form.

The best bit about the book are the 'anti-patterns', i.e. ways of working that definitely do not work. Most techies when they read these will definitely recognise typical non technical 'management' behaviours here. For example, adding more developers to an already late project in the vain hope that doubling the workforce will magically half the schedule. Invevitably, of course, we all know it ends up doubling it and some.

I have this book on my desk at all times. Amongst other things it keeps me sane and grounded in what really makes software projects work.

My favorite pattern in the book is the description of the role of the Wise Fool. The Wise Fool is the 'techie' in the organisation who really knows his (or her) stuff and what's going on at the coal face of projects. More importantly, is willing to raise 'uncomfortable truths' and openly question the management. To quote:

"A Wise Fool, though known for lacking tact, is usually highly respected technically and may be (or become) a Legend Role. They usually eschew managerial opportunities and may even show disdain for management. An acquaintance of the author was onced honored with the following words 'In the face of management opposition, he charged ahead and did what was right'"

I try to live up to the role of the Wise Fool every day of my working life! If you're struggling with problem IT projects then I highly recommend this book.

No comments:

Post a Comment