you say tomato i say pomodoro

58
You Say Tomato, I Say Pomodoro renzo.borgatti@agilepartners.com - Agile 2009 http://github.com/reborg/talk-pomodoro/tree/agile2009 A Practical Pomodoro Technique Guide for Team and Individuals

Post on 19-Oct-2014

6.736 views

Category:

Education


6 download

DESCRIPTION

Practical Pomodoro Technique guide for teams and individuals. The slides are in the index-card format, please print them as needed. Slides from my Agile 2009 presentation.

TRANSCRIPT

Page 1: You Say Tomato I Say Pomodoro

You Say Tomato,I Say Pomodoro

[email protected] - Agile 2009

http://github.com/reborg/talk-pomodoro/tree/agile2009

A Practical Pomodoro

Technique Guide

for Team and Individuals

Page 2: You Say Tomato I Say Pomodoro

Pomo WHAT?!

Francesco Cirillo, late ‘80s

“Can you study, really study, for 10 mins?”

He used a pomodoro shaped kitchen timer

Technique refined over 20 years of coaching

www.pomodorotechnique.com

Page 3: You Say Tomato I Say Pomodoro

Basic Rules

25 mins + 5 mins

Longer Break Every 4 Pomodoros

If a Pomodoro Begins, It Has to RingThe Pomodoro Is Indivisible

One Single Task Each Pomodoro

Page 4: You Say Tomato I Say Pomodoro

Breaks ARE Breaks

Page 5: You Say Tomato I Say Pomodoro

Practical Rules

Void the Pomodoro If Interrupted

Review Same Task If Done Before Ring

Protect the Pomodoro from Interruptions

Inform, Negotiate and Reschedule

Page 6: You Say Tomato I Say Pomodoro

Estimation

A Task Should not be more than 5/7 P

A Task Should not be less than 1 PSplit big tasks if necessary

Aggregate multiple tasks if necessaryPomodoro Capacity

Yesterday’s Pomodoros

Page 7: You Say Tomato I Say Pomodoro

Implementations

Paper BasedPlain Text FilesSpreadsheetsSuitable Software Tools

TextText

CeremonyLevel

Automation

Page 8: You Say Tomato I Say Pomodoro

Plain Text Files

No specific tools needed

Simple formatting rules

Easy to store

Easy to version under source control

Easily Scriptable

Page 9: You Say Tomato I Say Pomodoro

Our Example Project!

Page 10: You Say Tomato I Say Pomodoro

User RegistrationCreate Proposal

Comment Proposal

Show TweetsSignup Newsletter

Search The Site

Download Program PDFEdit Content Of Site

Write a Blog Post

Page 11: You Say Tomato I Say Pomodoro

Create Proposal

CreatepagewithformandsubmitbuttonHandlevalidationanderrorsShowproposalpreviewConfirmationpage

Signup Newsletter

CreateformpageHandlevalidationerrorsemailSendemailtoregisteredusersConfirmationpage

Edit Content of the Site

ShoweditlinkforeditablepagesCreateformpagewithpagebodyeditingIncludeWYSIWYGeditorAllowpreviewofeditedpageSavepageasdraft

Show Tweets

DownloadlistofcurrentTweetsTweetssidebaronthepage

Page 12: You Say Tomato I Say Pomodoro

Inventory Sheet

Collection of fine grained tasksEstimates in PomodorosMultiple User Stories

Repository for new and unexpected tasksOrder defines priority

Tasks categorized by @tags

Page 13: You Say Tomato I Say Pomodoro

Inventory Sheet Structure

UPPERCASE HEADERS FOLLOWED BY A COLON: IT’S AN USER STORY NAME OR A SUBPROJECT:

- @multiple @tags starting with a dash 5- @followed by a number are tasks 4THE INBOX IS AT THE BOTTOM:

This is the “TaskPaper” format (VIM plugin available)You can roll out your own

Page 14: You Say Tomato I Say Pomodoro

How to Use the Inventory

Move lines around to set priorities

Try to use a single line each task

Append to INBOX all new tasks

Process the INBOX before the standup

Page 15: You Say Tomato I Say Pomodoro

Inventory Workflow

Process INBOXGrab tasks from User Story repoSplit tasks, add spikes if necessary

Re-estimate PomodorosPrioritize, move up and down

Page 16: You Say Tomato I Say Pomodoro

Let’s Practice

with

the Inventory

Page 17: You Say Tomato I Say Pomodoro

Todo Today Sheet

Record relevant session factsCreate a new one each session (day)

Fill from inventory when emptyMark done pomodoros

Mark total done and total plannedRecord interruptions

