I have received a lot of positive feedback from many new faces for the SPIN talk I did this week. Thank you.
But I am worried. In the 45 minute talk, I did 5 minutes with Ruby code and cucumber. Now so many people want to use cucumber. Good for cucumber.
I think I should have stressed my point a lot more.
Take-Home #1: Find a way to make the life cycle of requirements part of your workflow. Should it be a hard dependency? If the requirements change, then do you want the build to break? When requirements have a life cycle independent of the code’s life cycle, then you are opening yourself to waterfall-ish problems.
Take-Home #2: Agile in name and process can only take you so far. You have to live it in your head and in your life. For me, agile has a very Zen-like characteristic. You need to live in the moment, absorb the feedback in that moment and adjust your next action in response to all this stimuli. We are just like an amoeba that reacts to changes in pH. But the difference is that we are capable of controlling our re-action or subsequent action. An amoeba is agile by process only.
Take-Home #3: BDD can help you to change your coding and architecture attitude for the better. It is subtle in its intrusion, but profound in its impact. The subtley makes it dangerous. It is not about the clever use of words, it is about the way those words impacts on your code and your resulting architecture. So find your own cucumber and that does not mean you should go looking for another gherkin.
Perhaps I was not responsible enough. My actions and words have affected people in a way that I did not intend.