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

Intro to BDD – CukeUp! AU 2016

Intro to BDD – CukeUp! AU 2016

Steve Tooke

November 17, 2016
Tweet

More Decks by Steve Tooke

Other Decks in Programming

Transcript

  1. project noun |ˈprɒdʒɛkt| 1 an individual or collaborative enterprise that

    is carefully planned to achieve a particular aim: a research project | a project to build a new power station. • a piece of research work undertaken by a school or college student: a history project. • a proposed or planned undertaking: the novel undermines its own stated project of telling a story. 2 (also housing project) North American a government-subsidized housing development with relatively low rents: her family still lives in the projects. Apple macOs Dictionary
  2. project noun |ˈprɒdʒɛkt| 1 an individual or collaborative enterprise that

    is carefully planned to achieve a particular aim: a research project | a project to build a new power station. • a piece of research work undertaken by a school or college student: a history project. • a proposed or planned undertaking: the novel undermines its own stated project of telling a story. 2 (also housing project) North American a government-subsidized housing development with relatively low rents: her family still lives in the projects. Apple macOs Dictionary
  3. project noun |ˈprɒdʒɛkt| 1 an individual or collaborative enterprise that

    is carefully planned to achieve a particular aim: a research project | a project to build a new power station. • a piece of research work undertaken by a school or college student: a history project. • a proposed or planned undertaking: the novel undermines its own stated project of telling a story. 2 (also housing project) North American a government-subsidized housing development with relatively low rents: her family still lives in the projects. Apple macOs Dictionary
  4. “A software project is a place where different cultures come

    together. Some people face towards the business and its concerns; other people face toward the computer and its demands” Brian Marick
  5. How Projects Really Work (version 1.5) Create your own cartoon

    at www.projectcartoon.com How the customer explained it How the project leader understood it How the analyst designed it How the programmer wrote it What the beta testers received How the business consultant described it How the project was documented What operations installed How the customer was billed How it was supported What marketing advertised What the customer really needed www.projectcartoon.com
  6. Successful Projects Shared understanding Know when you are done Know

    what to do next The codebase supports the inevitable changes as the project evolves
  7. Successful Projects Shared understanding Know when you are done Know

    what to do next The codebase supports the inevitable changes as the project evolves Know quickly when new changes break existing behaviour
  8. “BDD practitioners explore, discover, define and then drive-out the desired

    behaviour of software using conversations, concrete examples and automated tests” Matt Wynne
  9. conversations can you give me an example? what would happen

    if…? is there something else that needs to happen…? is that always true? have you thought about?
  10. Improve the internal structure of the code without changing its

    externally observable behaviour Refactor
  11. Improve the internal structure of the code without changing its

    externally observable behaviour Refactor The codebase supports the inevitable changes as the project evolves