Page 18: You Say Tomato I Say Pomodoro

What’s in the Todo Today

SCHEDULE: to calculate pomodoro capacityPLANNED: todo list from inventoryDONE: move tasks here when doneNOT DONE: move here what was not doneSTANDUP: yesterday, today, what did I learnPOMOSPECTIVE: how the PT is doingINTERRUPTS: record interruptions

Page 19: You Say Tomato I Say Pomodoro

Today Todo WorkflowStart the Pomodoro

Create new Todo Today SheetSession StandupPomospective

Compute available pomodorosCompare total to yesterday’s capacityBring-in not done tasks from last session

Bring-in tasks from InventoryReconsider priorities after each Pomodoro

Page 20: You Say Tomato I Say Pomodoro

Session Stand-up

Different from the team stand-upMain goals for the day

@today, @yesterday, @learned

Other project related tagsRe-establish focus and effort

Pomodoro Practices

Page 21: You Say Tomato I Say Pomodoro

Pomospective

Any noticeable under/over estimate?What went good/bad about the technique?

Am I respecting breaks?Can interruptions be avoided?

Is rhythm established?

Pomodoro Practices

Page 22: You Say Tomato I Say Pomodoro

Todo Today Folders

Folders by year, monthActual file name: <day>_<pair>.txt

Page 23: You Say Tomato I Say Pomodoro

Let’s Practice

withToday Todos

Page 24: You Say Tomato I Say Pomodoro

Execution Workflow

Start the PomodoroCheck priorities, shuffle tasks if necessary

Execute taskMark one Pomodoro done for taskShort Break, (long break after 4P)

Wash, Rinse, Repeat

Page 25: You Say Tomato I Say Pomodoro

Pomodoro time

Page 26: You Say Tomato I Say Pomodoro

Pomodoro Workflows

Inventory WorkflowSession Workflow

Execution WorkflowNew Task Workflow

Interruption Workflow

Page 27: You Say Tomato I Say Pomodoro

Unexpected Task

What If?

Page 28: You Say Tomato I Say Pomodoro

New Task Workflow

Always close current task

Never jump to new task

Append new task to INBOX

Re-prioritize on next Pomodoro

Page 29: You Say Tomato I Say Pomodoro

Interruptions

What If?

Page 30: You Say Tomato I Say Pomodoro

Interrupt Workflow

Protect the PomodoroInform: current task and scheduleNegotiate: based on priorities

Reschedule: move the interruption later on

Page 31: You Say Tomato I Say Pomodoro

Pomodoro forsoftware projects

Page 32: You Say Tomato I Say Pomodoro

The Pomodoro Domain

Inception to user storiesStory selection for current iterationDevelopers volunteer for stories

pomodoro domain starts here

Developers fill out the Inventory SheetDevelopers start their first Pomodoro

Page 33: You Say Tomato I Say Pomodoro

Process Independent

The Pomodoro influence is at the task execution levelIt does not mandate programming techniques

It does not alter the software process

affects the focus/relax cycleimproves estimates precision

improves productivity

Page 34: You Say Tomato I Say Pomodoro

Multiple Inventories

One each pair/developer OR each workstation

The story owner is responsible to maintain the inventory OR whoever sits at the workstation

It contains tasks from the current storyIt contains tasks from QA storiesIt contains other technical tasks

Page 35: You Say Tomato I Say Pomodoro

Inventory: iteration One

SIGNUP NEWSLETTER:- @signup create form page 6- @signup handle validation errors 4- @signup form to create a new newsletter 6 (SPLIT)- @signup async process to send emails at intervals 6 (SPLIT)- @signup confirmation page 3

SPIKES: - @spikes how to create async process with framework X? 3

INBOX:

Page 36: You Say Tomato I Say Pomodoro

Inventory Iteration Two

SHOW TWEETS:- @tweet setup twitter account for procuct 1 (NEW)- @tweet async process to download tweets locally 5 (SPLIT)- @tweet create tweets sidebar on the page 4 (SPLIT)- @tweet retrieve list of tweets from file 2 (SPLIT)

SIGNUP NEWSLETTER:- @signup more specific error messages 2 (QA)[...]

Page 37: You Say Tomato I Say Pomodoro

Today Todo 8.30amSCHEDULE:8am => 12pm, 1pm => 5pm

PLANNED 14 notice the total here:- @signup create form page 6- @signup handle validation errors 4- @signup form to create a new newsletter 6 what’s wrong?

DONE:- @planning 1 => 1

NOT DONE:STANDUP:- @today should be able to close form

POMOSPECTIVE:- @good think positive planning 14 solid pomodoros

INTERRUPTS:

