SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Testing as Communication
                        Real-World Techniques


                                    Jon “Lark” Larkowski

                                                 @L4rk
Sunday, March 1, 2009                                      1
Walk of the Talk

                    • Subset of Obie’s The Hashrocket Way talk
                    • Our tools & techniques
                    • How they support communication
                    • And save time & money
                    • At the end: where we’re headed…

Sunday, March 1, 2009                                            2
We value
                                    agility & transparency…

                    Therefore, we value
        testing & communication…

                                     And, this all saves you
                                     cash money, ideally…
                  The


                                   Way
Sunday, March 1, 2009                                          3
Test

                    • All the f-ing time. (Hi, Bryan!)
                    • If we test all the time…
                    • And testing is communication…
                    • Then we…

Sunday, March 1, 2009                                    4
Communicate
                    • All the f-ing time.
                    • (Only if we keep the overhead low.)
                    • There’s three lines of communication...
                        1. C2D: client to developer
                        2. D2D: developer to developer
                        3. DnD: [not covered in this talk]


Sunday, March 1, 2009                                           5
Fiscal Responsibility

                    • Testing is communication
                    • Both are “baked in” to our agile process
                    • That is, with low overhead
                    • This saves you dough
                    • Walk through our process, first tool is...

Sunday, March 1, 2009                                             6
Pivotal Tracker
                    • We live in it.
                    • Who’s using it?
                    • We don’t code
                        unless it’s for a story.

                    • Let’s look at some
                        screenshots...



Sunday, March 1, 2009                              7
Sunday, March 1, 2009   8
Sunday, March 1, 2009   9
Pivotal Tracker

           • Communication aspects...
           • C2D: transparency,
                  scheduling

           • D2D: estimation, who's
                  doing what right now




Sunday, March 1, 2009                            10
Pivotal Tracker
                • Fiscal aspects…
                • Real-time web collaboration lowers overhead,
                        both to clients at-distance, and developer
                        across room
                • Reporting & projection tools allow for
                        reasonable estimates, off real-world data
                • So that’s Tracker, but at its core it’s all about…
Sunday, March 1, 2009                                                  11
Stories


                    • All our work is driven by stories.
                    • Stories are like tiny use cases.
                    • Really, stories are tests.
                    • Because they contain acceptance criteria.

Sunday, March 1, 2009                                             12
Stories


                    • Communication aspects...
                    • C2D: stories are tokens of a conversation
                    • D2D: make sure to write stories at a level
                        developer can actually implement



Sunday, March 1, 2009                                              13
Stories

                    • Techniques we use…
                    • Direct capture to Tracker
                    • Standard forms:
                        In order to / As a / I want to
                        Given / When / Then
                    • Written together with client, with close
                        developer aide

Sunday, March 1, 2009                                            14
Stories
                    • Fiscal aspects…
                    • Well, they’re a part of agile in general
                    • Delivery working software early & often
                    • Constant cost of change
                    • Tight response to change
                    • Ability to recoup investment at any time
                    • So, that’s stories. Now, when we actually
                        start coding stories, we…
Sunday, March 1, 2009                                             15
Pair all the f-ing time.
Sunday, March 1, 2009                              16
Pair Programming

                  • Communication aspects…
                  • Who’s pairing? (Some, most, all.)
                  • Hopefully, you know the benefits already.
                  • D2D: keep focused, honest, high quality
                  • D2C: redundancy, bus sensitivity

Sunday, March 1, 2009                                          17
Pair Programming
         • Techniques we use…
         • Two developers,
                one screen.

         • Ping Pong, both
                metaphorical and literal…

         • Daily stand-ups

Sunday, March 1, 2009                       18
We take ping pong very seriously.

Sunday, March 1, 2009                                       19
Get up, stand up...
Sunday, March 1, 2009                         20
Pair Programming

                    • Fiscal aspects…
                    • Oh, boy.
                    • I could tell you, “Studies show…”
                    • Or I could just tell you, “Do it.”
                    • “No, no. Seriously. Do it.”

Sunday, March 1, 2009                                      21
Sunday, March 1, 2009   22
Testing
                    • Communication aspects…
                    • C2D: express stories as acceptance
                        criteria, then tests (MVC tests)
                    • D2C: RSpec specdoc format, cucumber
                    • D2D: more durable system specification
                    • Examples…
