Let's Play: Test-Driven Development is a live, stream-of-consciousness recording of my successes and slip-ups as I work on a real software project. Each episode is about 15 minutes long.

If you're just getting started, you can start from the beginning with the very first episode, view our 100th episode recap, or check out our more recent anniversary episode. Enjoy!


Loading...

Let's Play TDD #161: The UserEnteredDollars Value Object () - 02 Feb, 2012


Loading...

Let's Play TDD #160: End of Week 1 () - 31 Jan, 2012


Loading...

Let's Play TDD #159: How Do We Store Data? () - 17 Jan, 2012


Loading...

Let's Play TDD #158: writeFile() and readFile() () - 12 Jan, 2012


Loading...

Let's Play TDD #157: Datum () - 10 Jan, 2012


Loading...

Let's Play TDD #156: Persistence, for Realsies () - 03 Jan, 2012


Loading...

Let's Play TDD #155: Transitioning to SaveFile () - 29 Dec, 2011


Loading...

Let's Play TDD #154: Save and Cancel... Done! () - 27 Dec, 2011


Loading...

Let's Play TDD #153: Push the Button () - 22 Dec, 2011


Loading...

Let's Play TDD #152: No-ckito () - 20 Dec, 2011


Loading...

Let's Play TDD #151: Mockito () - 15 Dec, 2011


Loading...

Let's Play TDD #150: Mulling Over the Persistence Design () - 13 Dec, 2011


Loading...

Let's Play TDD #149: Polishing Off the Save As Dialog () - 08 Dec, 2011


Loading...

Let's Play TDD #148: Asynchronous Assertions () - 07 Dec, 2011


Loading...

Let's Play TDD #147: Finding the Dialog () - 01 Dec, 2011


Loading...

Let's Play TDD #146: Race Condition () - 29 Nov, 2011


Loading...

Let's Play TDD #145: Displaying the FileDialog () - 24 Nov, 2011


Loading...

Let's Play TDD #144: Cost vs. Benefit () - 29 Sep, 2011


Loading...

Let's Play TDD #143: File → Save As... () - 27 Sep, 2011


Loading...

Let's Play TDD #142: Good Enough () - 22 Sep, 2011


Loading...

Let's Play TDD #141: Domain-Specific Language () - 20 Sep, 2011


Loading...

Let's Play TDD #140: Cleaning Up the Menu Code () - 15 Sep, 2011


Loading...

Let's Play TDD #139: File → Close () - 13 Sep, 2011


Loading...

Let's Play TDD #138: New Windows () - 08 Sep, 2011


Loading...

Let's Play TDD #137: How Many Frames? () - 06 Sep, 2011


Loading...

Let's Play TDD #136: Accelerators () - 02 Sep, 2011


Loading...

Let's Play TDD #135: File → New () - 01 Sep, 2011


Loading...

Let's Play TDD #134: Persistence! () - 31 Aug, 2011


Loading...

Let's Play TDD #133: Towards an Agile Architecture () - 30 Aug, 2011


Loading...

Let's Play TDD #132: Fresh Eyes on the Domain () - 29 Aug, 2011


Loading...

Let's Play TDD #131: JComponent vs. JPanel () - 25 Aug, 2011


Loading...

Let's Play TDD #130: The Great Negative Color Debacle () - 24 Aug, 2011


Loading...

Let's Play TDD #129: Root Cause Analysis () - 18 Aug, 2011


Loading...

Let's Play TDD #128: 2^7 () - 02 Aug, 2011


Loading...

Let's Play TDD #127: Yearly Spending Field () - 28 Jul, 2011


Loading...

Let's Play TDD #126: Following Patterns () - 26 Jul, 2011


Loading...

Let's Play TDD #125: The Cost Basis Field () - 21 Jul, 2011


Loading...

Let's Play TDD #124: Constraints () - 19 Jul, 2011


Loading...

Let's Play TDD #123: MiGLayout () - 14 Jul, 2011


Loading...

Let's Play TDD #122: Extracting ConfigurationPanel () - 12 Jul, 2011


Loading...

Let's Play TDD #121: Back to the UI Vision () - 07 Jul, 2011


Loading...

