Недавно у меня был такой случай. У одного разработчика было задание, которое мы разбили на 3 не связанные между собой подзадачи.
- подзадача 1 - время выполнения 1/2 дня (`t_{1}=1d=8h`);
- подзадача 2 - время выполнения 1 час (`t_{2}=1h`);
- подзадача 3 - есть два несовместимых варианта решения :
- вариант А - пол дня (`t_{3}^A=1h`)
- вариат - B 3 дня (`t_{3}^B=3d = 24h`).
Я бы работал по следующему плану:
- отправил письмо заказчику;
- подзадача 1;
- подазача 2 ;
- если не получен ответ то приступил бы к подзадаче 3, вариант Б.
- по получении ответа либо продолжил бы делать вариант Б либо переключился на вариант А
Разработчик же решил делать так:
- отправил письмо заказчику;
- подзадача 3, вариант Б (который 3 дня);
- получил ответ от заказчика (угадал - т.е. вариант Б+)
- подзадача 1;
- подзадача 2;
Дальше для тех, кто любит математику:
Сначала мой случай.
Максимальное время на выполнение всего задания (худший случай) при моем подходе:
`T_{my}^{max} = t_{email,1,2} + max( (t_{reply}^{slow} - t_{email,1,2} + t_3^A), t_3^B ) =`
`= 1/2h + 4h+1h +max ((1d - 1/2h-4h-1h),3d) =`
`= 5 1/2h +max ((2 1/2h), 3d) = 29 1/2 h`,
где `t_{email,1,2} = t_{email} + t_1 + t_2`;`= 1/2h + 4h+1h +max ((1d - 1/2h-4h-1h),3d) =`
`= 5 1/2h +max ((2 1/2h), 3d) = 29 1/2 h`,
Минимальное время на выполнение всего задания (лучший случай) при моем подходе:
`T_{my}^{min}= t_{email,1,2} + min( (t_{reply}^{slow} - t_{email,1,2} + t_3^A), t_3^B ) = 8 h `
Вероятность худшего случая при моем подходе :
`P_{my}^{max} = P_3^B = 90%`
Мат. ожидание времени выполнения при моем подходе:
`E[T_{my}] = P_{my}^{max} * T_{my}^{max} + (1-P_{my}^{max}) * T_{my}^{min} = `
` = 90 % * 29 1/2 h + 10% * 8h = 27.35 h `
Максимальное время на выполнение всего задания (худший случай) при подходе разработчика: ` = 90 % * 29 1/2 h + 10% * 8h = 27.35 h `
Теперь подход разработчика.
`T_{dev}^{max}= t_{email}+max(t_{reply}^{slow} + t_3^A, t_3^B) + t_{1,2} =`
`= 1/2h + max(1d + 1/2d,3d) + 4h + 1h = 29 1/2 h`
`= 1/2h + max(1d + 1/2d,3d) + 4h + 1h = 29 1/2 h`
Минимальное время на выполнение всего задания (лучший случай) при подходе разработчика:
`T_{dev}^{min} = t_{email}+min(t_{reply}^{slow} + t_3^A, t_3^B) + t_{1,2} = 14h`
Вероятность худшего случая при подходе разработчика:
`P_{dev}^{max} = P_{email}^{long}= 50%`
Мат. ожидание времени выполнения при подходе разработчика:
`E[T_{dev}] = P_{dev}^{max} * T_{dev}^{max} + (1-P_{dev}^{max}) * T_{dev}^{min} =`
` = 50 % * 29 1/2 h + 50% * 14h = 21.75 h `
` = 50 % * 29 1/2 h + 50% * 14h = 21.75 h `
Т.о. подход разработчика, дает меньшее ожидаемое время исполнения, хотя в лучшем случае и занимает большее время.
No comments:
Post a Comment