On 8 Oct 2008, at 11:15, Tim Waters (chippy) wrote:
> That's the tricky part - if you want to train people about TDD and > BDD, and the importance of it, in a *practical setting* - then you > absolutely need *practical exercises* - and not just add a few tests > to the three basic models of the example simple application. I agree. I've done classroom exercise code before and it doesn't get the message across. Here are my observations about BDD training: It must have a low linguistic barrier. RSpec is great because of its natural language approach, shared behaviour groups, nesting, and more. I've tried to teach BDD in C#+MbUnit+RhinoMocks and, while it is certainly in part down to my lack of experience with those technologies, I found the need to transform the BDD principles onto the functionality of the tools made it damn near impossible to explain even simple things. You have to focus on the value from having a runnable specification, not hypothetical waste reduction from having regression tests. The GeekUp huddle I did this month[1] was surprisingly effective at that. I think it was because of the quick turnaround, but also because I never used the word "test" once. (I have a feeling, however, that some people retrospectively *imagined* they heard the word.) As soon as you tell people they're writing tests, they think "waste", with good reason. Tell them they're building a spec that demos the full functionality of their app and they think "value". (Well that's my theory, anyway...) It must be real. It's impossible to teach BDD priciples 1, 2 and 3 in an abstract way, and leave people to their own devices. You can pretty much guarantee the very first thing someone tries to write in a real context will need principle 4.5a(ii) and there'll be a bug that means you have to write a workaround. Pair programming is ideal as a teaching mechanism, but obviously it's not very scalable. Those are the main things to me, at least. Ashley [1] http://aviewfromafar.net/2008/10/2/geekup-sheffield-vi-from-specification-to-success -- http://www.patchspace.co.uk/ http://aviewfromafar.net/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "NWRUG" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/nwrug-members?hl=en -~----------~----~----~----~------~----~------~--~---