Let's Play TDD #120: DollarsTextField: Done! () - 05 Jul, 2011


Loading...

Let's Play TDD #119: Comments Lie () - 30 Jun, 2011


Loading...

Let's Play TDD #118: Coupling vs. Complexity () - 28 Jun, 2011


Loading...

Let's Play TDD #117: setIcon() () - 23 Jun, 2011


Loading...

Let's Play TDD #116: You Gotta Know What You're Doing () - 21 Jun, 2011


Loading...

Let's Play TDD #115: Wrapping Up the Icon Spike () - 16 Jun, 2011


Loading...

Let's Play TDD #114: Icon Challenges () - 14 Jun, 2011


Loading...

Let's Play TDD #113: OverlayLayout? () - 09 Jun, 2011


Loading...

Let's Play TDD #112: It's in the (Grid)Bag () - 07 Jun, 2011


Loading...

Let's Play TDD #111: Icon in JTextField: Go! () - 02 Jun, 2011


Loading...

Let's Play TDD #110: Create a Beautiful, Simple Result () - 31 May, 2011


Loading...

Let's Play TDD #109: Zombie TDGotchi () - 26 May, 2011


Loading...

Let's Play TDD #108: Wishing for First-Class Functions () - 25 May, 2011


Loading...

Let's Play TDD #107: The Hidden Listener () - 19 May, 2011


Loading...

Let's Play TDD #106: Back from the Dead () - 17 May, 2011


Loading...

Let's Play TDD #105: Negative TextField () - 21 Apr, 2011


Loading...

Let's Play TDD #104: Cleaned Up and Ready to Move On () - 19 Apr, 2011


Loading...

Let's Play TDD #103: Test Double () - 14 Apr, 2011


Loading...

Let's Play TDD #102: Heresy, Revisited () - 12 Apr, 2011


Loading...

Let's Play TDD #101: Factory Method () - 07 Apr, 2011


Loading...

Let's Play TDD #100: Twenty-Five Hours () - 05 Apr, 2011


Loading...

Let's Play TDD #99: Valid Range () - 31 Mar, 2011


Loading...

Let's Play TDD #98: One Beeellion Dollars () - 29 Mar, 2011


Loading...

Let's Play TDD #97: Where the Rubber Meets the Road () - 24 Mar, 2011


Loading...

Let's Play TDD #96: Resources () - 22 Mar, 2011


Loading...

Let's Play TDD #95: Tested, Rendered, and Isolated () - 17 Mar, 2011


Loading...

Let's Play TDD #94: SelfRenderable () - 15 Mar, 2011


Loading...

Let's Play TDD #93: Insanity Check () - 10 Mar, 2011


Loading...

Let's Play TDD #92: InvalidDollars Gets an Icon () - 08 Mar, 2011


Loading...

Let's Play TDD #91: Rendering ValidDollars () - 03 Mar, 2011


Loading...

Let's Play TDD #90: Heresy in the Land of Package Dependencies () - 01 Mar, 2011


Loading...

Let's Play TDD #89: The Double of Death () - 24 Feb, 2011


Loading...

Let's Play TDD #88: Cascading Failures () - 22 Feb, 2011


Loading...

Let's Play TDD #87: InvalidDollars () - 17 Feb, 2011


Loading...

Let's Play TDD #86: Pushing Down Methods () - 15 Feb, 2011


Loading...

Let's Play TDD #85: ValidDollars () - 10 Feb, 2011


Loading...

Let's Play TDD #84: Parentheses () - 08 Feb, 2011


Loading...

Let's Play TDD #83: Parsing and Formatting () - 03 Feb, 2011


Loading...

Let's Play TDD #82: Constructors, Folklore, and the Java Language Spec () - 01 Feb, 2011


Loading...

Let's Play TDD #81: Clunk... Clunk... Clunk... () - 27 Jan, 2011


Loading...

Let's Play TDD #80: Focus Lost () - 25 Jan, 2011


Loading...

Let's Play TDD #79: Focus Gained () - 20 Jan, 2011


Loading...

Let's Play TDD #78: Making Numbers Work () - 18 Jan, 2011


Loading...

Let's Play TDD #77: Buy Versus Build () - 15 Jan, 2011


Loading...

