Skip to content

Latest commit

 

History

History

elephant-carpaccio

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Elephant Carpaccio Kata

Elephant carpaccio

Original content is taken from Alistair Cockburn's PDF.

Learning outcomes

  • How to slice large applications into 1-day to 1-week requests, business perspective
  • How to slice application requests into 15-30 minute work slices, programming perspective

Instructions

  1. Break into teams of 2-3 people, one workstation per team.
  2. 10 minutes: Preparation
    • Each team writes down on paper the 10-20 demo-able user stories ("slices") they will develop and possibly demo.
    • Each story should be doable in 3-8 minutes.
    • No slice is just a mockup of a UI, the creation of a data table or data structure.
    • All demos show real input & output (not test harness).
  3. 15 minutes: Discussion
    • Instructor/facilitator leads discussion of the slices, what is and isn't acceptable, and solicits ways to slice finer.
  4. 40 minutes: Development
    • A fixed time-box of 40 minutes, five 8-minute development sprints, the clock does not stop. At the end of each sprint, each team shows its product to another team.
  5. Debrief

Assignment

Accept 4 inputs from the user:

  • number of items,
  • a price,
  • a 2-letter state code,
  • a date (only for spreadsheets)

Stage 1

Create a 1-line calculator that computes the price of the order, giving a discount based on the order value (not number of items), adding state tax based on the state and the discounted order value.

State taxes

State State Tax rate
UT 6.85 %
NV 8.00 %
TX 6.25 %
AL 4.00 %
CA 8.25 %

Discount rates

Order value Discount rate
$ 1,000 3 %
$ 5,000 5 %
$ 7,000 7 %
$10,000 10 %
$50,000 15 %

Stage 2 for spreadsheets only:

Create a set of orders from different months and different states.

Produce a report as a histogram of sales results by state, then a second sales report histogram of sales results by month.

Create a PowerPoint presentation that shows your sponsors what you have created, with the formula you used, sample inputs and outputs, the sales history and the graphs.

Splitting user stories & setting priorities

Background information

Please first make sure you are familiar with the how and why of splitting user stories which is part of the Wiki page on telling and slicing user stories.

Once we have managed to split our user stories into sufficiently small pieces, we can start to think about the order, i.e. setting the priorities.

Priorities

The ultimate target

The ultimate target is to be able to calculate the taxes and discounts for all five states.

Prio 1

The taxes first

The product owner wants 5 states before doing anything with discounts. Why? (so we can deploy! State tax is a legal requirement, discount is not)

Prio 2

Validation & fancy GUI comes after 5 states & 5 discounts

A (fancy) GUI is of the least importance! As long as the prices and taxes of the products can be determined, the products can be sold. The longer we wait for the fancy GUI, the more we miss out on our revenues!

Prio 3

Coarse-grained slicing strategy

Concluding, a good slicing strategy will roughly look as follows:

Prio 4

References