Outline for TDD Tutorial in C#

Overall Theme: Implementing the PanMedia retail system with TDD Technology: C#

TO DO

Zhon:

Kay:

Jeff:

Richard:

Course Schedule

Day 1 (Kay, Jeff and Richard at lunch time)

Theme of the day: "The Big Picture: The basic rhythms of driving code development down through acceptance and unit level tests".

Skills you will practice:

Zhon Introductions & setup - 30 Min

Done Prime Factors Kata - 30 Min

Zhon Release Planning - 45 Mins

Kay Interactively define test cases for "Selling Items" story - 30 Mins

Kay Show: Implement Fitnesse test page and fixture for test cases - 30 Mins

Zhon Iteration planning, task breakdown & group sign-up to implement user stories - 15 Mins

Lunch

Jeff Show code written TDD style with Driver, Navigator, Questioner, and Commentator (Jeff, Kay, Zhon, Richard) - 30 Mins

Class Pass off first story - 2 Hours

Zhon Daily Debrief - 30 Mins

Day 2 (Jeff)

Theme of the day: "Keeping it Clean: Performing common refactors as a part of everyday coding".

Skills you will practice:

Kay Mocking Kata - 30 min

Zhon Iteration planning, tasking, and signup - 15 minutes

Jeff Walk through refactor of existing code to remove duplication and triangulation - 30 mins

Class Work on stories - 1 hour 45 mins

- Lunch -

??? Walk through naming, dependencies and encapsulation - 30 mins

Class Implement and pass off stories - 2 Hours

Zhon Daily Debrief - 30 Min

Day 3: (Richard)

Theme of the day: "Testing the Untestable: Using mocking and separation of concerns to preserve testability".

Skills you will practice: Two styles of mocking, mocking tools, humble object pattern

Richard Kata - Add GUI to prime factors - 30 Min

Zhon - Iteration planning, tasking, and signup - 15 Min

??? Mocking tools available - 30 min

Class Work on stories - 1 Hour 45 Min

- Lunch -

Richard Demonstration of how to separate concerns in C# GUI code and make business logic testable - 30 min

Class Implement and pass off stories - 1 Hour

??? - Review release plan for coming "iterations", recommend stories, prioritize, etc. - 15 min

If time permits - Richard - Live refactor of their code - 30 Min

Zhon - Daily Retrospective - 30 Min

Zhon - Closing remarks - 15 Min

Technical Starting Point

(Not too much setup, and maybe run them through the steps we had to take to set up)


Outline for TDD Tutorial for Agile Roots

Agile Roots

Test Driven Development/Refactoring Tutorial (3 hours)

Introduction

TDD in Action Simple steps to clean code. (Java)

TDD Together

TDD pairing in groups of four

Reflection

Break

Refactoring legacy code Making code testable; making good code great. (C#)

Refactor Your Code

Where do we go from here?

Debrief / Q & A

Reflection


Results from the Salt Lake Agile Round Table question: When did you realize you had become test infected?

TddTutorialOutline (last edited 2009-07-21 20:35:24 by KayJohansen)