layout: true name: titleslide class: center, middle
.footnote[ ###
@schmonz
####
#torontoagile
] --- layout: true name: footnotelinks .left-column[
] .footnote[ ###
@schmonz
####
#torontoagile
] --- template: titleslide # Behavior-Driven Development
for Everyone
## Amitai Schleier ### 2017/08/15 ??? 1. Press 'C' to clone and move it to projector 2. Press 'P' to show these here presenter notes ### 50 minutes Problems are better solved when you're better involved. That's how you make your living, and that's what BDD is all about. We'll work together to solve a problem in a way we can all understand and trust, expressing what we want in plain English and automating our tests with a tool called Cucumber. Don't worry, you won't be put on the spot at the keyboard -- I'll handle all the coding! --- layout: false template: footnotelinks .right-column[ # Goals For This Webinar 1. **Learn** what BDD _isn't_, and what it is 2. **See** an approximation of what BDD can be like 3. **Consider** the possible value of BDD in your context ] --- .right-column[ # What _isn't_ BDD? - Basically the same as Test-Driven Development - Programmers do it behind the scenes - A kind of automated test - A software tool - Requires a software tool ] --- .right-column[ # What _is_ BDD? - Everyone on the team does it **together** - A shared focus on overall **system behavior** - Enough **shared language** to deliver on that focus - _May_ result in **automated acceptance tests** - _May_ be more valuable with a **supporting tool** ] --- .right-column[ # How important is BDD? Can we use it to **work together more effectively**? If we can't, then it's not important! If we can, then it is. ] --- .right-column[ # Does BDD require great programming skill? I'm not a great programmer. Especially in front of a crowd like this. I'm hardly a BDD expert. I've **learned by doing**, and continue to. BDD is most useful when applied by people who: - Want to do work that **matters** - Accept the **limits** of their knowledge - Are willing to **ask** for, and **offer**, help ] --- .right-column[ # Um, so what's BDD again? If I develop it **all by myself**, there's **no BDD**. If we think, try, check, learn, and solve it **together**, that might well be BDD. It helps to focus on the smallest end-to-end **system behavior** we want next. It helps to use **words we all understand** in the same way. It helps to use our words of understanding to **verify the system**. _If_ we want to verify our understanding automatically, we can use a **software tool**. ] --- .right-column[ # Simultaneously reasonable and vague BDD relies on examples. BDD might be best explained **with** examples. ] --- .right-column[ # "Three Amigos" For every role that has an interest in what it means for a story to be **valuable**, **ready**, and **done**, we'd want to hear from someone representing that interest. Usually one each of: - Product Owner - Tester - Developer For today, pretend that we've already had these conversations. ] --- .right-column[ # Bowling (10-pin) I'll briefly explain what I know of the rules of bowling. Our job is to keep score for one player's game. Questions? Let's develop! ] --- .right-column[ # References - [Introducing BDD](http://dannorth.net/introducing-bdd/) ([Dan North](https://twitter.com/tastapod), dannorth.net, March 2006) - [The Three Amigos: All For One, One For All](http://www.stickyminds.com/sites/default/files/magazine/file/2013/3971888.pdf) ([George Dinwiddie](https://twitter.com/gdinwiddie), _Better Software_, November/December 2011) - [What is BDD?](http://lizkeogh.com/2015/03/27/what-is-bdd/) ([Liz Keogh](https://twitter.com/lunivore), lizkeogh.com, March 2015) - [The Bowling Game Kata](http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata) ([Robert C. Martin](https://twitter.com/unclebobmartin), butunclebob.com, 2005) ] --- .right-column[ # Agile in 3 Minutes ##
agilein3minut.es
> "Before Agile in 3 Minutes, I couldn't get my team to have a > conversation about important topics. Now I have to timebox it."
-
8: Care
-
9: Pair
-
32: Mob
] --- .right-column[ # Agile in 3 Minutes: The Book ## [leanpub.com/agilein3minutes
/c/tac17](https://leanpub.com/agilein3minutes/c/tac17) The simplest _essays_ that could possibly work. $4 USD today! ] --- .right-column[ # Let's Keep Going ## [announce-subscribe@schmonz.com](mailto:announce-subscribe@schmonz.com) To have these slides sent to you, join my mailing list. (Also talks, podcasts, blog posts.) ##
schmonz.com/coach
Does your company deliver valuable software? Maybe I can help. Consulting, coaching, training. ] --- template: titleslide # Behavior-Driven Development
for Everyone
## Amitai Schleier ### [schmonz.com](https://schmonz.com)