SlideShare a Scribd company logo
1 of 20
Download to read offline
Improving Agile Development
        Through Tetris®
         Mark Daggett




                          Copyright © 2011 Mark Daggett. Some Rights Reserved

Saturday, March 5, 2011
Can learning Tetris improve the
          quality of your software
           development process?




                                         2

Saturday, March 5, 2011
You know Tetris




                  Photo Credit: fraskedesigns.blogspot.com   3

Saturday, March 5, 2011
Tetris is Crack for the OCD




                                          4

Saturday, March 5, 2011
Tetris Is Serious; Seriously
          Developed by Alexey Pajitnov to test
          artificial intelligence algorithms
          Can be used to measure conceptual skills
          of task analysis and resource management
          in players
          Can also measure a player’s visceral
          decision making process under pressure


                                                     5

Saturday, March 5, 2011
Agile Development Reasoning
          Greater awareness of development costs
          [resource management]
          Tighter integration between developers
          and stakeholders [task analysis]
          Ability to quickly change course on
          projects [response to pressure]




                                                   6

Saturday, March 5, 2011
1. Don’t Get Too Clever

                          Tetris rewards players for clearing
                          more than one row at a time.
                          This creates a chain of serial
                          dependencies that need to happen
                          in the right order to succeed.
                          Serial dependencies cost your
                          project time and resources as you
                          wait for the right piece to arrive.




                                                                9
                                                                7

Saturday, March 5, 2011
1. Don’t Get Too Clever

                          Serial dependencies can easily turn
                          into a FAIL as other resources, such
                          as time, run out.




                                                            10
                                                             8

Saturday, March 5, 2011
1. Don’t Get Too Clever

                          Your chances of success are greatly
                          increased when you work towards
                          solutions that can be completed in
                          many different ways.




                                                           11
                                                            9

Saturday, March 5, 2011
2. Stay Low
                          As your stack of uncleared rows
                          increases, your time to make
                          decisions decreases. This means you
                          are more likely to make a poor
                          decision in the future.
                          The more time you give yourself the
                          more likely your future steps will be
                          well-reasoned
                          In Tetris and in development cycles
                          if you are forced to just react to
                          impending deadlines you drastically
                          reduce your ability to succeed.


                                                            10

Saturday, March 5, 2011
3. Maximize the Work You Are Not
     Doing
      Tetris pieces can be rotated clockwise and counterclockwise.
      Efficiency is knowing the fastest direction to rotate the piece
      to fit your stack.
                   Rotating Left   Desired Orientation    Rotating Right




                                   3x as long to rotate

                                                                           13
                                                                           11

Saturday, March 5, 2011
3. Maximize the Work You Are Not
     Doing

          Many agile teams take pride in the amount of automation
          they bring to their development process, through testing,
          deploying or documenting.
          Any process that can be done a faster way (without
          sacrificing quality) should be.
          Developers need to know the strengths and weaknesses
          of their technology stack.




                                                                14
                                                                12

Saturday, March 5, 2011
4. Know Your Goal

          In Tetris it is easy to focus on your score, as a
          measurement for progress but that’s a red herring.
          Tetris by design is a game that doesn’t end so you can’t
          “win”.
          You don’t win your application by deploying it - you just
          clear your stack




                                                                     15
                                                                     13

Saturday, March 5, 2011
5. Fix Mistakes NOW!
                          A common problem in Tetris among
                          players is to try to bury their
                          mistakes
                          Ignoring mistakes means players
                          have less space remaining to work
                          with, and therefore a higher
                          likelihood of making similar mistakes
                          in the future.
                          Agile development focuses on
                          refactoring code, getting rid of
                          duplication, baroqueness and silos
                          of code.
                          A.B.R. (Always Be Refactoring)
                                                           16
                                                           14

Saturday, March 5, 2011
6. Fail Early And Often
                          Tetris is to agile
                          development as
                          “PITFALL!” is to the
                          Waterfall method.




                          Ironic Name I Know
                                           17
                                           15

Saturday, March 5, 2011
6. Fail Early And Often




         START OVER HERE




                           DIE HERE
Level map of PITFALL!                 16

