One More Big Reason for Adopting BDD

picjumbo, larry apke, joel software, larry apke bdd, bdd adoption, agile, agile scrum

I have always considered Joel on Software as one of the best bloggers on software development that exists.

I absolutely love his approach to software development and should he ever open an office west of the Mississippi I would be the first to send my resume!

While doing research on another blog topic, I came across his famous blog on the Netscape rewrite. As happens from time to time, a universal truth crashes into our consciousness causing a virtual cascade of neural connections to fire, providing in the instant the “Aha!” moment. It came to me as I read the profound truth that is “It’s harder to read code than to write it..”

I was blown away because while my post, 10 Reasons Why BDD Changes Everything, has some great reasons to adopt BDD, after reading Joel’s blog again (which I had done before and did not explicitly make the connection), I think I might have missed perhaps the most important reason for BDD.

So here’s one more reason, inspired by Joel, for adopting BDD, namely: If it is harder to read code than to write it, BDD provides a simple and concise method for making the code that we write frighteningly easy to read (especially when compared with how most code is currently written).

Over the last three plus years I have coached adoption of BDD at all of the companies I have consulted and have constantly asserted that a team (and the larger organization) cannot be agile over time (anyone can be agile over a short period) without adoption of some form of ATDD (my choice being BDD) and continuous integration / delivery.

I challenge anyone to change my mind with solid proof. So far only one inexperienced scrum master has even tried!

Conversely, the more I read from software development professionals whom I admire and trust (like Joel) the more I become convinced that my position is correct.

Tell me your thoughts.

Larry Apke

Leave a Reply

Your email address will not be published. Required fields are marked *