Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Time Boxing

6 029 vues

Publié le

In this session I'll try to explain how you can increase your effectiveness getting the things done splitting up big tasks in small tasks timeboxed in slots of 30 minutes.

Publié dans : Technologie, Économie & finance
  • Identifiez-vous pour voir les commentaires

Time Boxing

  1. 1. Time Boxing Antonio Terreno ThoughtWorks UK Away Day 23 June 2007
  2. 2. Agenda <ul><li>What is time boxing? </li></ul><ul><li>Why? </li></ul><ul><li>How? </li></ul><ul><li>When? </li></ul><ul><li>Tools? </li></ul>
  3. 3. But first of all <ul><li>Why are you attending here? </li></ul>
  4. 4. Ok, Timeboxing <ul><li>Wikipedia says: </li></ul><ul><ul><li>In Project management, a timebox is a period of time in which to accomplish some task. </li></ul></ul><ul><ul><li>The end date is set in stone and may not be changed. </li></ul></ul><ul><ul><li>If the team exceeds the date, the work is considered a failure and is cancelled or rescheduled. </li></ul></ul><ul><ul><li>Some timeboxes allow the team to adjust the scope of the task in order to meet the deadline. </li></ul></ul>
  5. 5. But I am not a PM! <ul><li>What if we think in the same way in the small? </li></ul><ul><ul><li>Split a story in tasks </li></ul></ul><ul><ul><li>The end is still set in stone </li></ul></ul><ul><ul><li>If I exceed the time I cancel the activity or I reschedule it </li></ul></ul>
  6. 6. Some history <ul><li>Rick Mugridge wrote once upon a time (2003) a paper on micro iteration in XP </li></ul><ul><li>He wrote: </li></ul><ul><ul><li>Micro-iterations are missing some explicit elements from the iteration level </li></ul></ul><ul><ul><ul><li>Stories </li></ul></ul></ul><ul><ul><ul><li>The Planning Game to prioritize stories </li></ul></ul></ul><ul><ul><ul><li>Time boxing </li></ul></ul></ul><ul><li>And then: </li></ul><ul><ul><li>For people learning to apply TDD, it may be useful to suggest time boxing of a few minutes to get them used to cycling quickly (Kent Beck) </li></ul></ul><ul><ul><li>Ron Jeffries reacted on the XP ML asking what if we always timebox micro iterations? </li></ul></ul>
  7. 7. Ok maybe is not a bad idea to time box <ul><li>I found it good with people not used to the TDD rhythm </li></ul><ul><ul><li>The Delaney experiment </li></ul></ul><ul><li>I found it good not only for this, I think that you can have value also as a skilled dev </li></ul>
  8. 8. How then <ul><li>30 min boxes </li></ul><ul><li>We have a task, we estimate how many slot to finish it. </li></ul><ul><li>If the task needs to many boxes, let’s split the task in sub tasks </li></ul><ul><li>After each slot we take a break </li></ul><ul><ul><li>No complex activities </li></ul></ul><ul><ul><li>5 min </li></ul></ul><ul><li>After 4-5 slots a longer break </li></ul><ul><li>No interruptions at all during the box </li></ul>
  9. 9. Timebox Format <ul><li>A post it or a story card </li></ul><ul><li>Task name, indeed </li></ul><ul><li>Slot estimation, how many slots in order to complete the task </li></ul><ul><li>Real number of slot used to complete the task </li></ul><ul><li>Keep it simple </li></ul>
  10. 10. Objectives <ul><li>Tracking progress </li></ul><ul><li>Improve Estimation </li></ul><ul><li>Avoid Distractions </li></ul><ul><ul><li>External </li></ul></ul><ul><ul><li>Internal </li></ul></ul><ul><li>Avoid Perfectionism </li></ul><ul><li>Increase assimilation </li></ul>
  11. 11. Tracking progress <ul><li>We we’ll have a fine grain tracking of what we are doing </li></ul><ul><li>A deep knowledge of what is blocking us </li></ul><ul><li>What is speeding up us </li></ul><ul><li>What can be improved in our process </li></ul>
  12. 12. Improve Estimation <ul><li>We’ll have to estimate every morning </li></ul><ul><li>Typical day is </li></ul><ul><ul><li>8.30 allocate one box for planning and estimating </li></ul></ul><ul><ul><li>9.00 start with the tasks of the day </li></ul></ul><ul><li>Every day you will have to estimate what you can achieve everyday day </li></ul><ul><ul><li>The biggest consequence is that you will have a better idea of the (in)famous ideal day </li></ul></ul><ul><li>Allocate boxes for ANY task: email check, meetings, … </li></ul><ul><li>It’s easy to see then that a day with 16 boxes is impossible, that’s the ideal day, right? </li></ul>
  13. 13. Avoid distractions <ul><li>The box is not interruptible </li></ul><ul><ul><li>Team&pair communication of course is part of the task completion </li></ul></ul><ul><ul><li>Phone calls are not </li></ul></ul><ul><ul><li>Googleing is not (if needed to achieve the task will be timeboxed as well) </li></ul></ul><ul><ul><li>No email check </li></ul></ul><ul><li>So external but also internal distractions </li></ul>
  14. 14. Avoid Perfectionism <ul><li>Sometimes it happens… </li></ul><ul><ul><li>Over design </li></ul></ul><ul><ul><li>Over engineered </li></ul></ul><ul><ul><li>Complex solutions </li></ul></ul><ul><li>Allocating a concrete number of boxes for a story should prevent to spend to much time on not valuable tasks </li></ul><ul><li>A bunch of boxes can be always allocated for refactoring, design changes and so on, if needed </li></ul><ul><li>Avoid YAGNI </li></ul>
  15. 15. Assimilation <ul><li>The break is for two main reasons </li></ul><ul><ul><li>Assimilate what we just did, it looks like that human brain works well for 20 to 40 min, it takes a bit to serialize then all the infos (I/O is slower!) </li></ul></ul><ul><ul><li>Have a sustainable pace </li></ul></ul><ul><ul><li>RSI guys will be happy </li></ul></ul><ul><li>The tube/bed solution, never happened to you? </li></ul><ul><ul><li>Working hard during the whole day, blocked on some silly problem </li></ul></ul><ul><ul><ul><li>Find the solution on the lift, in tube or in the pub </li></ul></ul></ul><ul><ul><li>Lift tube pub depends on how much tired you were! </li></ul></ul>
  16. 16. Consequences <ul><li>Improved Effectiveness </li></ul><ul><li>Improved Productivity </li></ul><ul><li>Improved Focus </li></ul><ul><li>Improved Consciousness </li></ul>
  17. 17. Consequences <ul><li>We are aware of time </li></ul><ul><ul><li>Time in the end is a sequence of events </li></ul></ul><ul><li>We can focus and prioritize the tasks that really mater </li></ul><ul><ul><li>MoSCoW prioritizing, but finer grain, code level </li></ul></ul><ul><li>It’s a good tool against procrastination </li></ul><ul><li>We know better what we did </li></ul><ul><li>What we accomplished and what not </li></ul>
  18. 18. It may be useful for… <ul><li>Uninteresting, boring tasks </li></ul><ul><ul><li>Well, I can do it, it’s just for 30 min! </li></ul></ul><ul><li>Very good for rolling back tasks </li></ul><ul><ul><li>Chosen a wrong solution </li></ul></ul><ul><ul><li>Allocated N boxes </li></ul></ul><ul><ul><li>Fail, rollback and choose another solution </li></ul></ul>
  19. 19. When? <ul><li>Dave Cheong uses Time Boxing even for Xmas gifts </li></ul><ul><li>As a Developer </li></ul><ul><ul><li>Spiking a solution </li></ul></ul><ul><ul><li>Performance fixes </li></ul></ul><ul><ul><li>Every day coding </li></ul></ul><ul><ul><li>Estimations sessions </li></ul></ul><ul><ul><li>When working unpaired </li></ul></ul><ul><li>As a Developer at home in order to tidy my flat </li></ul><ul><li>Spare time as well </li></ul><ul><ul><li>Blogging </li></ul></ul><ul><ul><li>Googleling </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li>Generally, doing activities </li></ul>
  20. 20. Tools <ul><li>Someone uses a physical device such as a Kitchen Timer </li></ul><ul><li>There are few free timers online </li></ul><ul><ul><li>It’s important that the tool will be simple </li></ul></ul><ul><ul><li>Delaney wrote Ntimer :) </li></ul></ul><ul><ul><li>I am trying to make it portable, it’s written in C# </li></ul></ul>
  21. 21. Open discussion <ul><li>… </li></ul>