Saturday, March 5, 2011
6. Fail Early And Often
     “Pitfall!” requires you to start back at the beginning of the
     level each time you die. This is like the waterfall method,
     which reboots the development cycle for every
     requirement change.

     Tetris lets you fail quickly and let you restart where you left
     off. You can improve your technique and understanding of
     the game at any point of the play cycle.

     Agile development focuses on test driven development,
     and writing tests to fail first. This ensures that you work
     directly on the feature in question and not any of the
     ancillary systems.

                                                                   19
                                                                   17

Saturday, March 5, 2011
7. Embrace Change

          In Tetris the player only knows which piece is coming
          next.
          Agile development says the developer should embrace
          change, be it shifting requirements, or deadlines.
          Just as the player is constantly scanning the game board
          the agile developer should be reevaluating previous
          design decisions looking for ways to refactor code and
          reduce complexity.




                                                                  20
                                                                  18

Saturday, March 5, 2011
8. There’s an “I” in Tetris but not Team

          Tetris is a single player unless you are competing against
          another player.
          This is unlike programming, which at some fundamental
          level is a process of building off the work of others.
          The Tetris metaphor works only so far. The biggest factor
          in success or failure in an agile environment is how the
          team works together.




                                                                   21
                                                                   19

Saturday, March 5, 2011
THANKS!
      Mark Daggett
      Application Architect
      Humansized Inc.

      @heavysixer
      mark@humansized.com
      http://www.humansized.com




  Tetris ® is a registered trademark of The Tetris Company
  PITFALL! ® is a registered trademark of Activision
                                                             22
                                                             20

Saturday, March 5, 2011

More Related Content

What's hot

Data Visualization Design Best Practices Workshop
Data Visualization Design Best Practices WorkshopData Visualization Design Best Practices Workshop
Data Visualization Design Best Practices WorkshopJSI
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014NDOORS
 
Fraud detection ML
Fraud detection MLFraud detection ML
Fraud detection MLMaatougSelim
 
Memory forensics
Memory forensicsMemory forensics
Memory forensicsSunil Kumar
 
Stealth Technology
Stealth TechnologyStealth Technology
Stealth TechnologyROHITH
 
Introduction of Data Science and Data Analytics
Introduction of Data Science and Data AnalyticsIntroduction of Data Science and Data Analytics
Introduction of Data Science and Data AnalyticsVrushaliSolanke
 
Saksham seminar report
Saksham seminar reportSaksham seminar report
Saksham seminar reportSakshamTurki
 
Is Machine learning useful for Fraud Prevention?
Is Machine learning useful for Fraud Prevention?Is Machine learning useful for Fraud Prevention?
Is Machine learning useful for Fraud Prevention?Andrea Dal Pozzolo
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑MinGeun Park
 
Summary data visualization
Summary data visualizationSummary data visualization
Summary data visualizationNovita Sari
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기Madumpa Park
 
Deferred decal
Deferred decalDeferred decal
Deferred decal민웅 이
 
Data science presentation
Data science presentationData science presentation
Data science presentationMSDEVMTL
 
Detecting fraud with Python and machine learning
Detecting fraud with Python and machine learningDetecting fraud with Python and machine learning
Detecting fraud with Python and machine learningwgyn
 
Presentation darknet
Presentation darknetPresentation darknet
Presentation darknetDvir Barel
 
Motion capture technology
Motion capture technologyMotion capture technology
Motion capture technologyharini501
 
Deepfakes - How they work and what it means for the future
Deepfakes - How they work and what it means for the futureDeepfakes - How they work and what it means for the future
Deepfakes - How they work and what it means for the futureJarrod Overson
 

What's hot (20)

Data Visualization Design Best Practices Workshop
Data Visualization Design Best Practices WorkshopData Visualization Design Best Practices Workshop
Data Visualization Design Best Practices Workshop
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
 
Fraud detection ML
Fraud detection MLFraud detection ML
Fraud detection ML
 
Memory forensics
Memory forensicsMemory forensics
Memory forensics
 
Stealth technology
Stealth technologyStealth technology
Stealth technology
 
Stealth Technology
Stealth TechnologyStealth Technology
Stealth Technology
 
Big data ppt
Big data pptBig data ppt
Big data ppt
 
