XP2003 Main
Call for Submissions
Program
Detailed Program
Educational Symposium
PhD Symposium
News
Location
Registration
Organization
Links
Hot Spots
Companion's Program
Sponsors
Our Proud Sponsors
Accommodation
Accepted Papers

 
back to the program
 
Sketching Testable Designs
(25TH May, 8:30 - 12:30)

Presenter

Michael Hill, Object Mentor, Inc.

Summary

Perhaps the hardest move to make in adopting XP is the one from test-less-ness to test-first-ness. Most beginners try this by becoming design-first-but-in-your-head-testers. This is not a bad start, but it won’t do to carry you into intermediate test-driven skills. Crutches are notoriously bad things. Unless, of course, you happen to need one to walk. The design sketch techniques presented here are no formal part of XP, but they’re a very good crutch for getting to intermediate Test-Driven Development. In this tutorial we’ll learn what a design sketch is, how to create one, and how to use them to communicate your ideas to your pair and your team.

Duration and Target Audience

This is a half-day tutorial whose target is intermediate or advanced programmers who feel they are not getting maximum value from the TDD approach. Anyone who is trying TDD is welcome. Anyone who has understood the urgency of adopting TDD but who is still unable to consistently code from a test-driven base should benefit. The presenters particularly welcome new adopters and those working with or leading them.

Outline

The tutorial will be handled in true XP style. What follows is a release plan, and as the class develops, it will surely flex to meet the attendees' needs. The real point of the tutorial is to provide a focused topic and bring TDD adopters face to face with an experienced practitioner for our mutual entertainment and edification. The presentation includes working programs, sample code, and a variety of tips, tricks, and techniques.

Making a Test-First Sketch
   What it is:
     The classes
     Their relationships
     Their tests
     Their increments
     The Hardest Question: How much detail_
     Wait, Isn’t This Design_
     Exercise

Breaking the testThatEverythingWorks() Trap
   The UT Stack And Why It Doesn’t Work
   Identifying The Borders
   Delegation vs. Inheritance
   Using Test-Only Constructors
   Using Self-Shunt
   When Is An Object Trusted_
   Exercise: From

Tackling the GUI Problem
   The MP3 GUI
   Making A GUI Surface
   Mapping real components
   Working with Dumb Objects
   Exercise: The MP3 GUI

Hard Questions
   Open season on TDD and tools. The last hour of the tutorial will be focused on the    questions and answers that the attendees offer. Real challenges from real applications    are the order of the day.

Presenter Resume

Michael Hill has been testing first for five years, against a background of twenty+ years as an independent contractor. He is a senior mentor at Object Mentor, Inc., a job that has brought him into contact with literally dozens of differents projects and platforms. He is presently at work on a book on real-world programming. For a more complete bio see Object Mentor - Michael Hill.

back to the program