Download - Coding the right thing
![Page 1: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/1.jpg)
Coding the Right Thing
![Page 2: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/2.jpg)
AgendaQueuing Theory(x)DDGherkin, SpecFlow and WatiN
![Page 3: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/3.jpg)
About Me
• Developer Evangelist @ Microsoft
• Web Developer and Architect
• Based in Austin, TX• Husband and Father
![Page 4: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/4.jpg)
ON RELIGIOUS DEBATES…
![Page 5: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/5.jpg)
"If we don't bother to verbalize our intuition, we ourselves will do the opposite of what we believe in." - Eli Goldratt
![Page 6: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/6.jpg)
The Goal…
Create Value :: deliver something desired; optimize
for quality
![Page 7: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/7.jpg)
WHAT I LEARNED ABOUT TDD WHILE WAITING IN LINE…
![Page 8: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/8.jpg)
QUEUING THEORY
![Page 9: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/9.jpg)
![Page 10: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/10.jpg)
![Page 11: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/11.jpg)
![Page 12: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/12.jpg)
TRADITIONAL TDDDEMO
![Page 13: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/13.jpg)
SO WHAT’S MY PROBLEM?
![Page 14: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/14.jpg)
"The deeper I got into TDD, the more I felt that my own journey had been less of a wax-on, wax-off process of gradual mastery than a series of blind alleys." - Dan North
![Page 15: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/15.jpg)
SHIFTING FOCUS“Working software that matters” – Dan North
![Page 16: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/16.jpg)
FOCUS ON ACTUAL BEHAVIORS
![Page 17: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/17.jpg)
“SHOULD”
![Page 18: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/18.jpg)
BEHAVIOR-DRIVEN DEVELOPMENT
DEMO
![Page 19: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/19.jpg)
SO WHAT’S MY PROBLEM?
![Page 20: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/20.jpg)
QUEUING THEORY
![Page 21: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/21.jpg)
![Page 22: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/22.jpg)
![Page 23: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/23.jpg)
![Page 24: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/24.jpg)
![Page 25: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/25.jpg)
A STORY, MY TEST; THE BROWSER, MY API…
Gherkin, SpecFlow and WatiN
![Page 26: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/26.jpg)
GHERKINFeature Syntax
![Page 27: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/27.jpg)
SPECFLOWAutomated ATDD
![Page 28: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/28.jpg)
WATINDrive the Browser
![Page 29: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/29.jpg)
![Page 30: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/30.jpg)
SPECIFYING FEATURES WITH SPECFLOW
DEMO
![Page 31: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/31.jpg)
TDD, BDD, ATDD, FDD, SDD…
![Page 32: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/32.jpg)
THE GOAL OF (X)DD…
![Page 33: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/33.jpg)
MINIMIZE REWORK…
![Page 34: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/34.jpg)
Question Your Thinking“Good people with good process will outperform good people with no process every time.” – Grady Booch
![Page 35: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/35.jpg)
Resources• SpecFlow.org• WatiN.sourceforge.net• Gherkin :: http://bit.ly/cONNiL
• Slides and Demos :: http://bit.ly/bddPresentation
![Page 36: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/36.jpg)
Resources (Cont’d)
• Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce :: http://amzn.to/atddbook
• How TDD Works (and More!) :: http://bit.ly/jbrainsTDD
![Page 37: Coding the right thing](https://reader036.vdocuments.mx/reader036/viewer/2022062405/5551274eb4c905f1528b4915/html5/thumbnails/37.jpg)
COMING IN THE DECEMBER ISSUE OF MSDN MAGAZINE…