Introduction of Data Science and Data Analytics
Introduction of Data Science and Data AnalyticsIntroduction of Data Science and Data Analytics
Introduction of Data Science and Data Analytics
 
Saksham seminar report
Saksham seminar reportSaksham seminar report
Saksham seminar report
 
Is Machine learning useful for Fraud Prevention?
Is Machine learning useful for Fraud Prevention?Is Machine learning useful for Fraud Prevention?
Is Machine learning useful for Fraud Prevention?
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
 
Summary data visualization
Summary data visualizationSummary data visualization
Summary data visualization
 
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
 
Deferred decal
Deferred decalDeferred decal
Deferred decal
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
Data lake ppt
Data lake pptData lake ppt
Data lake ppt
 
Detecting fraud with Python and machine learning
Detecting fraud with Python and machine learningDetecting fraud with Python and machine learning
Detecting fraud with Python and machine learning
 
Presentation darknet
Presentation darknetPresentation darknet
Presentation darknet
 
Motion capture technology
Motion capture technologyMotion capture technology
Motion capture technology
 
Deepfakes - How they work and what it means for the future
Deepfakes - How they work and what it means for the futureDeepfakes - How they work and what it means for the future
Deepfakes - How they work and what it means for the future
 

Viewers also liked

UX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile developmentUX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile developmentJanne_Bjorsted
 
9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposalNaveen Indusekhar
 
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...UXPA Boston
 
Making Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens AdviceMaking Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens AdviceNexer Digital
 
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentFlowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentCourtney Hemphill
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumLemi Orhan Ergin
 
Agile for-dummies
Agile for-dummiesAgile for-dummies
Agile for-dummiesRajiv Kane
 
12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development Julien Henzelin
 
Cross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX designCross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX designDug Falby
 

Viewers also liked (10)

UX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile developmentUX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile development
 
9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal
 
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
 
UX in an agile environment, 6 December 2016, Copenhagen
UX in an agile environment, 6 December 2016, CopenhagenUX in an agile environment, 6 December 2016, Copenhagen
UX in an agile environment, 6 December 2016, Copenhagen
 
Making Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens AdviceMaking Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens Advice
 
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentFlowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile Development
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
 
Agile for-dummies
Agile for-dummiesAgile for-dummies
Agile for-dummies
 
12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development
 
Cross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX designCross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX design
 

Similar to Learn Agile Development Through Tetris

Put Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwarePut Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwareTheo Schlossnagle
 
Social improvements in monitoring
Social improvements in monitoringSocial improvements in monitoring
Social improvements in monitoringTheo Schlossnagle
 
Negative Sentiment (or "Sentiment Analysis is Sh*te")
Negative Sentiment (or "Sentiment Analysis is Sh*te")Negative Sentiment (or "Sentiment Analysis is Sh*te")
Negative Sentiment (or "Sentiment Analysis is Sh*te")Mat Morrison
 
Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011
Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011
Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011Bachkoutou Toutou
 
Engineering Software Engineering Teams - SSE 2011
Engineering Software Engineering Teams - SSE 2011Engineering Software Engineering Teams - SSE 2011
Engineering Software Engineering Teams - SSE 2011Patrick Wagstrom
 
LISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps TransformationLISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps Transformationbenrockwood
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestXP Conference India
 
The perfectionists bathroom
The perfectionists bathroomThe perfectionists bathroom
The perfectionists bathroomglynthomas
 
Monitoring is easy, why are we so bad at it presentation
Monitoring is easy, why are we so bad at it  presentationMonitoring is easy, why are we so bad at it  presentation
Monitoring is easy, why are we so bad at it presentationTheo Schlossnagle
 
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItPHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItMatt Toigo
 

Similar to Learn Agile Development Through Tetris (13)

Put Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwarePut Some SRE in Your Shipped Software
Put Some SRE in Your Shipped Software
 
Social improvements in monitoring
Social improvements in monitoringSocial improvements in monitoring
Social improvements in monitoring
 
Negative Sentiment (or "Sentiment Analysis is Sh*te")
Negative Sentiment (or "Sentiment Analysis is Sh*te")Negative Sentiment (or "Sentiment Analysis is Sh*te")
Negative Sentiment (or "Sentiment Analysis is Sh*te")
 
Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011
Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011
Kill bottlenecks with gearman, sphinx, and memcached, Confoo 2011
 