Let's Play TDD #76: Onward... Slowly () - 11 Jan, 2011


Loading...

Let's Play TDD #75: Hacking on the Custom TextField () - 31 Dec, 2010


Loading...

Let's Play TDD #74: Number Formatting Spike () - 30 Dec, 2010


Loading...

Let's Play TDD #73: Cycles () - 29 Dec, 2010


Loading...

Let's Play TDD #72: Starting to Look Like a Real Application () - 28 Dec, 2010


Loading...

Let's Play TDD #71: Poking at Listeners () - 27 Dec, 2010


Loading...

Let's Play TDD #70: Reflections on Incremental Design () - 17 Dec, 2010


Loading...

Let's Play TDD #69: Train Wreck () - 16 Dec, 2010


Loading...

Let's Play TDD #68: It's Sh*t Like This, Java () - 15 Dec, 2010


Loading...

Let's Play TDD #67: A Closure Would Be Helpful Right About Now () - 14 Dec, 2010


Loading...

Let's Play TDD #66: Proving the ApplicationModel Design Concept () - 13 Dec, 2010


Loading...

Let's Play TDD #65: Cogitating on ApplicationModel () - 10 Dec, 2010


Loading...

Let's Play TDD #64: Integrating ApplicationModel () - 09 Dec, 2010


Loading...

Let's Play TDD #63: Simplifying StockMarketProjection () - 08 Dec, 2010


Loading...

Let's Play TDD #62: Listening Carefully () - 07 Dec, 2010


Loading...

Let's Play TDD #61: Questions of Design () - 06 Dec, 2010


Loading...

RECAP: Let's Play TDD, Episodes 51-60 () - 05 Dec, 2010


Loading...

Let's Play TDD #60: Layout Managers () - 03 Dec, 2010


Loading...

Let's Play TDD #59: Application... Tested! () - 02 Dec, 2010


Loading...

Let's Play TDD #58: Violating Encapsulation () - 01 Dec, 2010


Loading...

Let's Play TDD #57: Taking Over the Application Frame () - 30 Nov, 2010


Loading...

Let's Play TDD #56: Window Titles () - 29 Nov, 2010


Loading...

Let's Play TDD #55: The Color of Failure (with Kim Gräsman) () - 24 Nov, 2010


Loading...

Let's Play TDD #54: Prognosticating (with Kim Gräsman) () - 23 Nov, 2010


Loading...

Let's Play TDD #53: Testing Styles (with Kim Gräsman) () - 22 Nov, 2010


Loading...

Let's Play TDD #52: Success! (with Roy Osherove) () - 19 Nov, 2010


Loading...

Let's Play TDD #51: Alternate Background Color (with Roy Osherove) () - 18 Nov, 2010


Loading...

RECAP: Let's Play TDD, Episodes 41-50 () - 18 Nov, 2010


Loading...

Let's Play TDD #50: Code Monkey (with Roy Osherove) () - 17 Nov, 2010


Loading...

Let's Play TDD #49: The AlternatingRowTable (with Roy Osherove) () - 16 Nov, 2010


Loading...

Let's Play TDD #48: Transitioning to Production Code (with Roy Osherove) () - 15 Nov, 2010


Loading...

Let's Play TDD #47: Spike-a-riffic () - 05 Nov, 2010


Loading...

Let's Play TDD #46: Don't Mean a Thing If It Ain't Got That Swing () - 04 Nov, 2010


Loading...

Let's Play TDD #45: Looking for Keys in All the Wrong Places () - 03 Nov, 2010


Loading...

Let's Play TDD #44: Dis Approvals () - 02 Nov, 2010


Loading...

Let's Play TDD #43: Seeking Approvals () - 01 Nov, 2010


Loading...

Let's Play TDD #42: But What's the Question? () - 23 Oct, 2010


Loading...

Let's Play TDD #41: Sell Every Year () - 22 Oct, 2010


Loading...

RECAP: Let's Play TDD, Episodes 31-40 () - 21 Oct, 2010


Loading...

Let's Play TDD #40: Fixed the Capital Gains Abstraction... I Think () - 20 Oct, 2010


Loading...

Let's Play TDD #39: Torturing Myself () - 19 Oct, 2010