Sunday, March 1, 2009                                         23
Sunday, March 1, 2009   24
Sunday, March 1, 2009   25
Testing
                                        Techniques we use…


               •                                    •
                        RSpec                           Selenium

               •                                    •
                        MVC, yes... V                   RSpactor

               •                                    •
                        Factory Girl/Object Daddy       Continuous Integration

               •                                    •
                        Cucumber                        Clicking on stuff




Sunday, March 1, 2009                                                            26
Testing

                    • Fiscal aspects…
                    • Who’s heard, “We don’t have time to test!”
                    • Quit that job, immediately.
                    • Unless it’s Obie who says it.
                    • You don’t have time not to test.

Sunday, March 1, 2009                                              27
Testing
                    •   Fiscal aspects continued…

                    •   Respond to change quickly, be more daring in
                        your refactorings

                    •   Less regression, no rework fixing old bugs

                    •   Supports collective ownership, guards against misuse

                    •   Serves as built-in documentation (low overhead)

                    •   Supports continuous integration and deliverability…


Sunday, March 1, 2009                                                          28
Continuous Delivery
                  • All the f-ing time.
                  • We deliver finished stories
                        multiple times a day.
                  • Communication aspects…
                  • C2D: very tight feedback loop with client
                  • D2D: smoke test together to demo features
Sunday, March 1, 2009                                           29
Continuous Delivery

                    • Techniques we use…
                    • The usual, capistrano
                    • Supported by continuous integration
                    • Deploy to Engine Yard staging slice
                    • Also, Amazon EC2 instances

Sunday, March 1, 2009                                       30
Continuous Delivery

                    • Fiscal aspects…
                    • Respond to market, recoup investment at
                        any time, when it makes business sense, or
                        you run out of money, or find better things
                        to do with it
                    • Once we’ve delivered…

Sunday, March 1, 2009                                                31
Client Acceptance

                    • The Final Test
                    • Communication aspects…
                    • C2D: you’re doing it wrong
                    • C2D: you’re doing it right

Sunday, March 1, 2009                              32
ur doin it rong
Sunday, March 1, 2009                     33
Client Acceptance

                    • Techniques we use…
                    • Developer-assisted acceptance
                    • Ideally, on-site
                    • Video chats
                    • Daily stand-up

Sunday, March 1, 2009                                 34
Client Acceptance

                    • Fiscal aspects…
                    • Verify you got what you paid for
                    • Sooner rather than later
                    • Change direction anytime
                    • So, that’s what we’re up to now…

Sunday, March 1, 2009                                    35
Where We’re Headed
                    • Jakob Nielsen says, waterfall method user
                        specs are always wrong
                    • And I tend to agree with him
                    • The Vision: machine-executable stories &
                        acceptance criteria
                    • …but first—let’s talk about circuits.
                    • Yup, circuits…
Sunday, March 1, 2009                                             36
Impedance Matching
                        for Max Power Transfer
                                         (And, maximum awesome.)
                    •   Client vs. Developer vs. Code vs. Testing
                    • All have a little different perspective
                    • Goal: max power transfer
                    • Turn cash into code
                    • Any EE’s in audience? Cut me some slack.
                    • Allow me to blow your mind...
Sunday, March 1, 2009                                               37
Impedance Matching… sorta
                                        (Also, the worst circuit diagram, evar.)




                                       Geek                     Automated
                                        2                    Integration Tests
                                      English                  (Cucumber)
                        Client
                        Speaks
                        English



                                                               MVC Tests
                                        You
                                       Speak
                                       Geek
                                                              Regular Code
                                  +
                                  -




Sunday, March 1, 2009                                                              38
OMGWTFBBQ!?


Sunday, March 1, 2009                 39
In conclusion...


Sunday, March 1, 2009                      40
Testing Talks, Money Walks
                              Jon “Lark” Larkowski




                                   Stay metal.




                        (Thank you.)        (Also, speed metal rules.)
Sunday, March 1, 2009                                                    41
Sunday, March 1, 2009   42

Contenu connexe

Similaire à Testing as Communication, Real-World Techniques

Successful Teams are Test-Driven Teams
Successful Teams are Test-Driven TeamsSuccessful Teams are Test-Driven Teams
Successful Teams are Test-Driven TeamsRob Myers
 