When Tdd Goes Awry
When Tdd Goes AwryWhen Tdd Goes Awry
When Tdd Goes Awry
 
Engineering Software Engineering Teams - SSE 2011
Engineering Software Engineering Teams - SSE 2011Engineering Software Engineering Teams - SSE 2011
Engineering Software Engineering Teams - SSE 2011
 
LISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps TransformationLISA 2011 Keynote: The DevOps Transformation
LISA 2011 Keynote: The DevOps Transformation
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
 
The perfectionists bathroom
The perfectionists bathroomThe perfectionists bathroom
The perfectionists bathroom
 
Monitoring is easy, why are we so bad at it presentation
Monitoring is easy, why are we so bad at it  presentationMonitoring is easy, why are we so bad at it  presentation
Monitoring is easy, why are we so bad at it presentation
 
P&P Notes 2nd Day
P&P Notes 2nd DayP&P Notes 2nd Day
P&P Notes 2nd Day
 
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItPHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
 
Extending rails
Extending railsExtending rails
Extending rails
 

Recently uploaded

Call Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal Escorts
Call Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal EscortsCall Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal Escorts
Call Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal EscortsApsara Of India
 
Vip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts Service
Vip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts ServiceVip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts Service
Vip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts ServiceApsara Of India
 
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur EscortsVIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Hot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtS
Hot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtSHot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtS
Hot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtSApsara Of India
 
Private Call Girls Bally - 8250192130 | 24x7 Service Available Near Me
Private Call Girls Bally - 8250192130 | 24x7 Service Available Near MePrivate Call Girls Bally - 8250192130 | 24x7 Service Available Near Me
Private Call Girls Bally - 8250192130 | 24x7 Service Available Near MeRiya Pathan
 
Fun Call Girls In Goa 7028418221 Call Girl Service In Panaji Escorts
Fun Call Girls In Goa 7028418221 Call Girl Service In Panaji EscortsFun Call Girls In Goa 7028418221 Call Girl Service In Panaji Escorts
Fun Call Girls In Goa 7028418221 Call Girl Service In Panaji EscortsApsara Of India
 
Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...anamikaraghav4
 
Udaipur Call Girls 9602870969 Call Girl in Udaipur Rajasthan
Udaipur Call Girls 9602870969 Call Girl in Udaipur RajasthanUdaipur Call Girls 9602870969 Call Girl in Udaipur Rajasthan
Udaipur Call Girls 9602870969 Call Girl in Udaipur RajasthanApsara Of India
 
Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7Riya Pathan
 
Fun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call Girl
Fun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call GirlFun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call Girl
Fun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call GirlApsara Of India
 
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...Riya Pathan
 
Hi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort Services
Hi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort ServicesHi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort Services
Hi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort ServicesApsara Of India
 
VIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service Gulbarga
VIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service GulbargaVIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service Gulbarga
VIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service GulbargaRiya Pathan
 
ViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcE
ViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcEViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcE
ViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcEApsara Of India
 
Models Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment Booking
Models Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment BookingModels Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment Booking
Models Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment Bookinganamikaraghav4
 
Kolkata Call Girls Service +918240919228 - Kolkatanightgirls.com
Kolkata Call Girls Service +918240919228 - Kolkatanightgirls.comKolkata Call Girls Service +918240919228 - Kolkatanightgirls.com
Kolkata Call Girls Service +918240919228 - Kolkatanightgirls.comKolkata Call Girls
 
Call Girls Somajiguda Sarani 7001305949 all area service COD available Any Time
Call Girls Somajiguda Sarani 7001305949 all area service COD available Any TimeCall Girls Somajiguda Sarani 7001305949 all area service COD available Any Time
Call Girls Somajiguda Sarani 7001305949 all area service COD available Any Timedelhimodelshub1
 
VIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts Service
VIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts ServiceVIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts Service
VIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts ServiceApsara Of India
 
Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7Riya Pathan
 

Recently uploaded (20)

Call Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal Escorts
Call Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal EscortsCall Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal Escorts
Call Girls In Karnal O8860008073 Sector 6 7 8 9 Karnal Escorts
 
