xp2016 test-driving information radiators workshop
TRANSCRIPT
Rachel Davies @unrulyco
ABOUT YOU
WORKSHOP
IN FOCUS
Test-Driven Design for
Information Radiators
YOUR PARTICIPATION
Let’s not worry too much about finer details of methodologies & templates.
Please ask new questions & share insights
over text book pedantry.
Focus on the parts that are new to you rather than the parts most familiar.
ON THE PERIPHERY
• Who updates information • Viewing from outside team workspace • Construction mechanics • …?
INFORMATION RADIATORS?
"An information radiator displays information in a place where passersby can
see it. With information radiators, the passersby don't need to ask questions; the
information simply hits them as they pass.”
Alistair Cockburn, 2001 Agile Software Development
EXAMPLES: INFORMATION RADIATORS?
Take 2 mins to brainstorm examples of information radiators *
Share
* ideally examples that you have seen a team applying agile software development use.
STEPS: DESIGN GUIDED BY TESTS
1. Write a new test. 2. Design to pass the new test. 3. Clean up. Repeat without breaking tests already added
PRACTICE: WRITING TESTS
AVOID GOING BEYOND THE TEST ..
KEEP DESIGN SENSIBLE
TRY: INFERRING TESTS
Look at example photo. Try to deduce usage / tests.
THROW THOSE AWAY
Some team scenarios to consider • I arrive late, information is radiated on what team members are
doing today.
• I was off sick yesterday, information is radiated on what team members worked on.
• In the team retrospective, snapshots from information radiators can be used as a reminder of events that happened.
• The team is spending a lot of time on support tasks, information is radiated on the impact.
• Some team members haven’t paired with each other, information is radiated on who to pair with next.
• I’m wondering when my turn is to be on out of hours support, information is radiated to let me know who is on support now and next.
More team scenarios to consider • I think I’ve finished work on a story, information is radiated on
whether I’ve sent a release email / got sign-offs, etc.
• A story has been taking a lot longer that the team planned, information is radiated to show actual overrun.
• Our product is under heavy load, information is radiated to make team aware of system health.
• I don’t work in the team, information is radiated to help me recognise who is my point of contact for support questions.
• I have a question to discuss, information is radiated to remind me to have a conversation.
• I want to start a new story, information is radiated to remind me initial steps.
Qualities of Information Radiators
• MALLEABLE: I can change our workflow
• PERFORMANCE: I can update our board with little effort
• RELIABILITY: I can rely on our board not to lose
information
• More ?
NOW ONE TINY TEST AT A TIME!
Need Need Need Need Need Sketch Design
WRITE TESTS
Some observable thing that has value
to a viewer
PASS IT ON!
SKETCH A DESIGN THAT PASSES
<Some simple sketch that would pass this test>
ITERATE!
SHARING OUR REFLECTIONS