Personally trying Elephant Carpaccio Exercise.
The Elephant Carpaccio exercise is a great way for software people to practice & learn how to break stories into really thin vertical slices. It also leads to interesting discussions about quality and tech practices.
In this excercise you build program which calculates total price of given item counts, price per item and state code (for calculation taxes).
The point here is to slice as many as you can in form of user stories.
Which means each slices should be
- Implementable (including user interface) in 2-6 minutes.
- Noticeable different from last slice
- More valuable to customer than last slice (exception: for first couple of slices, focusing on reduced risk is OK).
- Print "Hello World!" - Reducing Technical Risk
- Get argument and print it (just like echo) - Reducing Technical Risk
- Get two int arguments and print it - Reducing Technical Risk
- Multiply those two ints and calculate them (adding test for the first time) - User can calculate total price
- Calculate only for UT state. (output should be double in this story) - UT Tax calculatiion supported
- Output only 2 places of decimal with ceil for valid cent calculation. - Not thinking of valid cent calculation
- Enable to get prices of items with double. - User can set price per items with double (like 0.99$)
- Get state letter for argument but only UT is available.(if state is not supported show "error") - User can set state as argument (but UT only supported)
- Get state letter for argument but only UT, NV is available. - NV supported
- Get state letter for argument but only UT, NV, TX is available. - TX supported
- Get state letter for argument but only UT, NV, TX, AL is available. - AL supported
- Get state letter for argument but only UT, NV, TX, AL, CA is available. - CA supported
- Discount for 1000$ - Discount Feature enable for 1000$
- Discount for 5000$ - Discount Feature enable for 5000$ also
- Discount for 7000$ - Discount Feature enable for 7000$ also
- Discount for 10000$ - Discount Feature enable for 10000$ also
- Discount for 50000$ - Discount Feature enable for 50000$ also
- validate args for types and ranges.