Vip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts Service
Vip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts ServiceVip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts Service
Vip Udaipur Call Girls 9602870969 Dabok Airport Udaipur Escorts Service
 
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur EscortsVIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
VIP Call Girls Nagpur Megha Call 7001035870 Meet With Nagpur Escorts
 
Hot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtS
Hot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtSHot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtS
Hot Call Girls In Goa 7028418221 Call Girls In Vagator Beach EsCoRtS
 
Private Call Girls Bally - 8250192130 | 24x7 Service Available Near Me
Private Call Girls Bally - 8250192130 | 24x7 Service Available Near MePrivate Call Girls Bally - 8250192130 | 24x7 Service Available Near Me
Private Call Girls Bally - 8250192130 | 24x7 Service Available Near Me
 
Fun Call Girls In Goa 7028418221 Call Girl Service In Panaji Escorts
Fun Call Girls In Goa 7028418221 Call Girl Service In Panaji EscortsFun Call Girls In Goa 7028418221 Call Girl Service In Panaji Escorts
Fun Call Girls In Goa 7028418221 Call Girl Service In Panaji Escorts
 
Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Najafgarh Delhi 💯Call Us 🔝8264348440🔝
 
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
 
Udaipur Call Girls 9602870969 Call Girl in Udaipur Rajasthan
Udaipur Call Girls 9602870969 Call Girl in Udaipur RajasthanUdaipur Call Girls 9602870969 Call Girl in Udaipur Rajasthan
Udaipur Call Girls 9602870969 Call Girl in Udaipur Rajasthan
 
Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Howrah 👉 8250192130 ❣️💯 Available With Room 24×7
 
Fun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call Girl
Fun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call GirlFun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call Girl
Fun Call Girls In Goa 7028418221 Escort Service In Morjim Beach Call Girl
 
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
 
Hi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort Services
Hi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort ServicesHi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort Services
Hi Class Call Girls In Goa 7028418221 Call Girls In Anjuna Beach Escort Services
 
VIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service Gulbarga
VIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service GulbargaVIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service Gulbarga
VIP Call Girls in Gulbarga Aarohi 8250192130 Independent Escort Service Gulbarga
 
ViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcE
ViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcEViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcE
ViP Call Girls In Udaipur 9602870969 Gulab Bagh Escorts SeRvIcE
 
Models Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment Booking
Models Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment BookingModels Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment Booking
Models Call Girls Hridaypur | 8250192130 At Low Cost Cash Payment Booking
 
Kolkata Call Girls Service +918240919228 - Kolkatanightgirls.com
Kolkata Call Girls Service +918240919228 - Kolkatanightgirls.comKolkata Call Girls Service +918240919228 - Kolkatanightgirls.com
Kolkata Call Girls Service +918240919228 - Kolkatanightgirls.com
 
Call Girls Somajiguda Sarani 7001305949 all area service COD available Any Time
Call Girls Somajiguda Sarani 7001305949 all area service COD available Any TimeCall Girls Somajiguda Sarani 7001305949 all area service COD available Any Time
Call Girls Somajiguda Sarani 7001305949 all area service COD available Any Time
 
VIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts Service
VIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts ServiceVIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts Service
VIP Call Girls In Goa 7028418221 Call Girls In Baga Beach Escorts Service
 
Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7
Kolkata Call Girl Airport Kolkata 👉 8250192130 ❣️💯 Available With Room 24×7
 

