Giter Club home page Giter Club logo

elephantcarpacio's Introduction

Elephant Carpacio

from Alistar Cockburn workshop (https://docs.google.com/document/d/1TCuuu-8Mm14oxsOnlk8DqfZAA1cvtYu9WGv67Yj_sSk/pub)

Overview

Releasing software is actually releasing decisions. Every delivered decision is actually a choice that can be wrong. So what we release in production can contains a set of wrong decisions. Furthermore a decision can depend on other decisions, so a failure on one early decision impact the subsequent ones. This mean that rework an early decision is more difficult if not impossible to do. Thereby a failure in one early decision can consequently challenge the entire delivery.

How to fix? reducing the amount of decision per release, and organize the release like a business test on the delivered decision. If some assumption was wrong you can still rework and adjust, before going on.

Postulates

Taking a lot of decisions without any feedback increase the risk of failure.

Reducing the amount of decisions in a delivery reduce the risk, and enable an early feedback

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.

Assignment

Accept inputs from the user:

  • Quantity: a number of items,
  • Price: a price for the item,
  • State: a 2-letter state code

Compute the price of the order, giving a discount based on order value (not number of items), adding state tax based on the state and discounted order value.

Order value Discount rate State Tax rate
$ 1,000 3% UT 6.85%
$ 5,000 5 % NV 8.00%
$ 7,000 7% TX 6.25%
$ 10,000 10% AL 4.00%
$ 50,000 15% CA 10.00%

Slices

# Inputs Output Value
1. no input Output: Hello world setup the project
2. Quantity and Price Output: echo inputs having a walking skeleton
3. Quantity and Price Output: order value with no discount and fixed UT tax Possibility to enable a test in UT
4. Quantity, Price and State Output: order value with no discount and tax based on UT tax + echo State verify that the enter State is correct
5. Quantity, Price and State Output: order value with no discount and Tax based on UT tax Automatic calculation of UT tax from the mapping of State with tax_rate
6. Quantity, Price and State Output: order value with no discount and Tax based on UT and NV State Go live on NV
7. Quantity, Price and State Output: order value with no discount and Tax based on UT, NV, TX Go live on TX
8. Quantity, Price and State Output: order value with no discount and Tax based on UT, NV, TX, AL Go live on AL
9. Quantity, Price and State Output: order value with no discount and tax based on UT, NV, TX, AL, CA Go live on CA
10. Quantity, Price and State Output: order value with discount on $1,000 and tax based on UT, NV, TX, AL, CA Possibility to put a discount over $1,000
11. Quantity, Price and State Output: order value with discount on $5,000 and tax on all State Possibility to put discount over $5,000
12. Quantity, Price and State Output: order value with discount on $7,000 and tax on all State Possibility to put discount over $7,000
13. Quantity, Price and State Output: order value with discount on $10,000 and tax on all State Possibility to put discount over $10,000
14. Quantity, Price and State Output: order value with discount on $10,000 and tax on all State Possibility to put discount over $50,000
15. Quantity, Price and State from fancy cli Output: order value with discount on $10,000 and tax on all State User insert input through interface

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.