Maven - Gestão de Builds e Dependencias
Maven - Gestão de Builds e DependenciasMaven - Gestão de Builds e Dependencias
Maven - Gestão de Builds e DependenciasRuben Badaró
 
Inleiding tot CHI
Inleiding tot CHIInleiding tot CHI
Inleiding tot CHIErik Duval
 
Getting Off the Island
Getting Off the IslandGetting Off the Island
Getting Off the IslandESUG
 
RefreshPhilly Presentation February 09
RefreshPhilly Presentation February 09RefreshPhilly Presentation February 09
RefreshPhilly Presentation February 09Johnny Bilotta
 
Ed Byrne Ucd Presentation 27 Jan 2009
Ed Byrne   Ucd Presentation   27 Jan 2009Ed Byrne   Ucd Presentation   27 Jan 2009
Ed Byrne Ucd Presentation 27 Jan 2009Ed Byrne
 
Web Standards and Accessibility
Web Standards and AccessibilityWeb Standards and Accessibility
Web Standards and AccessibilityNick DeNardis
 
457 WWDC08 Student Welcome
457 WWDC08 Student Welcome457 WWDC08 Student Welcome
457 WWDC08 Student Welcomerentzsch
 
Bac'n: From Idea to Startup in 21 days
Bac'n: From Idea to Startup in 21 daysBac'n: From Idea to Startup in 21 days
Bac'n: From Idea to Startup in 21 daysScott Kveton
 
AmbITion Roadshow Approach and Resources by Hannah Rudman
AmbITion Roadshow Approach and Resources by Hannah RudmanAmbITion Roadshow Approach and Resources by Hannah Rudman
AmbITion Roadshow Approach and Resources by Hannah RudmanHannah Rudman
 
How to Bring Your Blog to Life
How to Bring Your Blog to LifeHow to Bring Your Blog to Life
How to Bring Your Blog to LifeBruce Sharpe
 
Bring Your Blog to Life
Bring Your Blog to LifeBring Your Blog to Life
Bring Your Blog to LifeBruce Sharpe
 
Craigee Pitch Presentation
Craigee Pitch PresentationCraigee Pitch Presentation
Craigee Pitch Presentationcraigee
 
Marcomm 2008 Eng Pdf
Marcomm 2008 Eng PdfMarcomm 2008 Eng Pdf
Marcomm 2008 Eng Pdfluigip
 
Realtime 3D on the web - a toy or a useful tool?
Realtime 3D on the web - a toy or a useful tool?Realtime 3D on the web - a toy or a useful tool?
Realtime 3D on the web - a toy or a useful tool?Jens Brynildsen
 
Blyk Enables
Blyk EnablesBlyk Enables
Blyk EnablesBlyk
 

Similaire à Testing as Communication, Real-World Techniques (20)

Successful Teams are Test-Driven Teams
Successful Teams are Test-Driven TeamsSuccessful Teams are Test-Driven Teams
Successful Teams are Test-Driven Teams
 
Maven - Gestão de Builds e Dependencias
Maven - Gestão de Builds e DependenciasMaven - Gestão de Builds e Dependencias
Maven - Gestão de Builds e Dependencias
 
Inleiding tot CHI
Inleiding tot CHIInleiding tot CHI
Inleiding tot CHI
 
Getting Off the Island
Getting Off the IslandGetting Off the Island
Getting Off the Island
 
fingertips
fingertipsfingertips
fingertips
 
RefreshPhilly Presentation February 09
RefreshPhilly Presentation February 09RefreshPhilly Presentation February 09
RefreshPhilly Presentation February 09
 
Ed Byrne Ucd Presentation 27 Jan 2009
Ed Byrne   Ucd Presentation   27 Jan 2009Ed Byrne   Ucd Presentation   27 Jan 2009
Ed Byrne Ucd Presentation 27 Jan 2009
 
Web Standards and Accessibility
Web Standards and AccessibilityWeb Standards and Accessibility
Web Standards and Accessibility
 
457 WWDC08 Student Welcome
457 WWDC08 Student Welcome457 WWDC08 Student Welcome
457 WWDC08 Student Welcome
 
Depot Best Practices
Depot Best PracticesDepot Best Practices
Depot Best Practices
 
Bac'n: From Idea to Startup in 21 days
Bac'n: From Idea to Startup in 21 daysBac'n: From Idea to Startup in 21 days
Bac'n: From Idea to Startup in 21 days
 
AmbITion Roadshow Approach and Resources by Hannah Rudman
AmbITion Roadshow Approach and Resources by Hannah RudmanAmbITion Roadshow Approach and Resources by Hannah Rudman
AmbITion Roadshow Approach and Resources by Hannah Rudman
 
How to Bring Your Blog to Life
How to Bring Your Blog to LifeHow to Bring Your Blog to Life
How to Bring Your Blog to Life
 
Bring Your Blog to Life
Bring Your Blog to LifeBring Your Blog to Life
Bring Your Blog to Life
 
Ubiquitous Computing
Ubiquitous ComputingUbiquitous Computing
Ubiquitous Computing
 
Craigee Pitch Presentation
Craigee Pitch PresentationCraigee Pitch Presentation
Craigee Pitch Presentation
 
Young Activists
Young ActivistsYoung Activists
Young Activists
 
Marcomm 2008 Eng Pdf
Marcomm 2008 Eng PdfMarcomm 2008 Eng Pdf
Marcomm 2008 Eng Pdf
 
Realtime 3D on the web - a toy or a useful tool?
Realtime 3D on the web - a toy or a useful tool?Realtime 3D on the web - a toy or a useful tool?
Realtime 3D on the web - a toy or a useful tool?
 
Blyk Enables
Blyk EnablesBlyk Enables
Blyk Enables
 

