• 沒有找到結果。

Evidence-­‐ based   Scheduling

N/A
N/A
Protected

Academic year: 2022

Share "Evidence-­‐ based   Scheduling"

Copied!
16
0
0

加載中.... (立即查看全文)

全文

(1)

Scheduling

Michael  Tsai 2017/5/23

(2)

Reference

› http://www.joelonsoftware.com/items/2007/10/2 6.html

(3)

Why  do  you  need  a  schedule?

› Bad  example  (no  schedule):

› Amtrak’s  Acela:  express  train  from  Boston  to   Washington,  DC

PR  campaign  starts  before  it  finishes:  看得到吃不到

› Lotus  1-­‐2-­‐3  v.s.  Microsoft  Excel

› Netscape  5.0:  2  years  late,  80%à 20%

› Why?  ‘Cause  the  programmers  do  not  want  to  make  a   schedule.

› No  use.  Not  realistic

› Real  pain  in  the  ***

(4)

Amtrak’s  Acela

(5)

Lotus  1-­‐2-­‐3

(6)

Break’er down

› Time  unit:  hours,  not  days  (nothing  more  than  16   hrs)

› It  forces  you  to  figure  out  the  details  (start  to   design)

› (no  details,  then  no  way  to  figure  out  the  time)

(7)

Track  elapsed  time

› Estimate  is  always  wrong  (almost):

› Unpredictable  bugs

› Interruptions

› (Hard  drive/machine  failure)

› (火災警報)

› (老師突然請導生宴)

› Know  how  much  time  you  

ACTUALLY  spent  on  each  task

› Get  the  velocity  (斜率)

(8)

Track  elapsed  time

› The  velocity can  be:

› 1.0  1.0  1.0  1.0  ….

› 0.1,  0.5,  1.7,  0.2,  1.2,  0.9,  13.0,  ….

› 0.6,  0.5,  0.6,  0.6,  0.5,  0.6,  0.7,  0.6,  ….

(9)

Simulate  the  Future

› Monte  Carlo  method:  create  100  possible   scenarios  for  the  future.  

Each  of  these  possible  futures  has  1%  probability,   so  you  can  make  a  chart  of  the  probability  that   you  will  ship  by  any  given  date.  

› 1.0  1.0  1.0  1.0  ….

› 0.1,  0.5,  1.7,  0.2,  1.2,  0.9,  13.0,  ….

› 0.6,  0.5,  0.6,  0.6,  0.5,  0.6,  0.7,  0.6,  ….

› Holidays,  vacations,  etc.

Estimate: 4 8 2 8 16

Random   Velocity:

(from  history)

0.6 0.5 0.6 0.6 0.5 Total:

E/V: 6.7 16 3.3 13.3 32 71.3

(10)

disorder  not  required

› How  do  we  accounts  for  all  sorts  of  interruptions?

› As  long  as  we  keep  the  clock  running  when  we  are   interrupted,  we  are  fine.

› Original  estimates:  {2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  …  }  

› Actual  time  with  interruptions:{2,  2,  2,  2,  4,  2,  2,  2,   2,  4,  2,  …  }  

› Velocities:  {1,  1,  1,  1,  0.5,  1,  1,  1,  1,  0.5,  1,  …  }  

› Monte  Carlo  simulations  take  the  probability  of   interruptions  into  account!

(11)

2  types  of  programmers

› When  developers  get  interrupted,  they  can  either  

› make  a  big  stink  about  putting  the  interruption  on  their   timesheet  and  in  their  estimates,  so  management  can   see  just  how  much  time  is  being  wasted  on  fishing   conversation,  or  

› make  a  big  stink  about  refusing  to  put  it  on  their  

timesheet,  just  letting  the  feature  they  were  working  on   slip,  because  they  refuse  to  pad  their estimates  which   were  perfectly  correct with  stupid  conversation  about   fishing  expeditions  to  which  they  weren’t  even  invited.

› EBS  gives  the  same  results.

(12)

actively

(13)

Buffer  in  the  schedule

› New  feature  ideas  

› Responding  to  the  competition  

› Integration  (getting  everyone’s  code  to  work   together  when  it’s  merged)  

› Debugging  time  

› Usability  testing  (and  incorporating  the  results  of   those  tests  into  the  product).  

› Beta  tests  

(14)

Will  it  converge  and  lower?

(15)

A  few  more  points:

1. Only  the  programmer  doing  the  work  can  create   the  estimate.

2. Fix  bugs  as  you  find  them,  and  charge  the  time   back  to  the  original  task.

3. Don’t  let  managers  badger  developers  into   shorter  estimates.

4. A  schedule  is  a  box  of  wood  blocks.

“use  it  as  a  chance  to  remove  unnecessary  features“

(16)

daily  tasks?

參考文獻

相關文件

 make a big stink about refusing to put it on their tim esheet, just letting the feature they were working on slip, because they refuse to pad their estimates which were

The key to the performance of the agent-based multicast strategy is the scheduling of message forwarding between agents as well as between an agent and the destination processors

書房 臥室 客廳 電力線控制網路 (HPCC)..

The booklet is divided into four chapters, which cover the spirit and governance framework of school-based management, scope of school- based management, roles

(a) The principal of a school shall nominate such number of teachers of the school for registration as teacher manager or alternate teacher manager of the school as may be provided

These include new curriculum and standards frameworks, a range of professional development programmes, autonomy for schools to select and manage staff, flexibility in the use

Based on “The Performance Indicators for Hong Kong Schools – Evidence of Performance” published in 2002, a suggested list of expected evidence of performance is drawn up for

Most stakeholders including supervisors, principals, teacher managers, parent managers, alunmi managers and independent managers of IMC schools were of the view that IMC