Learn Agile Development Through Tetris

  • 1. Improving Agile Development Through Tetris® Mark Daggett Copyright © 2011 Mark Daggett. Some Rights Reserved Saturday, March 5, 2011
  • 2. Can learning Tetris improve the quality of your software development process? 2 Saturday, March 5, 2011
  • 3. You know Tetris Photo Credit: fraskedesigns.blogspot.com 3 Saturday, March 5, 2011
  • 4. Tetris is Crack for the OCD 4 Saturday, March 5, 2011
  • 5. Tetris Is Serious; Seriously Developed by Alexey Pajitnov to test artificial intelligence algorithms Can be used to measure conceptual skills of task analysis and resource management in players Can also measure a player’s visceral decision making process under pressure 5 Saturday, March 5, 2011
  • 6. Agile Development Reasoning Greater awareness of development costs [resource management] Tighter integration between developers and stakeholders [task analysis] Ability to quickly change course on projects [response to pressure] 6 Saturday, March 5, 2011
  • 7. 1. Don’t Get Too Clever Tetris rewards players for clearing more than one row at a time. This creates a chain of serial dependencies that need to happen in the right order to succeed. Serial dependencies cost your project time and resources as you wait for the right piece to arrive. 9 7 Saturday, March 5, 2011
  • 8. 1. Don’t Get Too Clever Serial dependencies can easily turn into a FAIL as other resources, such as time, run out. 10 8 Saturday, March 5, 2011
  • 9. 1. Don’t Get Too Clever Your chances of success are greatly increased when you work towards solutions that can be completed in many different ways. 11 9 Saturday, March 5, 2011
  • 10. 2. Stay Low As your stack of uncleared rows increases, your time to make decisions decreases. This means you are more likely to make a poor decision in the future. The more time you give yourself the more likely your future steps will be well-reasoned In Tetris and in development cycles if you are forced to just react to impending deadlines you drastically reduce your ability to succeed. 10 Saturday, March 5, 2011
  • 11. 3. Maximize the Work You Are Not Doing Tetris pieces can be rotated clockwise and counterclockwise. Efficiency is knowing the fastest direction to rotate the piece to fit your stack. Rotating Left Desired Orientation Rotating Right 3x as long to rotate 13 11 Saturday, March 5, 2011
  • 12. 3. Maximize the Work You Are Not Doing Many agile teams take pride in the amount of automation they bring to their development process, through testing, deploying or documenting. Any process that can be done a faster way (without sacrificing quality) should be. Developers need to know the strengths and weaknesses of their technology stack. 14 12 Saturday, March 5, 2011
  • 13. 4. Know Your Goal In Tetris it is easy to focus on your score, as a measurement for progress but that’s a red herring. Tetris by design is a game that doesn’t end so you can’t “win”. You don’t win your application by deploying it - you just clear your stack 15 13 Saturday, March 5, 2011
  • 14. 5. Fix Mistakes NOW! A common problem in Tetris among players is to try to bury their mistakes Ignoring mistakes means players have less space remaining to work with, and therefore a higher likelihood of making similar mistakes in the future. Agile development focuses on refactoring code, getting rid of duplication, baroqueness and silos of code. A.B.R. (Always Be Refactoring) 16 14 Saturday, March 5, 2011
  • 15. 6. Fail Early And Often Tetris is to agile development as “PITFALL!” is to the Waterfall method. Ironic Name I Know 17 15 Saturday, March 5, 2011
  • 16. 6. Fail Early And Often START OVER HERE DIE HERE Level map of PITFALL! 16 Saturday, March 5, 2011
  • 17. 6. Fail Early And Often “Pitfall!” requires you to start back at the beginning of the level each time you die. This is like the waterfall method, which reboots the development cycle for every requirement change. Tetris lets you fail quickly and let you restart where you left off. You can improve your technique and understanding of the game at any point of the play cycle. Agile development focuses on test driven development, and writing tests to fail first. This ensures that you work directly on the feature in question and not any of the ancillary systems. 19 17 Saturday, March 5, 2011
  • 18. 7. Embrace Change In Tetris the player only knows which piece is coming next. Agile development says the developer should embrace change, be it shifting requirements, or deadlines. Just as the player is constantly scanning the game board the agile developer should be reevaluating previous design decisions looking for ways to refactor code and reduce complexity. 20 18 Saturday, March 5, 2011
  • 19. 8. There’s an “I” in Tetris but not Team Tetris is a single player unless you are competing against another player. This is unlike programming, which at some fundamental level is a process of building off the work of others. The Tetris metaphor works only so far. The biggest factor in success or failure in an agile environment is how the team works together. 21 19 Saturday, March 5, 2011
  • 20. THANKS! Mark Daggett Application Architect Humansized Inc. @heavysixer mark@humansized.com http://www.humansized.com Tetris ® is a registered trademark of The Tetris Company PITFALL! ® is a registered trademark of Activision 22 20 Saturday, March 5, 2011