• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Back to Basics Hands-on
 

Back to Basics Hands-on

on

  • 730 views

Slides to run the back to basics workshop using the monopoly kata

Slides to run the back to basics workshop using the monopoly kata

Statistics

Views

Total Views
730
Views on SlideShare
721
Embed Views
9

Actions

Likes
1
Downloads
24
Comments
0

3 Embeds 9

http://lanyrd.com 7
http://a0.twimg.com 1
http://www.php-talks.com 1

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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

Back to Basics Hands-on Back to Basics Hands-on Presentation Transcript

  • Back to basics hands-on Italian Agile Day 2011Antonio Carpentieri Paolo Polce
  • Basic doesn’t mean simple
  • Basics areadvanced topics
  • Let’s define good software
  • High cohesion
  • Coincidental cohesion (Worst)
  • Functional cohesion (best)
  • Low coupling
  • Content coupling (worst)
  • Message coupling (lowest before No coupling)
  • How to get there?
  • The principles
  • S.O.L.I.D.
  • S.O.L.I.D.
  • S.O.L.I.D.
  • S.O.L.I.D.
  • S.O.L.I.D.
  • S.O.L.I.D.
  • Patterns should emerge from refactoring
  • Composition overinheritance
  • Decorator
  • Composite
  • Adapter
  • Tell don’t ask
  • No getters rule
  • User stories
  • Landing on GoAs a player, when I land on go I get$200 as my salary for staying in thegameAcceptance criteria:•During a turn a Player lands on Go and their balanceincreases by $200•During a turn a Player lands on some "normal" location andtheir balance does not change
  • Passing over GoAs a player, I receive $200 when Ipass over GoAcceptance criteria:•Player starts before Go near the end of the Board, rollsenough to pass Go. The Players balance increases by $200•Player starts on Go, takes a turn where the Player does notadditionally land on or pass over Go. Their balance remainsunchanged.•Player passes go twice during a turn. Their balance increases by$200 each time for a total change of $400
  • Landing on Go To JailAs a Player, when I land on Go ToJail during a turn I move directly toJust VisitingAcceptance criteria:•Player starts before Go To Jail, lands on Go To Jail, ends upon Just Visiting and their balance is unchanged•Player starts before Go To Jail, rolls enough to pass over GoTo Jail but not enough to land on or pass over go. Their balanceis unchanged and they end up where the should based on whatthey rolled
  • Landing on Income TaxAs a Player, landing on Income Taxforces me to pay the smaller of 10%of my total worth or $200Acceptance criteria:•During a turn, a Player with an initial total worth of $1800lands on Income Tax. The balance decreases by $180•During a turn, a Player with an initial total worth of $2200lands on Income Tax. The balance decreases by $200•During a turn, a Player with an initial total worth of $0 landson Income Tax. The balance decreases by $0
  • Landing on Income TaxAcceptance criteria (continued):•During a turn, a Player with an initial total worth of $2000lands on Income Tax. The balance decreases by $200•During a turn, a Player passes over Income Tax. Nothinghappens
  • Landing on Luxury TaxAs a Player, when I land on LuxuryTax, I pay $75.Acceptance criteria:•Player takes a turn and lands on Luxury tax. Their balancedecreases by $75•Player passes Luxury Tax during a turn. Their balance isunchanged
  • Player Buys PropertyAs a player, I can buy an unownedproperty when I land on it during aturnAcceptance criteria:• Land on a Property that is not owned. After turn, property isowned and balance decreases by cost of property• Land on a Property that I own, nothing happens• Pass over an unowned Property, nothing happens
  • Player Pays RentAs a player, I pay rent when I landon a Property that is owned bysomeone elseAcceptance criteria:• Land on a Property owned by other player, player pays rent toowner. Players balance decreases by rent amount. Owners balanceincreases by rent amount.• If landing on Real Estate and not all in the same PropertyGroup are owned, rent is stated rent value• If landing on Real Estate and Owner owns all in the sameProperty Group, rent is 2 times stated rent value
  • Player Pays Rent (Railroad)As a player, I pay special rent when Iland on a Railroad that is owned bysomeone elseAcceptance criteria:• If landing on Railroad, rent is 25, 50, 100, 200 depending onhow many are owned by owner (1 - 4)
  • Player Pays Rent (Utility)As a player, I pay special rent when Iland on a Utility that is owned bysomeone elseAcceptance criteria:• If landing on Utility and only one Utility owned, rent is 4times current value on Dice• If landing on Utility and both owned (not necessarily by samePlayer), rent is 10 times current value on Dice
  • Grazie per l’attenzionea.carpe@gmail.com paolo@webshell.it @acarpe @paolopolcefeedback on: http://joind.in/4520 source: http://github.com/acarpe/back-to-basics-hands-on credits: Monopoly kata by schuchert ( http://goo.gl/OuovG )