Book Review – The Cucumber Book

The Cucumber Book

Title: The Cucumber Book – Behaviour-Driven Development for Testers and Developers

Authors: Matt Wynne, Aslak Hellesøy

Rating: 4/5

Overall, a solid introduction to the Cucumber testing tool, and BDD in general. About the only criticism I have of it is that it’s perhaps a little bit too Ruby focused – an example of working with an application or a database without leveraging Rails would have been nice.

Continue reading “Book Review – The Cucumber Book”

Book Review – Peopleware

Title: Peopleware: Productive Projects and Teams

Authors: Tom DeMarco, Timothy Lister

Rating: 5/5

I picked this as the first book to review on my endless quest for two simple reasons:

  • It is one of my all time favourite books – a true timeless classic that really should be mandatory reading for every knowledge worker.
  • I have both the first and second editions on my reading list, so I can do a two-fer and review them both at once.

I bought the first edition in a 2nd-hand bookstore for $15 – the price is still on the inside cover. Two days later, I ordered the second edition for the eight all-new chapters.

Overall, the book holds its age well – it’s nearly 25 years old now, as it was first published in 1987. If they release a ’25th anniversary’ edition, do pick it up.

The book is broken into six sections – the last of which is for the second edition only. The sections are:

  • Managing The Human Resource – several chapters on people management skills
  • The Office Environment– all about building productive and distraction free environments
  • The Right People – covers how important it is to get the right people for your environment, not necessarily the most skilled or the cheapest.
  • Growing Productive Teams – pretty obvious; this is about how you nurture teams, how you can help make them gel, and how you prevent them falling apart.
  • It’s Supposed To Be Fun To Work Here – enjoyment and satisfaction in the work environment – what a novel idea!
  • Son of Peopleware – a reflection on the 12 years between the two editions, lessons learnt and new insights.

It’s a little dated in some ways. Some of the specific problems described in the book have gone away or reduced, while some of the specific solutions aren’t quite right anymore. But as a whole, the book is still highly relevant.

Each section is broken into several chapters. In the first part of the book, each chapter focuses on a particular issue. That may be a common negative phenomenon or anti-pattern – Chapter 3 is about overtime and workaholics, while Chapter 7 is about issues with ‘The Furniture Police’ – the people who don’t let you re-arrange workspaces to enable greater collaboration. Or it may be a positive workplace practise, such as Chapter 21 ‘A Spaghetti Dinner’, which describes a simple team-building exercise and why it works. Each chapter is short and focused – any chapter can be read in just a few minutes, which makes this a great book to read in spurts.

Here’s an example from one of the early chapters – Chapter 4 “Quality – If Time Permits”:

The Flight from Excellence

Managers jeopardise product quality by setting unreachable deadlines. They don’t think about their action in such terms; they tink rather that what they’re doing is throwing down an interesting challenge to their works, something to help them strive for excellence.

Experienced (jaded) workers know otherwise. They know that under the gun, their efforts will be overconstrained. There will be no freedom to trade off resources to make on-time delivery possible. They won’t have the option of more people or reduced function. The only thing to give on will be quality. Workers kept under extreme time pressue will begin to sacrifice quality. They will push problems under the rug to be dealt with later or foisted of onto the product’s end user. They will deliver products that are unstable but not really complete. They will hate what they’re doing, but what other choice do they have?”

The chapter goes on to talk about how people don’t explicitly value quality – that given the choice between getting a barely working product on time and on budget, or getting the stable complete version a few weeks later for a correspondingly greater price, they tend to pick the former. And if it’s going to be on time and high quality, they’d rather have it earlier and buggier. While this culture is endemic – and any real world project will face pressures on both time and budget – a willingness to accept the merely adequate is a killer for craftsmanship. Another quote from the same chapter:

Allowing the standard of quality to be set by the buyer, rather than the builder, is what we call the flight from excellence. A market-derived quality standard seems to make good sense on as long as you ignore the effects on the builder’s attitude and effectiveness.

In other words, good people want to build good products that they are proud of. Having worked in more than one environment where building good products was always a struggle, this is a principle I can agree with at a gut level.

The book does have some gaps. In particular, it assumes that knowledge workers should work alone or in pairs, even when part of a collaborative team – this runs counter to some of the various Agile methodologies I’m a fan of, which put emphasis on the benefits of a co-located team working in a communal area. That said, there is little in this book I disagree with, and a lot that I’m in violent agreement with.

If I could make any manager I report to read just one book, it would be this one. If I could make them read a dozen, this would be the first – closely followed by several others by the same authors (“Slack”, by deMarco, is another favourite). It doesn’t matter that some of the advice in this book is 25 years old – it’s still important.

My Book Collection

Well, the technical ones, anyway – not shown are the two other similarly sized bookcases – and the other one which is a little more than twice as big – which are overflowing with my fiction collection.

(Click to embiggen)

The bottom two shelves (and a couple in the third row) are very dated – I don’t think anyone cares about the pre-OS7 Macintosh Toolbox anymore, for example. A number of the books in that row are from my university days.

The next three rows (including the slight spill over to the top row, which will soon force me to relocate the DVDs) are a more recent vintage – those are the books that I kept at work while I procrastinated about unpacking my study (Hey, I only moved in just under two years ago!). But I finally did that on the weekend, and now they’re home (except for a few I’ve lent out)

I gotta say, I’m thankful for ebooks – over the last two years, I’ve predominately bought ebooks. I’m not sure I could get their physical versions on the top shelf even without the DVDs (it would be another 24 books or so).

Anyway, the reason I’m posting this isn’t to brag or anything – it’s to set myself a challenge. I haven’t been keeping up with my reading over the last year for a number of reasons, up to and including battling with a moderate case of depression. I’m going to change that though – I’m going to go through those top shelves and re-read (or, in a few cases, read) each on that’s still relevant – which is most of them. I mean, I’m sure Webwork In Action was great in the day, but Webwork isn’t relevant to me anymore. Age isn’t a factor, though – in that bookcase somewhere is a 2nd-printing copy of The Mythical Man Month (which I picked up in a Lifeline store for $5!), and I’ve got both the original and the re-issue version of Peopleware in there. Then there’s the Psychology of Computer Programming – but that’s from the 20th anniversary printing.

Anyway, my challenge – to myself – will be to read and post a review of the books in there. One a week, with the first review due next Saturday (October 1), with an e-book thrown into the mix every so often as well. I’ll post a full set of the books within the next few days, and I’ll even see if I can turn it into a poll of sorts in case there’s books people want me to review first.

Watch this space for more.

Updated: You can see my Delicious Library collection, or you can view the page that will become a dynamic view over my books (but right now is just static)

%d bloggers like this: