Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Who's code is it anyway?

chrismdp
October 25, 2013

Who's code is it anyway?

As developers working on software projects, our minds live in the middle of a whirl of code. We’re constantly thinking about abstractions, data models, loose coupling, architecture, and good automated tests. We’re protective over our codebases and work hard at them, trying to apply good coding design principles and minimise bugs as much as possible. In the midst of all of this, sometimes it’s very easy for us to forget that we’re building real features that real users use, and that our codebase isn’t actually for us at all…

chrismdp

October 25, 2013
Tweet

More Decks by chrismdp

Other Decks in Programming

Transcript

  1. Who’s code is it anyway? Chris Parsons @chrismdp Web Expo

    Guildford 2013 Friday, 25 October 13
  2. Friday, 25 October 13

  3. Who’s code is it anyway? Chris Parsons @chrismdp Web Expo

    Guildford 2013 Friday, 25 October 13
  4. The ballad of http://gardening.io Friday, 25 October 13

  5. inspiration Friday, 25 October 13

  6. Webitrance wt Friday, 25 October 13

  7. Kick off meeting Friday, 25 October 13

  8. Friday, 25 October 13

  9. What went wrong? Friday, 25 October 13

  10. Software Solutions Ltd S S L Friday, 25 October 13

  11. Kick off meeting Friday, 25 October 13

  12. Friday, 25 October 13

  13. Friday, 25 October 13

  14. Feature: User orders plant As a user of the website,

    I want to place an order on the website, so that I can order a plant through the website Scenario: User orders plant Given there is a plant with name: “Plant 1”, price: “£1”, size: “large”, foliage: “foliage 1” When I visit the homepage And I click on “Plant 1” And I click “Add” Friday, 25 October 13
  15. And I fill in “City” with “City 1” And I

    fill in “Postcode” with “SW1A 1AA” And I click “Continue” And I click “Continue” And I fill in “Card number” with “1234 1234 1234 1234” And I fill in “Expiry date” with “00/00” And I fill in “Name on Card” with “Name on Card 1” And I fill in “CV2” with “123” And I click “Place Order” Then I should receive an email Friday, 25 October 13
  16. What went wrong? Friday, 25 October 13

  17. Friday, 25 October 13

  18. Who’s code is it anyway? Friday, 25 October 13

  19. Friday, 25 October 13

  20. Friday, 25 October 13

  21. Zzz Friday, 25 October 13

  22. Listening Friday, 25 October 13

  23. “So, I’m thinking of a gardening website, where you can

    buy stuff...” Friday, 25 October 13
  24. “...but with a way for those who love gardening to

    make it a whole interactive experience, right?” Friday, 25 October 13
  25. “So gardeners can create like an ‘area’ to put pictures

    of their plants...” Friday, 25 October 13
  26. “...and other gardeners can say what they think, and suggest

    garden layout improvements...” Friday, 25 October 13
  27. “Herp derpety derp derp herp herpity derp website derp herp

    derp buy stuff” Friday, 25 October 13
  28. “...derpety herpity derpety herpity users derp herp social derp?” Friday,

    25 October 13
  29. “Users herp derp account derpety users#show derp photos (hmm, EC2

    storage; which gem? Add day to estimate)” Friday, 25 October 13
  30. “...herp herpity herp derp ratings derpity comments” Friday, 25 October

    13
  31. Friday, 25 October 13

  32. Friday, 25 October 13

  33. Gardens Soil Plants Buy Text box Browser Button Protocol Friday,

    25 October 13
  34. Ubiquitous Language Friday, 25 October 13

  35. “So, I’m thinking of a gardening website, where you can

    buy stuff...” Friday, 25 October 13
  36. “...but with a way for those who love gardening to

    make it a whole interactive experience, right?” Friday, 25 October 13
  37. “So gardeners can create like an ‘area’ to put pictures

    of their plants...” Friday, 25 October 13
  38. “...and other gardeners can say what they think, and suggest

    garden layout improvements...” Friday, 25 October 13
  39. agile Friday, 25 October 13

  40. Individuals and interactions over processes and tools Working software over

    comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Friday, 25 October 13
  41. fragile Friday, 25 October 13

  42. BDD Friday, 25 October 13

  43. Feature: User orders plant As a user of the website,

    I want to place an order on the website, so that I can order a plant through the website Scenario: User orders plant Given there is a plant with name: “Plant 1”, price: “£1”, size: “large”, foliage: “foliage 1” When I visit the homepage And I click on “Plant 1” And I click “Add” Friday, 25 October 13
  44. And I fill in “City” with “City 1” And I

    fill in “Postcode” with “SW1A 1AA” And I click “Continue” And I click “Continue” And I fill in “Card number” with “1234 1234 1234 1234” And I fill in “Expiry date” with “00/00” And I fill in “Name on Card” with “Name on Card 1” And I fill in “CV2” with “123” And I click “Place Order” Then I should receive an email Friday, 25 October 13
  45. Feature: User orders plant As Gareth the aspiring gardener, I

    want to buy plants I’ve seen shared on other gardeners uploaded layouts, so that I can improve my own garden with ideas from others Friday, 25 October 13
  46. Scenario: Gareth buys plants When “Gareth” buys a recommended plant

    Then the order should be placed Friday, 25 October 13
  47. Friday, 25 October 13

  48. • We’re teaching more about this in December in London

    with our “Kickstart BDD” course • Register using the code “WXG” and get a free copy of the Cucumber Book thrown in :) Friday, 25 October 13
  49. thanks @chrismdp http://kickstartacademy.io Credits: http://delightfulchildrensbooks.files.wordpress.com/ Friday, 25 October 13