Talking with Intent, Typing Syntax
When working in an ensemble, the person Talking should try to speak at a higher level of abstraction. The person Typing should be able to take care of syntax without the talker dictating keystrokes.
Session Outline
- 5 min connect: Match high level statements of intent with syntax
- 5 min concept: Intention, Location, Details
- 35 min concrete: do some TDD
- 5 min reflect: Did the person Talking dictate Details?
Connect: Match high level statements of intent with syntax
Connect to what they already know about the names of programming constructs and how to describe them in English. Use the exercise Talking without syntax details
Concept: Intention, Location, Details
Explain that the person Talking should communicate to the person Typing using words, so the whole ensemble hears the Intention. This should make it easier for the next person to take over talking, since they understand the direction.
If the typist doesn’t understand well enough from just the intention, the talker can prompt them by Location on the screen. For example the line number or name of the menu item.
If the typist still doesn’t get it, you can dictate the Details of the keystrokes or mouse clicks. At this point you start telling them the syntax of the programming language or how to use the IDE. Ideally your typist wouldn’t need this long term, we want to raise the competence of the typist over time. The typist should be a very intelligent keyboard who learns how to do things the talker describes without detailed directions.
Concrete: do some TDD
Pick a problem where the code snippets you looked at in the Connect part will be useful. For example CalcStats or ClosestToZero. If the person talking resorts to dictating details, prompt the group to address this. Can you add some more code snippets to the ‘cheat sheet’ from the beginning of the session? Write up some keyboard shortcuts? Agree some words to use to describe the intent at a higher level?
Conclusions: Did the person Talking dictate Details?
Review your ‘cheat sheet’. What kinds of things did the talker need to dictate? How can you use this in your normal work?