Dernier

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Testing as Communication, Real-World Techniques

  • 1. Testing as Communication Real-World Techniques Jon “Lark” Larkowski @L4rk Sunday, March 1, 2009 1
  • 2. Walk of the Talk • Subset of Obie’s The Hashrocket Way talk • Our tools & techniques • How they support communication • And save time & money • At the end: where we’re headed… Sunday, March 1, 2009 2
  • 3. We value agility & transparency… Therefore, we value testing & communication… And, this all saves you cash money, ideally… The Way Sunday, March 1, 2009 3
  • 4. Test • All the f-ing time. (Hi, Bryan!) • If we test all the time… • And testing is communication… • Then we… Sunday, March 1, 2009 4
  • 5. Communicate • All the f-ing time. • (Only if we keep the overhead low.) • There’s three lines of communication... 1. C2D: client to developer 2. D2D: developer to developer 3. DnD: [not covered in this talk] Sunday, March 1, 2009 5
  • 6. Fiscal Responsibility • Testing is communication • Both are “baked in” to our agile process • That is, with low overhead • This saves you dough • Walk through our process, first tool is... Sunday, March 1, 2009 6
  • 7. Pivotal Tracker • We live in it. • Who’s using it? • We don’t code unless it’s for a story. • Let’s look at some screenshots... Sunday, March 1, 2009 7
  • 10. Pivotal Tracker • Communication aspects... • C2D: transparency, scheduling • D2D: estimation, who's doing what right now Sunday, March 1, 2009 10
  • 11. Pivotal Tracker • Fiscal aspects… • Real-time web collaboration lowers overhead, both to clients at-distance, and developer across room • Reporting & projection tools allow for reasonable estimates, off real-world data • So that’s Tracker, but at its core it’s all about… Sunday, March 1, 2009 11
  • 12. Stories • All our work is driven by stories. • Stories are like tiny use cases. • Really, stories are tests. • Because they contain acceptance criteria. Sunday, March 1, 2009 12
  • 13. Stories • Communication aspects... • C2D: stories are tokens of a conversation • D2D: make sure to write stories at a level developer can actually implement Sunday, March 1, 2009 13
  • 14. Stories • Techniques we use… • Direct capture to Tracker • Standard forms: In order to / As a / I want to Given / When / Then • Written together with client, with close developer aide Sunday, March 1, 2009 14
  • 15. Stories • Fiscal aspects… • Well, they’re a part of agile in general • Delivery working software early & often • Constant cost of change • Tight response to change • Ability to recoup investment at any time • So, that’s stories. Now, when we actually start coding stories, we… Sunday, March 1, 2009 15
  • 16. Pair all the f-ing time. Sunday, March 1, 2009 16
  • 17. Pair Programming • Communication aspects… • Who’s pairing? (Some, most, all.) • Hopefully, you know the benefits already. • D2D: keep focused, honest, high quality • D2C: redundancy, bus sensitivity Sunday, March 1, 2009 17
  • 18. Pair Programming • Techniques we use… • Two developers, one screen. • Ping Pong, both metaphorical and literal… • Daily stand-ups Sunday, March 1, 2009 18
  • 19. We take ping pong very seriously. Sunday, March 1, 2009 19
  • 20. Get up, stand up... Sunday, March 1, 2009 20
  • 21. Pair Programming • Fiscal aspects… • Oh, boy. • I could tell you, “Studies show…” • Or I could just tell you, “Do it.” • “No, no. Seriously. Do it.” Sunday, March 1, 2009 21
  • 22. Sunday, March 1, 2009 22
  • 23. Testing • Communication aspects… • C2D: express stories as acceptance criteria, then tests (MVC tests) • D2C: RSpec specdoc format, cucumber • D2D: more durable system specification • Examples… Sunday, March 1, 2009 23
  • 24. Sunday, March 1, 2009 24
  • 25. Sunday, March 1, 2009 25
  • 26. Testing Techniques we use… • • RSpec Selenium • • MVC, yes... V RSpactor • • Factory Girl/Object Daddy Continuous Integration • • Cucumber Clicking on stuff Sunday, March 1, 2009 26
  • 27. Testing • Fiscal aspects… • Who’s heard, “We don’t have time to test!” • Quit that job, immediately. • Unless it’s Obie who says it. • You don’t have time not to test. Sunday, March 1, 2009 27
  • 28. Testing • Fiscal aspects continued… • Respond to change quickly, be more daring in your refactorings • Less regression, no rework fixing old bugs • Supports collective ownership, guards against misuse • Serves as built-in documentation (low overhead) • Supports continuous integration and deliverability… Sunday, March 1, 2009 28
  • 29. Continuous Delivery • All the f-ing time. • We deliver finished stories multiple times a day. • Communication aspects… • C2D: very tight feedback loop with client • D2D: smoke test together to demo features Sunday, March 1, 2009 29
  • 30. Continuous Delivery • Techniques we use… • The usual, capistrano • Supported by continuous integration • Deploy to Engine Yard staging slice • Also, Amazon EC2 instances Sunday, March 1, 2009 30
  • 31. Continuous Delivery • Fiscal aspects… • Respond to market, recoup investment at any time, when it makes business sense, or you run out of money, or find better things to do with it • Once we’ve delivered… Sunday, March 1, 2009 31
  • 32. Client Acceptance • The Final Test • Communication aspects… • C2D: you’re doing it wrong • C2D: you’re doing it right Sunday, March 1, 2009 32
  • 33. ur doin it rong Sunday, March 1, 2009 33
  • 34. Client Acceptance • Techniques we use… • Developer-assisted acceptance • Ideally, on-site • Video chats • Daily stand-up Sunday, March 1, 2009 34
  • 35. Client Acceptance • Fiscal aspects… • Verify you got what you paid for • Sooner rather than later • Change direction anytime • So, that’s what we’re up to now… Sunday, March 1, 2009 35
  • 36. Where We’re Headed • Jakob Nielsen says, waterfall method user specs are always wrong • And I tend to agree with him • The Vision: machine-executable stories & acceptance criteria • …but first—let’s talk about circuits. • Yup, circuits… Sunday, March 1, 2009 36
  • 37. Impedance Matching for Max Power Transfer (And, maximum awesome.) • Client vs. Developer vs. Code vs. Testing • All have a little different perspective • Goal: max power transfer • Turn cash into code • Any EE’s in audience? Cut me some slack. • Allow me to blow your mind... Sunday, March 1, 2009 37
  • 38. Impedance Matching… sorta (Also, the worst circuit diagram, evar.) Geek Automated 2 Integration Tests English (Cucumber) Client Speaks English MVC Tests You Speak Geek Regular Code + - Sunday, March 1, 2009 38
  • 41. Testing Talks, Money Walks Jon “Lark” Larkowski Stay metal. (Thank you.) (Also, speed metal rules.) Sunday, March 1, 2009 41
  • 42. Sunday, March 1, 2009 42