![Page 1: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/1.jpg)
Improving Agile Development Through Tetris®
Mark Daggett
Copyright © 2011 Mark Daggett. Some Rights Reserved
Saturday, March 5, 2011
![Page 2: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/2.jpg)
2
Can learning Tetris improve the quality of your software development process?
Saturday, March 5, 2011
![Page 3: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/3.jpg)
You know Tetris
3Photo Credit: fraskedesigns.blogspot.com
Saturday, March 5, 2011
![Page 4: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/4.jpg)
4
Tetris is Crack for the OCD
Saturday, March 5, 2011
![Page 5: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/5.jpg)
Tetris Is Serious; Seriously
5
Developed by Alexey Pajitnov to test artificial intelligence algorithms Can be used to measure conceptual skills of task analysis and resource management in playersCan also measure a player’s visceral decision making process under pressure
Saturday, March 5, 2011
![Page 6: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/6.jpg)
Agile Development Reasoning
6
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]
Saturday, March 5, 2011
![Page 7: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/7.jpg)
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
Saturday, March 5, 2011
![Page 8: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/8.jpg)
8
1. Don’t Get Too Clever
Serial dependencies can easily turn into a FAIL as other resources, such as time, run out.
10
Saturday, March 5, 2011
![Page 9: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/9.jpg)
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
Saturday, March 5, 2011
![Page 10: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/10.jpg)
10
2. Stay LowAs 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-reasonedIn Tetris and in development cycles if you are forced to just react to impending deadlines you drastically reduce your ability to succeed.
Saturday, March 5, 2011
![Page 11: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/11.jpg)
11
3. Maximize the Work You Are Not Doing
Rotating Left Rotating RightDesired Orientation
Tetris pieces can be rotated clockwise and counterclockwise. Efficiency is knowing the fastest direction to rotate the piece to fit your stack.
3x as long to rotate
13
Saturday, March 5, 2011
![Page 12: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/12.jpg)
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
Saturday, March 5, 2011
![Page 13: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/13.jpg)
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
Saturday, March 5, 2011
![Page 14: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/14.jpg)
14
5. Fix Mistakes NOW!A common problem in Tetris among players is to try to bury their mistakesIgnoring 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
Saturday, March 5, 2011
![Page 15: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/15.jpg)
15
6. Fail Early And Often
Tetris is to agile development as “PITFALL!” is to the Waterfall method.
Ironic Name I Know17
Saturday, March 5, 2011
![Page 16: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/16.jpg)
16
6. Fail Early And Often
START OVER HERE
DIE HERELevel map of PITFALL!
Saturday, March 5, 2011
![Page 17: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/17.jpg)
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
Saturday, March 5, 2011
![Page 18: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/18.jpg)
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
Saturday, March 5, 2011
![Page 19: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/19.jpg)
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
Saturday, March 5, 2011
![Page 20: Improving Agile Development Through Tetrisstrycore.com/ebooks/agile-tetris-daggett.pdf · In Tetris it is easy to focus on your score, as a measurement for progress but that’s a](https://reader033.vdocuments.net/reader033/viewer/2022042923/5f71a46153239f3ea64e540a/html5/thumbnails/20.jpg)
20
THANKS!Mark DaggettApplication Architect Humansized Inc.
@[email protected]://www.humansized.com
Tetris ® is a registered trademark of The Tetris CompanyPITFALL! ® is a registered trademark of Activision 22
Saturday, March 5, 2011