Loading...

Let's Play TDD #38: Torturing Rob (with Rob Myers) () - 18 Oct, 2010


Loading...

Let's Play TDD #37: Reviewing the Code (with Rob Myers) () - 15 Oct, 2010


Loading...

Let's Play TDD #36: Pair Programming! (with Rob Myers) () - 14 Oct, 2010


Loading...

Let's Play TDD #35: Right on Form () - 13 Oct, 2010


Loading...

Let's Play TDD #34: Revising the Capital Gains Tax Abstraction () - 12 Oct, 2010


Loading...

Let's Play TDD #33: Value Objects Pay Off () - 11 Oct, 2010


Loading...

Let's Play TDD #32: Rounding Off Pennies () - 08 Oct, 2010


Loading...

Let's Play TDD #31: Eliminating Dollars.toInt() () - 07 Oct, 2010


Loading...

RECAP: Let's Play TDD, Episodes 21-30 () - 06 Oct, 2010


Loading...

Let's Play TDD #30: Introducing Dollars.percentage() () - 05 Oct, 2010


Loading...

Let's Play TDD #29: More Failing () - 04 Oct, 2010


Loading...

Let's Play TDD #28: Integrating Year and Failing Fast () - 01 Oct, 2010


Loading...

Let's Play TDD #27: Yet Another Value Object () - 30 Sep, 2010


Loading...

Let's Play TDD #26: Integrating StockMarket into StockMarketTableModel () - 29 Sep, 2010


Loading...

Let's Play TDD #25: Extracting the StockMarket Class () - 28 Sep, 2010


Loading...

Let's Play TDD #24: Finishing Up StockMarketTableModel () - 27 Sep, 2010


Loading...

Let's Play TDD #23: Multiple Years () - 24 Sep, 2010


Loading...

Let's Play TDD #22: Hooking Up the Domain Model () - 23 Sep, 2010


Loading...

Let's Play TDD #21: Column Headers () - 22 Sep, 2010


Loading...

RECAP: Let's Play TDD, Episodes 11-20 () - 22 Sep, 2010


Loading...

RECAP: Let's Play TDD, Episodes 1-10 () - 21 Sep, 2010


Loading...

Let's Play TDD #20: Getting Started on the UI () - 21 Sep, 2010


Loading...

Let's Play TDD #19: UI Training () - 20 Sep, 2010


Loading...

Let's Play TDD #18: StockMarketYear--Done! (For Now) () - 17 Sep, 2010


Loading...

Let's Play TDD #17: Integrating Dollars () - 16 Sep, 2010


Loading...

Let's Play TDD #16: The Dollars Class () - 15 Sep, 2010


Loading...

Let's Play TDD #15: Integrating TaxRate and InterestRate () - 14 Sep, 2010


Loading...

Let's Play TDD #14: Obsessing Over Primitives () - 13 Sep, 2010


Loading...

Let's Play TDD #13: The TaxRate Class () - 12 Sep, 2010


Loading...

Let's Play TDD #12: Polishing to a High Gloss () - 11 Sep, 2010


Loading...

Let's Play TDD #11: Consolidating the Tests () - 10 Sep, 2010


Loading...

Let's Play TDD #10: Ending Capital Gains () - 09 Sep, 2010


Loading...

Let's Play TDD #9: Seeking Beauty () - 08 Sep, 2010


Loading...

Let's Play TDD #8: Cleaning Up Taxes () - 07 Sep, 2010


Loading...

Let's Play TDD #7: Tax Rage () - 06 Sep, 2010


Loading...

Let's Play TDD #6: Capital Gains Tax--Almost () - 05 Sep, 2010


Loading...

Let's Play TDD #5: Sneaking Up on the Problem () - 04 Sep, 2010


Loading...

Let's Play TDD #4: Gaining on Capital Gains () - 03 Sep, 2010


Loading...

Let's Play TDD #3: Cleaning Up My Mess () - 02 Sep, 2010


Loading...

Let's Play TDD #2: Peering Dimly Into the Future () - 01 Sep, 2010


Loading...

Let's Play: Test-Driven Development () - 31 Aug, 2010


Loading...

Let's Play TDD #162: Wishing for Double Dispatch ()