Page 38: You Say Tomato I Say Pomodoro

Today Todo 1pmSCHEDULE:8am => 12pm, 1pm => 5pm

PLANNED 14:- @signup handle validation errors 4 => 1- @signup form to create a new newsletter 6

DONE:- @signup create form page 6 => 5 overestimated

NOT DONE: /STANDUP:

[......]

Page 39: You Say Tomato I Say Pomodoro

Today Todo 5pmSCHEDULE:8am => 12pm, 1pm => 5pm

PLANNED 14:

DONE 12: overall a productive day- @planning 1 => 1- @signup create form page 6 => 5- @signup handle validation errors 4 => 6

NOT DONE:- @signup handle validation errors 4 => 6 underestimate and still WIP- @signup form to create a new newsletter 6

INTERRUPTS:- @external unexpected call from customer, voided

Page 40: You Say Tomato I Say Pomodoro

Today Todo Next DaySCHEDULE:10 am => 12pm, 1pm => 5pm company gathering day

PLANNED 10:- @signup handle validation errors 2 re-estimate from yesterday- @signup form to create a new newsletter 6 not done yesterday- @signup confirmation page 3 new from inventory

DONE:NOT DONE:

STANDUP:- @yesterday done form for submission- @today completing form related stuff like validation

POMOSPECTIVE:- @good productivity yesterday- @bad understimated the task

Page 41: You Say Tomato I Say Pomodoro

Multiple Pomodoros

One Pomodoro each pairOR one Pomodoro per workstation

Start/stop negotiationFlexibility

Team Integration

Page 42: You Say Tomato I Say Pomodoro

Protects Pomodoros for the whole teamEffective if team is co-located

Again inform, negotiate, reschedule

Interrupt ShieldCoach - ScrumMaster

Page 43: You Say Tomato I Say Pomodoro

Use Pomospective and Session Standup

More effective team standup

Ready for Session Workflow

Team Standup

Page 44: You Say Tomato I Say Pomodoro

First Pomodoro: first developer writes tests, second

developer writes code

Next Pomodoro:Invert roles

Ping Pong Pair Pomo

Page 45: You Say Tomato I Say Pomodoro

Decide target time (i.e. lunch)

Allow 15 mins synchronization

Do not start new Pomodoro if now = (target-time - 15 mins)

Collective Breaks

Page 46: You Say Tomato I Say Pomodoro

Don’t bug the team if you’re on a break

Use another room or the kitchen

A couch is great for micro-naps

Break Room

Page 47: You Say Tomato I Say Pomodoro

Pomodoro effort over time

Pomodoro estimate accuracy

Pomodoro scattering

Pomodoro by tag

Metrics

Page 48: You Say Tomato I Say Pomodoro

Manual insert from paper or file to Excel

Mash-up of scripts and tools

Dedicated software still missing

A few examples

Collecting the data

Page 49: You Say Tomato I Say Pomodoro
Page 50: You Say Tomato I Say Pomodoro
Page 51: You Say Tomato I Say Pomodoro
Page 52: You Say Tomato I Say Pomodoro

Conclusions

Page 53: You Say Tomato I Say Pomodoro

8 hours != 16PMeasuring in Pomodoros is like measuring the quality work

12P ~ 8-10 hoursInclude quality when exporting

from Pomodoros to Hours

A measure for quality

maybe more

Page 54: You Say Tomato I Say Pomodoro

A commitment to your brainBreaks are planned as well as work

Establish Rhythm

Steady and sustainable paceConfidence

Big project connected to short term cycle

Breaks First Class Citizens

Page 55: You Say Tomato I Say Pomodoro

A Pomodoro is a 30 mins project

Frequent changes, tracking, estimation, focus, interaction, scope, negotiation etc.

Rule the Pomodoro to rule them all!User Stories, Tasks, Iterations, Projects, Everything!

Mikrokosmos

Page 56: You Say Tomato I Say Pomodoro

Task execution under controlLearn how to improve

High quality and consistent workBetter estimates

Feeling of accomplishmentConsistent level of energy

Results

Page 57: You Say Tomato I Say Pomodoro

Resources

The Pomodoro Technique: http://www.pomodorotechnique.comThe Pomodoro Book: www.pomodoro-book.comThe original paper: http://www.pomodorotechnique.comKeeptempo: www.keeptempo.comPomodori, my timer: http://reborg.github.com/pomodoriPomodoro, another good timer: http://pomodoro.ugolandini.com/

Special thanks to Ana Calliari for her wonderful Callani font http://www.anacalliari.com/

Page 58: You Say Tomato I Say Pomodoro

Thank you