Successfully reported this slideshow.
Your SlideShare is downloading. ×

Back to Basics Hands-on

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Back to Basics Hands-on

  1. 1. Back to basics hands-on Italian Agile Day 2011 Antonio Carpentieri Paolo Polce
  2. 2. Basic doesn’t mean simple
  3. 3. Basics are advanced topics
  4. 4. Let’s define good software
  5. 5. High cohesion
  6. 6. Coincidental cohesion (Worst)
  7. 7. Functional cohesion (best)
  8. 8. Low coupling
  9. 9. Content coupling (worst)
  10. 10. Message coupling (lowest before No coupling)
  11. 11. How to get there?
  12. 12. The principles
  13. 13. S.O.L.I.D.
  14. 14. S.O.L.I.D.
  15. 15. S.O.L.I.D.
  16. 16. S.O.L.I.D.
  17. 17. S.O.L.I.D.
  18. 18. S.O.L.I.D.
  19. 19. Patterns should emerge from refactoring
  20. 20. Composition over inheritance
  21. 21. Decorator
  22. 22. Composite
  23. 23. Adapter
  24. 24. Tell don’t ask
  25. 25. No getters rule
  26. 26. User stories
  27. 27. Landing on Go As a player, when I land on go I get $200 as my salary for staying in the game Acceptance criteria: •During a turn a Player lands on Go and their balance increases by $200 •During a turn a Player lands on some "normal" location and their balance does not change
  28. 28. Passing over Go As a player, I receive $200 when I pass over Go Acceptance criteria: •Player starts before Go near the end of the Board, rolls enough to pass Go. The Player's balance increases by $200 •Player starts on Go, takes a turn where the Player does not additionally land on or pass over Go. Their balance remains unchanged. •Player passes go twice during a turn. Their balance increases by $200 each time for a total change of $400
  29. 29. Landing on Go To Jail As a Player, when I land on Go To Jail during a turn I move directly to Just Visiting Acceptance criteria: •Player starts before Go To Jail, lands on Go To Jail, ends up on Just Visiting and their balance is unchanged •Player starts before Go To Jail, rolls enough to pass over Go To Jail but not enough to land on or pass over go. Their balance is unchanged and they end up where the should based on what they rolled
  30. 30. Landing on Income Tax As a Player, landing on Income Tax forces me to pay the smaller of 10% of my total worth or $200 Acceptance criteria: •During a turn, a Player with an initial total worth of $1800 lands on Income Tax. The balance decreases by $180 •During a turn, a Player with an initial total worth of $2200 lands on Income Tax. The balance decreases by $200 •During a turn, a Player with an initial total worth of $0 lands on Income Tax. The balance decreases by $0
  31. 31. Landing on Income Tax Acceptance criteria (continued): •During a turn, a Player with an initial total worth of $2000 lands on Income Tax. The balance decreases by $200 •During a turn, a Player passes over Income Tax. Nothing happens
  32. 32. Landing on Luxury Tax As a Player, when I land on Luxury Tax, I pay $75. Acceptance criteria: •Player takes a turn and lands on Luxury tax. Their balance decreases by $75 •Player passes Luxury Tax during a turn. Their balance is unchanged
  33. 33. Player Buys Property As a player, I can buy an unowned property when I land on it during a turn Acceptance criteria: • Land on a Property that is not owned. After turn, property is owned and balance decreases by cost of property • Land on a Property that I own, nothing happens • Pass over an unowned Property, nothing happens
  34. 34. Player Pays Rent As a player, I pay rent when I land on a Property that is owned by someone else Acceptance criteria: • Land on a Property owned by other player, player pays rent to owner. Player's balance decreases by rent amount. Owners balance increases by rent amount. • If landing on Real Estate and not all in the same Property Group are owned, rent is stated rent value • If landing on Real Estate and Owner owns all in the same Property Group, rent is 2 times stated rent value
  35. 35. Player Pays Rent (Railroad) As a player, I pay special rent when I land on a Railroad that is owned by someone else Acceptance criteria: • If landing on Railroad, rent is 25, 50, 100, 200 depending on how many are owned by owner (1 - 4)
  36. 36. Player Pays Rent (Utility) As a player, I pay special rent when I land on a Utility that is owned by someone else Acceptance criteria: • If landing on Utility and only one Utility owned, rent is 4 times current value on Dice • If landing on Utility and both owned (not necessarily by same Player), rent is 10 times current value on Dice
  37. 37. Grazie per l’attenzione a.carpe@gmail.com paolo@webshell.it @acarpe @paolopolce feedback on: http://joind.in/4520 source: http://github.com/acarpe/back-to-basics-hands-on credits: Monopoly kata by schuchert ( http://goo.gl/OuovG )

Editor's Notes

  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • It can be achieved by state decentralization (as in objects) and component communication is done via parameters or message passing\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

×