Git Product home page Git Product logo

tdd-with-excel-kata's Introduction

tdd-with-excel-kata

Goal of the session / Ice breaking

Allow people not familiar with TDD but somewhat familiar with excel to understand the concept of TDD and some other software crafting practices.

  • What is your level in TDD (0-5) and in Excel (0-5)?

Concept presentation (all together)

  • small explanation of the three steps of TDD (red, green, refactor) tdd basics
  • demo in excel on the straight-forward example of computing the email adress of a new employee in a company. tdd in XL

From now on, the goal is to find, step by step and using TDD, the formula that calculates the bonus of an employee based on the following rules of bonus calculation.

Iteration 1 (small groups)

  • Implement the minimalistic formula that works for the example given in the documentation. Minimalistic means that it should work only for the given example. For instance, there should be no "if" in your formula.

Iteration debrief (all together)

  • A participant copilot the pilot (animator if no volunteers).
  • The animator proposes some refactorings.
  • We choose together the next example we want to test and that does not pass. Hint: we'll choose a simple one.

Iteration 2 (small groups)

  • Refactor your code as proposed in the debrief.
  • Try "pilot / copilot" mob programming way.
  • Adapt the formula for the chosen exemple to pass.
  • If you have the time to implement other cases, don't forget to breathe after the green phase in order to identify refactorings.

Iteration debrief (all together)

  • How did you choose the next case to implement?
  • Did you need to introduce intermediate calculations?
  • A participant copilote the pilote (animator).
  • The animator proposes some refactoring.

Iteration 3 (small groups)

  • Choose the next business rules and implement it. (Think about the usefulness of your spreadsheet. Are the inputs the ones ou think the users really have?)
  • Go as far as possible in 10 min., following strict TDD

Iteration debrief (all together)

  • How did you choose the next rule to implement?
  • What intermediate calculations did you introduce?
  • Are you happy with the naming?
  • What do you think of how the business rules are written?
  • A participant copilote the pilote (animator).
  • The animator proposes some refactoring.

General debrief

  • Have you learned something?

(Some ideas: SPOIL ALERT)

tdd-with-excel-kata's People

Contributors

edouard-gv avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.