Alexey Tigarev ([info]t_gra) wrote,
@ 2005-06-10 10:49:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current music:Athmospheric drum'n'bass - Slice of Soul
Entry tags:programming, project_management, time_management

Оценка необходимого времени
Чтобы оценить, сколько времени займёт написание программы, нужно написать программу. Вместо "написание программы" можно подставить любую другую довольно сложную по структуре работу..

Уважаемые френды, а каким образом вы оцениваете необходимое вам время на какую-либо работу?




(Post a new comment)


[info]bod_hi
2005-06-10 08:31 am UTC (link)
Есть статистика, обычно на неё ориентируются при оценике времени на нетривиальное задание

(Reply to this) (Thread)


[info]t_gra
2005-06-10 08:33 am UTC (link)
А где она есть, эта статистика?

(Reply to this) (Parent)(Thread)


[info]bod_hi
2005-06-10 08:41 am UTC (link)
Если компания большая, то там и есть.
Иначе самому набирать ;-)

(Reply to this) (Parent)(Thread)


[info]t_gra
2005-06-10 09:02 am UTC (link)
Хорошо. А как эта статистика должна выглядеть, как представляться - чтобы знать, что искать или что набирать?

(Reply to this) (Parent)(Thread)


[info]bod_hi
2005-06-10 09:14 am UTC (link)
Я этим не занимался, только сам собирал информацию ;-)
Поинтересуйся у IT аналитиков

(Reply to this) (Parent)(Thread)


[info]t_gra
2005-06-10 09:20 am UTC (link)
Мне больше всего интересна оценка своей личной работы.
Когда другие люди есть, их работу я обычно как-то могу сделать предсказуемой.
Свою - не столь..
Как ты собирал сам информацию?
Вот ты захотел написать "Алфавит" для мобилы, как ты знал, сколько это у тебя времени займёт? Или не знал?

(Reply to this) (Parent)(Thread)


[info]bod_hi
2005-06-10 10:23 am UTC (link)
Знал.
Обычно я не сразу приступаю к такого типа мелким задачам, сначала несколько дней в голове прокручиваю что к чему.
Люблю разделить на несколько частей, после окончания каждой из которых можно видеть результат.

(Reply to this) (Parent)


[info]_glav_
2005-06-10 08:37 am UTC (link)
некорректно.
1) в такой постановке ключевое слово "оценить". после "написания программы" можно будет уже достоверно узнать затраченное время
2) формулировка неполная. Либо имелось ввиду "Чтобы оценить, сколько времени займёт написание новой программы, нужно написать аналогичную программу", тогда утвердение становится корректным, либо "Чтобы оценить, сколько времени займёт написание этой программы, нужно написать эту программу" - тогда см п 1).

(Reply to this) (Thread)


[info]t_gra
2005-06-10 09:00 am UTC (link)
Я имею в виду "Чтобы оценить, сколько времени займёт написание этой программы, нужно написать эту программу".
Чем отличается "оценить" и "достоверно узнать"? Оценить - это всегда недостоверно? Тогда это бессмысленно делать, не так ли?

(Reply to this) (Parent)(Thread)


[info]_glav_
2005-06-10 10:01 am UTC (link)
я считаю, что "оценить" - это "прикинуть", найти допустимые границы, положение которых определённым образом обосновано.

Да, оценить - это всегда недостоверно. Недостоверно на 100 %. Но вероятность предсказать - можно. Например, "с вероятностью 90% я могу сделать это за время от 3х до 5и недель" но уже "с вероятностью 80% я могу сделать это за время от 25 до 30 дней".
Т.е. "оценить" в данном случае - это определить временнЫе рамки и степень уверенности в том, что работа будет выполнена именно в эти рамки.

Очевидно, что с сужением временнЫх рамок уменьшается вероятность предсказать возможность сделать работу именно в этих рамках. В пределе, временнЫе рамки сужаются до единственного момента, и вероятность предсказать возможность сделать за это время работу становится равной 0. Видимо, ты как раз и имеешь ввиду этот предельный случай, говоря об "оценке".

(Reply to this) (Parent)(Thread)


[info]t_gra
2005-06-10 10:11 am UTC (link)
То есть оценить - суть построить функцию распределения вероятности завершить работу в такой-то срок. Ну или в бытовом смысле - представить себе несколько точек на этой кривой. Так?

Очевидно, что с сужением временнЫх рамок уменьшается вероятность предсказать возможность сделать работу именно в этих рамках. В пределе, временнЫе рамки сужаются до единственного момента, и вероятность предсказать возможность сделать за это время работу становится равной 0. Видимо, ты как раз и имеешь ввиду этот предельный случай, говоря об "оценке".
Тут ты уже говоришь о "вероятности предсказать", а не о "вероятности сделать работу". Что означают "временные рамки" в данном случае?

(Reply to this) (Parent)(Thread)


[info]_glav_
2005-06-10 10:44 am UTC (link)
То есть оценить - суть построить функцию распределения вероятности завершить работу в такой-то срок. Ну или в бытовом смысле - представить себе несколько точек на этой кривой. Так?
Да. Если учесть, что в основном от нас требуется ответ "за какое время будет точно выполнена работа", т.е. вероятность по "постановке" должна быть равна 100%, то практически эта кривая вырождается в 1 точку (или 2, смотря что считать "точкой").

Тут ты уже говоришь о "вероятности предсказать", а не о "вероятности сделать работу". Что означают "временные рамки" в данном случае?

Понятие "вероятность сделать работу" вступает в силу, когда этап предварительных обсуждений о сроках пройден. Во-первых, работу не сделать нельзя. Т.е. ты уже договорился (с заказчиком, с самим собой) что "я делаю эту работу минимум за Х дней, максимум за У дней". И тут ты можешь ставить вопрос (для себя, например) о вероятности сделать эту работу за Х+1 день или за У-3 дня.

Понятие "вероятность предсказать возможность сделать работу" относится к этапу планирования. До начала работы ты можешь только предсказывать, как она "пойдёт". Ты никак не можешь с точностью до "времени печатания одного символа" (минимальная единица времени в написании программы - условно) сказать время написания. Вероятность этого события равна 0. Так же как и вероятность того, что молекула имеет скорость точно 300 м/с равна 0. Планируя сроки в "днях" ты уже освобождаешь себя в рамках какого-то диапазона (не раньше 00.00 и не позже 24.00 такого-то дня - условно). Расширяя сроки диапазона, ты даёшь себе бОльшую свободу в предсказании вероятности сделать работу.

(Reply to this) (Parent)


[info]ex_sbobrovsk689
2005-06-10 10:19 am UTC (link)

http://russianenterprisesolutions.com/meto/psp.html

Согласно статистике, внедрение PSP снижает число ошибок в программах в среднем на 73%, точность оценки объема предстоящих работ возрастает на 26%, точность оценки времени работы над проектом - на 40%. При этом производительность труда программистов (число строк кода в час) увеличивается на 21%.

В разделе
http://russianenterprisesolutions.com/metodology.html
много чего на эту тему, лет 10 ее изучаю :)

(Reply to this) (Thread)


[info]t_gra
2005-06-10 10:34 am UTC (link)
Спасибо, пробежал взглядом - стоит таки поинтересоваться PSP :)
Похоже, это как раз и есть описание того, как "собирать статистику" и учитывать обратную связь (реальное время/кол-во ошибок vs ожидаемое).

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…