Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Работа Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
сабж

Модератор: Тема перенесена из форума "ASP.NET".


Сообщение было отредактировано: 4 июн 20, 17:49
4 июн 20, 17:46    [22145826]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Команда разработчиков оценивает голосованием.
В 1,2,3,5 и.т.д условных единицы сложности.

По сути эта оценка мера "испуга". Или насколько сложным
и запутанным является сам текст задачи. Эта мера не подвергается
критике. Она просто принимается как данность.

Модератор: Тема перенесена из форума "Программирование".


Сообщение было отредактировано: 4 июн 20, 19:42
4 июн 20, 18:11    [22145839]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
bga83
Member

Откуда: Город герой Ленинград
Сообщений: 31243
mayton
Команда разработчиков оценивает голосованием.
В 1,2,3,5 и.т.д условных единицы сложности.
это атомарные задачи можно тка относительно внятно оценить. Но если стоит задача разработать некий продукт, который, скажем бы, в гартнеровском отчете попал бы в определенную категорию, то тут все намного сложнее.
4 июн 20, 19:50    [22145897]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Я не против. Оцените "сложнее".
4 июн 20, 19:54    [22145899]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
мне кажется реальнее вариант когда тимлид обсуждая с командой предлагает архитектуру
разбивает задачи на подзадачи чем меньше тем лучше
делает оценку времени со своей колокольни
потом эту оценку обсуждает с программистами, вносят коррективы
далее закладывает отпуска и неопределенности
оценка готова

пойдет?
4 июн 20, 20:35    [22145911]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
listtoview
сабж

Спокойно.

Двенадцать лет назад назад я выбил у руководства удалёнку. На следующих условиях: я оцениваю трудоёмкость задач, руководитель набирает их них задачи на неделю на 40 часов трудоёмкости, в следующий понедельник я их сдаю. Для себя я уложил в голову ещё три тезиса, которые не озвучивал начальнику, но помнил для себя:

  • если я не успеваю сделать задачи - я их делаю в выходные
  • если я начинаю профукивать сроки - руководство получает аргумент вернуть меня в офис
  • если я начинаю завышать оценки - руководство начинает думать, что я его обманываю, и ничем хорошим это не кончится.

Так вот, в результате я ни разу не сорвал сроки и очень быстро научился с хорошей точностью оценивать задачи. Просто был стимул.

mayton
Команда разработчиков оценивает голосованием.
В 1,2,3,5 и.т.д условных единицы сложности.

Имхо, это полная фигня. В том числе потому, что сложность и трудоёмкость - разные вещи. Допустим, у меня в команде есть программист Вася. Так вот:

- условную задачу 1 я сделаю за 3 часа, а Вася - за 4 часа
- условную задачу 2 я сделаю за 8 часов, а Вася - за 40 часов
- условную задачу 3 я сделаю за 40 часов, а Вася - за 20 часов, только моё решение сэкономит нам ещё 100 часов в течение следующего года.

Это вполне реальный расклад. И попытки оценить эти задачи в условных попугаях дадут очевидный бред.

Сообщение было отредактировано: 4 июн 20, 22:06
4 июн 20, 22:06    [22145941]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
softwarer
listtoview
сабж

Спокойно.

Двенадцать лет назад назад я выбил у руководства удалёнку. На следующих условиях: я оцениваю трудоёмкость задач, руководитель набирает их них задачи на неделю на 40 часов трудоёмкости, в следующий понедельник я их сдаю. Для себя я уложил в голову ещё три тезиса, которые не озвучивал начальнику, но помнил для себя:

  • если я не успеваю сделать задачи - я их делаю в выходные
  • если я начинаю профукивать сроки - руководство получает аргумент вернуть меня в офис
  • если я начинаю завышать оценки - руководство начинает думать, что я его обманываю, и ничем хорошим это не кончится.

Так вот, в результате я ни разу не сорвал сроки и очень быстро научился с хорошей точностью оценивать задачи. Просто был стимул.

mayton
Команда разработчиков оценивает голосованием.
В 1,2,3,5 и.т.д условных единицы сложности.

Имхо, это полная фигня. В том числе потому, что сложность и трудоёмкость - разные вещи. Допустим, у меня в команде есть программист Вася. Так вот:

- условную задачу 1 я сделаю за 3 часа, а Вася - за 4 часа
- условную задачу 2 я сделаю за 8 часов, а Вася - за 40 часов
- условную задачу 3 я сделаю за 40 часов, а Вася - за 20 часов, только моё решение сэкономит нам ещё 100 часов в течение следующего года.

Это вполне реальный расклад. И попытки оценить эти задачи в условных попугаях дадут очевидный бред.

ну вообщем все сводится к разбиению на подзадачи и моему методу
4 июн 20, 22:15    [22145952]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33549
Блог
softwarer

  • если я не успеваю сделать задачи - я их делаю в выходные
  • если я начинаю профукивать сроки - руководство получает аргумент вернуть меня в офис
  • если я начинаю завышать оценки - руководство начинает думать, что я его обманываю, и ничем хорошим это не кончится.

Так вот, в результате я ни разу не сорвал сроки и очень быстро научился с хорошей точностью оценивать задачи.


Странный подход, вы посмотрите на него с точки зрения руководства - если сроки ни разу не сорваны, то очевидно, что оценки всегда завышают и см ваш третий пункт.
4 июн 20, 22:17    [22145954]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
а вот например как поступить?

надо смски чз билайн отправлять
а они тестовый стенд не могут развернуть
а когда проект просчитывали ессно никто такого не предполагал
тупо жду когда дадут апи
срок 17 06 окончание проекта

т.е я имею ввиду что изначально это невозможно предсказать
4 июн 20, 22:19    [22145958]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
nnalogovik
Member

Откуда:
Сообщений: 156
softwarer
listtoview
сабж

Спокойно.

Двенадцать лет назад назад я выбил у руководства удалёнку. На следующих условиях: я оцениваю трудоёмкость задач, руководитель набирает их них задачи на неделю на 40 часов трудоёмкости, в следующий понедельник я их сдаю. Для себя я уложил в голову ещё три тезиса, которые не озвучивал начальнику, но помнил для себя:

  • если я не успеваю сделать задачи - я их делаю в выходные
  • если я начинаю профукивать сроки - руководство получает аргумент вернуть меня в офис
  • если я начинаю завышать оценки - руководство начинает думать, что я его обманываю, и ничем хорошим это не кончится.

Так вот, в результате я ни разу не сорвал сроки и очень быстро научился с хорошей точностью оценивать задачи. Просто был стимул.

mayton
Команда разработчиков оценивает голосованием.
В 1,2,3,5 и.т.д условных единицы сложности.

Имхо, это полная фигня. В том числе потому, что сложность и трудоёмкость - разные вещи. Допустим, у меня в команде есть программист Вася. Так вот:

- условную задачу 1 я сделаю за 3 часа, а Вася - за 4 часа
- условную задачу 2 я сделаю за 8 часов, а Вася - за 40 часов
- условную задачу 3 я сделаю за 40 часов, а Вася - за 20 часов, только моё решение сэкономит нам ещё 100 часов в течение следующего года.

Это вполне реальный расклад. И попытки оценить эти задачи в условных попугаях дадут очевидный бред.


А если в результате написанный на удаленке код падает на продакшене 2-3 раза в неделю со страшными Segmentation Fault и совершенно не понятно как фиксать ?

Сразу возвращаем обратно в офисе или продолжаем фигачить баги на удаленке ?
4 июн 20, 22:20    [22145959]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
xerxf
Member

Откуда:
Сообщений: 118
по сабжу - ещё сильно от постановки задачи зависит.
"Сделай красиво" - это одно. Нормальная постановка или даже постановка с разбивкой на подзадачи - совсем другое
4 июн 20, 22:22    [22145961]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
Критик
Странный подход, вы посмотрите на него с точки зрения руководства

Посмотрите на него с позиции руководства, которому нужен хороший результат - и Вы увидите, что он совершенно не странен. Там было ещё несколько мелких деталей, которые я не упомянул. Во-первых, если руководитель не понимал, чем вызвана назначенная мной трудоёмкость, он спрашивал пояснений. Во-вторых, если я считал какие-либо задачи рискованными в плане сроков, то не позволял ставить больше одной такой задачи в неделю. В-третьих, если задачу было совсем невозможно оценить, мы назначали срок "сколько копаем, после чего заново думаем по результатам накопанного". Ну и наконец, руководитель сам был приличным программистом и честным человеком, поэтому за всё время сотрудничества у нас не возникало принципиальных расхождений в оценках.
4 июн 20, 22:26    [22145966]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
xerxf
Member

Откуда:
Сообщений: 118
listtoview
а вот например как поступить?

надо смски чз билайн отправлять
а они тестовый стенд не могут развернуть
а когда проект просчитывали ессно никто такого не предполагал
тупо жду когда дадут апи
срок 17 06 окончание проекта

т.е я имею ввиду что изначально это невозможно предсказать


на этот случай существует древний принцип - "Чем больше бумаг, тем чище жопа". Пишите письма, напрягайте менеджеров (они в том числе и за разруливание всего этого деньги получают), ставьте задачи в трекере. Либо все начнут шевелиться и проект пойдёт либо у вас будет объективная причина задержки. Причём будет видно, что вы с ней боролись по мере сил. Ну "не шмогла я, не шмогла" (с)
4 июн 20, 22:27    [22145969]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
nnalogovik
А если в результате написанный на удаленке код падает на продакшене 2-3 раза в неделю

Написанный код передавался в отдел тестирования, и в течение следующей недели они гоняли его в хвост и в гриву. К моменту выхода в продакшн набрался приличный объём автотестов, накрывающих основные сценарии использования. В итоге... я не вспомню ни одной серьёзной проблемы на продакшне. Какие-то мелкие баги, наверное, всё-таки были - не помню - но такого, чтобы "бросай то, что сейчас делаешь, и беги чинить" - ни разу.

nnalogovik
со страшными Segmentation Fault и совершенно не понятно как фиксать ?

Знаете, если у вас такие проблемы - попробуйте нанять программиста.
4 июн 20, 22:39    [22145978]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
nnalogovik
Member

Откуда:
Сообщений: 156
softwarer
nnalogovik
А если в результате написанный на удаленке код падает на продакшене 2-3 раза в неделю

Написанный код передавался в отдел тестирования, и в течение следующей недели они гоняли его в хвост и в гриву. К моменту выхода в продакшн набрался приличный объём автотестов, накрывающих основные сценарии использования. В итоге... я не вспомню ни одной серьёзной проблемы на продакшне. Какие-то мелкие баги, наверное, всё-таки были - не помню - но такого, чтобы "бросай то, что сейчас делаешь, и беги чинить" - ни разу.

nnalogovik
со страшными Segmentation Fault и совершенно не понятно как фиксать ?

Знаете, если у вас такие проблемы - попробуйте нанять программиста.


Удаленка требует наличия у программистов чувства ответственности, любви к своей работе и мозгов.

Если у Вас все это присутствует - отлично.

Часто бывает что что то отсутствует и тогда спасайся кто может
4 июн 20, 22:49    [22145982]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
nnalogovik
Часто бывает что что то отсутствует и тогда спасайся кто может

Зачем? Это тот случай, который решается оргмерами. Можно возвращать в офис, можно думать о той или иной форме сдельщины по фактическому объёму. Лично я как руководитель не стал бы возиться с сотрудником, который не в состоянии работать без погонщика. Это просто неэффективно.

+
Да, и у лучших сотрудников бывает, что производительность страдает из-за каких-то событий в жизни и других подобных факторов. Но в этом случае надо поговорить, объяснить и претензий не будет. А если человек разбалтывается, халявит и не собирается приходить в норму - с ним лучше попрощаться, имхо.
4 июн 20, 23:13    [22145998]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
bga83
Member

Откуда: Город герой Ленинград
Сообщений: 31243
listtoview
мне кажется реальнее вариант когда тимлид обсуждая с командой предлагает архитектуру
архитектура не задача тим.лида, это обюязанность архитектора


listtoview
а вот например как поступить?

надо смски чз билайн отправлять
а они тестовый стенд не могут развернуть
а когда проект просчитывали ессно никто такого не предполагал
тупо жду когда дадут апи
срок 17 06 окончание проекта

т.е я имею ввиду что изначально это невозможно предсказать
диаграммы ганта придуманы не просто так, по ним в общем-то есть возможность оценить запасы сроков по тем или иным процессам, а так же понять заранее что сроки сползают. Что делать? - общаться, договариваться. по договорам то подрядчик когда должен был подобный сервис предоставить?
4 июн 20, 23:49    [22146009]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
listtoview
а вот например как поступить?

надо смски чз билайн отправлять
а они тестовый стенд не могут развернуть

В те времена, когда я занимался заказной разработкой, на этот счёт в договор писался пункт о том, что при простое по вине заказчика все сроки автоматически сдвигаются на величину простоя.
4 июн 20, 23:53    [22146012]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
softwarer
Двенадцать лет назад назад я выбил у руководства удалёнку. На следующих условиях: я оцениваю трудоёмкость задач, руководитель набирает их них задачи на неделю на 40 часов трудоёмкости, в следующий понедельник я их сдаю. Для себя я уложил в голову ещё три тезиса, которые не озвучивал начальнику, но помнил для себя:

  • если я не успеваю сделать задачи - я их делаю в выходные
  • если я начинаю профукивать сроки - руководство получает аргумент вернуть меня в офис
  • если я начинаю завышать оценки - руководство начинает думать, что я его обманываю, и ничем хорошим это не кончится.

Так вот, в результате я ни разу не сорвал сроки и очень быстро научился с хорошей точностью оценивать задачи. Просто был стимул.
Хм, получается, что все риски вы берёте на себя.
Понятно, что вы обязательно будете ошибаться в оценке, как и любой житель Земли, но работа по найму не предполагает оплату рисков работниками.
Т.е. вы, конечно, можете сказать, что сумели научиться оценивать невероятно точно, и дополнительно работаете без оплаты всего 20% времени, что компенсируется высокой з/п, но это совет "не для всех", его неправильно давать в ответ на вопрос в паблике.
Для обычного программиста оценка в +- 2 раза невероятно точна, и вот он работает по ночам и в выходные, когда занизил, и лишается ползарплаты когда завысил...
5 июн 20, 00:50    [22146016]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
listtoview
мне кажется реальнее вариант когда тимлид обсуждая с командой предлагает архитектуру
разбивает задачи на подзадачи чем меньше тем лучше
делает оценку времени со своей колокольни
потом эту оценку обсуждает с программистами, вносят коррективы
далее закладывает отпуска и неопределенности
оценка готова

пойдет?
Ну, вообще, оценку даёт менеджер на основании оценок сотрудников, понимая по опыту примерный уровень достоверности у каждого из них.

Так что да, соглашусь с вашим описанием.

Но точность зависит от детальности декомпозиции, и, соответственно, после некой стадии проектирования; таким образом, достичь достаточного уровня точности можно только проделав немалую работу по задаче, возможно, даже бОльшую часть (да что там "возможно" - наверняка бОльшую).
5 июн 20, 00:54    [22146017]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
alexeyvg
Хм, получается, что все риски вы берёте на себя

Нет, не все. Я беру на себя риск своей неправильной оценки - и мне в тот момент это представлялось вполне честной платой за удалёнку. Собственно, я до сих пор считаю, что это правильная организация дел.

alexeyvg
Понятно, что вы обязательно будете ошибаться в оценке, как и любой житель Земли

Конечно. Но я буду ошибаться как в ту, так и в другую сторону, поэтому сумма выходит близкой к нулю.

alexeyvg
Т.е. вы, конечно, можете сказать, что сумели научиться оценивать невероятно точно, и дополнительно работаете без оплаты всего 20% времени

Как правило я экономил порядка 4 часов в неделю. То есть в среднем перезакладывался где-то на 10%.

alexeyvg
но это совет "не для всех", его неправильно давать в ответ на вопрос в паблике

Я был бы согласен с такой оценкой, если бы я посоветовал кому-нибудь код, который может случайно сделать format c: В данном случае я делюсь своим опытом, и каждый читатель вполне может решить, подойдёт ли ему такой вариант.

alexeyvg
Для обычного программиста оценка в +- 2 раза невероятно точна

Только потому, что ему на эту оценку глубоко пофиг, и он относится наплевательски и к ней, и к её соблюдению. Как только появляется ответственное отношение - точность кардинально меняется.

alexeyvg
и вот он работает по ночам и в выходные, когда занизил, и лишается ползарплаты когда завысил...

К сожалению, практически это малореально, а в идеальном мире оплату за задачи вообще стоило бы иметь сдельной. То есть примерно так: заказчик выставляет задачи и каждой назначает цену. Программист, сдавший задачу, берёт из доступных наиболее приглянувшуюся и делает. После успешного прохождения тестирования означенная сумма падает ему в карман. И, соответственно, кто хочет - работает по ночам, кто не хочет - не работает. Временная оценка задач вообще не нужна.
5 июн 20, 01:14    [22146026]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Никанор Кузьмич
Member

Откуда: Москва
Сообщений: 399
nnalogovik
Удаленка требует наличия у программистов чувства ответственности, любви к своей работе и мозгов.
О, это мой самый любимый аргумент. Имея общий стаж работы в офисе почти 15 лет, я на удаленке не проработал ни дня до самого момента начала карантина два месяца назад. Но при этом, если на меня накатывала хандра и хотелось побездельничать денек-другой на рабочем месте, я делал это совершенно без проблем на любом из мест работы.
Я сменил довольно много мест (включая смены проектов/отделов в пределах одного работодателя), и могу сказать, что только один раз (на моем текущем месте) видел, чтобы процессы были выстроены так, что бездельничать целый день было бы невозможно. Но в качестве компенсации текущий работодатель предлагает действительно интересную и хорошо организованную работу, так что пока бездельничать и не хочется.
5 июн 20, 01:15    [22146027]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
Никанор Кузьмич
только один раз (на моем текущем месте) видел, чтобы процессы были выстроены так, что бездельничать целый день было бы невозможно.

Вы не работали в приснопамятной "МВ". Вот там этот процесс был выстроен по высшему разряду, побездельничать не удалось бы и часа. Вот только я не вижу смысла этим заниматься. С моей точки зрения, контролировать следует результат. Если результата нет - неважно, бездельничал человек или пахал как проклятый. А если результат есть - опять же неважно, пахал он или бездельничал.
5 июн 20, 01:20    [22146029]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
fkthat
Member

Откуда:
Сообщений: 2867
mayton
По сути эта оценка мера "испуга".

Точно подмечено. По сути "оценка голосованием" в у.е. оно не сколько для оценки, сколько для выявления тасков с непонятками. А числа фиббоначи (что ты указал) они как раз и используются для того, чтобы отклонение чьей-либо оценки от среднего было более заметно. Важно еще, чтобы голосование было при этом закрытым.
5 июн 20, 06:13    [22146070]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Zmeelov2
Member

Откуда:
Сообщений: 663
listtoview
ну вообщем все сводится к разбиению на подзадачи
Нет. Мы разрабатываем новую систему. Сложившаяся практика такова, что на момент старта проекта не известны не то, что подзадачи - многие задачи не определены. А это неизбежные просчеты в архитектуре и скоростное костылестроение.
5 июн 20, 07:21    [22146098]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Об чем тут?

Делать break down сложной user story на subtasks - и измерять это правильный способ .

По поводу тестового стенда от Билайна.

Это риски на которые автор не влияет. Их нужно просто письменно закрепить. Дескать мы начнем активную разработку синхронно с доступами.

До этого система будет работать на моках.
5 июн 20, 07:32    [22146101]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
fkthat
Member

Откуда:
Сообщений: 2867
Так-то если подумать, то оценивать именно "время" на разработку оно нафиг никому не нужно (если только ты не получаешь деньги поминутно за затраченное время). Есть достаточно короткая итерация (спринт), есть список стори, которые хотим сделать за эту итерацию - кому какая разница, потратит на эту задачу Вася 2 часа в начале первой недели, или потратит на неё Петя 4 часа в середине второй недели. Это все какой-то древний рудимент, когда сидит надсмотрщик, крутит песочные часы и отслеживает, вдруг, не дай б-г, кто-то на пять минут дольше завозился, чем ему приказали.
5 июн 20, 08:00    [22146106]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Если кто-то начинает трекать твои опоздания в офис или интересуется где ты слил 30 минут времени
за вчера (по репортам нету) - то самое время помахать рукой такой работе.
5 июн 20, 08:56    [22146122]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
bga83
Member

Откуда: Город герой Ленинград
Сообщений: 31243
mayton
Если кто-то начинает трекать твои опоздания в офис или интересуется где ты слил 30 минут времени
за вчера (по репортам нету) - то самое время помахать рукой такой работе.
на эту тему был довольно забавный случай лет 10 назад. Начальник взъелся на на пару моих коллег за экобы медленную работу и заставил писать подробнейший отчет о том когда чем занимался, сколько заняло. Один из коллег помимо всего прочего досконально расписал как в сортир ходил, на что именно и сколько времени там ушло. Больше подобных хотелок со стороны начальника не возникало
5 июн 20, 09:23    [22146136]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Я имею в виду что когда проблемы с бюджетом - начинается херня. Вообще в 99% случаев лид всегда
знает кто бокапорет на проекте и кто слабое звено. И для этого не нужно играть в глобальную слежку.
5 июн 20, 09:28    [22146143]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
L_argo
Member

Откуда:
Сообщений: 1206
Ну классика же:

1. Оценить время на работу.
2. Умножить полученную цифру на 3.
3. Умножить полученную цифру на 3, даже если п.2 уже выполнен.
(с)
5 июн 20, 09:39    [22146160]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
chel_2000
Member

Откуда: Москва
Сообщений: 836
listtoview,

У вас же есть описание API от билайна? Сделайте мок с примитивным поведением, параллельно уведомите стороны о сыгравших рисках из-за получения доступа, которые двигают проект вправо.
5 июн 20, 09:50    [22146169]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
Zmeelov2
Сложившаяся практика такова, что на момент старта проекта не известны не то, что подзадачи - многие задачи не определены. А это неизбежные просчеты в архитектуре и скоростное костылестроение.

Ну почему же неизбежные. Вполне избежные. Другой вопрос, что сложившаяся практика некоторых кривых команд - "тяп-ляп и в продакшн, первую версию всегда выбрасывать, поэтому не тратьте на неё время и силы, и всё это не бага, а фича и так и надо разрабатывать".
5 июн 20, 10:24    [22146199]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
softwarer
Другой вопрос, что сложившаяся практика некоторых кривых команд - "тяп-ляп и в продакшн, первую версию всегда выбрасывать, поэтому не тратьте на неё время и силы, и всё это не бага, а фича и так и надо разрабатывать".

Это называется итеративная разработка.
5 июн 20, 10:31    [22146208]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
mayton
softwarer
Другой вопрос, что сложившаяся практика некоторых кривых команд - "тяп-ляп и в продакшн, первую версию всегда выбрасывать, поэтому не тратьте на неё время и силы, и всё это не бага, а фича и так и надо разрабатывать".

Это называется итеративная разработка.

Ну не совсем. Итеративная разработка вполне может существовать сама по себе, без обязательного тяп-ляп и выбрасывать. Это уже личная криворукость разработчиков. Собственно, "водопад", который у определённых религиозных адептов является ипостасью дьявола, на самом деле ровно та же итеративная разработка.
5 июн 20, 10:50    [22146223]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
fkthat
Member

Откуда:
Сообщений: 2867
softwarer
на самом деле ровно та же итеративная разработка.

Водопад это "инкрементная" разработка. Не "итеративная". "Инкремент", это когда мы строим небоскреб. Сначала делаем фундамент, потом поочередно строим этаж за этажом, потом крышу, потом этаж за этажом прокладываем коммуникации, потом этаж за этажом делаем отделку, готово, заселяем. "Итератив" это когда мы строим коттеджный поселок. Построили полностью под заселение первый дом, потом строим полностью под заселение второй и т.д. Не везде применимо (например, в случае с тем же небоскребом) , но, там где применимо, то очевидный плюс в том, что начиная строить домик номер N мы учитываем опыт, косяки и т.п. строительства всех домов с номерами от 1 до N-1, плюс, можем внести коррективы (например, на рынке появился новый строительный суперраствор для кирпичной кладки).
5 июн 20, 11:07    [22146238]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Vyatich
Member

Откуда:
Сообщений: 3497
softwarer
mayton
пропущено...

Это называется итеративная разработка.

Ну не совсем. Итеративная разработка вполне может существовать сама по себе, без обязательного тяп-ляп и выбрасывать. Это уже личная криворукость разработчиков. Собственно, "водопад", который у определённых религиозных адептов является ипостасью дьявола, на самом деле ровно та же итеративная разработка.

И давно "водопад" стал итеративной разработкой?
5 июн 20, 11:15    [22146243]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27731
fkthat
softwarer
на самом деле ровно та же итеративная разработка.

Водопад это "инкрементная" разработка. Не "итеративная". "Инкремент", это когда мы строим небоскреб. Сначала делаем фундамент, потом поочередно строим этаж за этажом, потом крышу, потом этаж за этажом прокладываем коммуникации, потом этаж за этажом делаем отделку, готово, заселяем. "Итератив" это когда мы строим коттеджный поселок. Построили полностью под заселение первый дом, потом строим полностью под заселение второй и т.д. Не везде применимо (например, в случае с тем же небоскребом) , но, там где применимо, то очевидный плюс в том, что начиная строить домик номер N мы учитываем опыт, косяки и т.п. строительства всех домов с номерами от 1 до N-1, плюс, можем внести коррективы (например, на рынке появился новый строительный суперраствор для кирпичной кладки).


Все не так.

Итеративная инкрементальная разработка - это когда в конце итерации мы добавляем в продукт нечто полезное.
Некую так называемую ценность. Она и есть инкремент, и это и есть Agile.
5 июн 20, 11:22    [22146248]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
Vyatich
И давно "водопад" стал итеративной разработкой?

С того момента, когда в нём появилось понятие поэтапного ввода в эксплуатацию. Когда именно это произошло - я не знаю, это было до моего рождения.

fkthat
Водопад это "инкрементная" разработка. Не "итеративная". "Инкремент", это когда мы строим небоскреб. Сначала делаем фундамент, потом поочередно строим этаж за этажом

Водопад в программировании быстро превратился в строительство кварталов. Сначала первая очередь строительства (10 домов), потом вторая очередь (ещё 10 домов), потом третья (ещё 20).

Если рассмотреть одну задачу (один дом), то в нём делается фундамент и снова начинаются итерации - этажи. И на этаже начинаются итерации - квартиры. Каждая из этих подзадач обладает своими "итерационными" и "инкрементными" чертами. В итоге любой реальный проект - это некая смесь того и другого. Вопрос в значениях параметров, в коэффициентах. В случае "так называемого водопада" итерации обычно длились от трёх месяцев до года, а в случае "так называемого аджайла" - от недели до двух месяцев, вот и вся разница.

Сообщение было отредактировано: 5 июн 20, 11:31
5 июн 20, 11:30    [22146254]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
fkthat
Member

Откуда:
Сообщений: 2867
softwarer
С того момента, когда в нём появилось понятие поэтапного ввода в эксплуатацию.

Это еще не итератив. Теоретически, в небоскребе мы можем, допустим, первый этаж сразу под заселение делать, но переиграть второй этаж после того, как мы заселили первый уже не выйдет.
5 июн 20, 11:46    [22146268]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
fkthat
Это еще не итератив. Теоретически, в небоскребе мы можем, допустим, первый этаж сразу под заселение делать, но переиграть второй этаж после того, как мы заселили первый уже не выйдет.

Если это верно, это всего лишь значит, что Ваша строительная аналогия не подходит для программирования.

+
На всякий: программисты очень плохо разбираются в строительстве. Рекомендую как-нибудь поговорить с настоящими строителями, они расскажут про программистские аналогии на этот счёт много интересного.
5 июн 20, 11:49    [22146271]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
fkthat
Member

Откуда:
Сообщений: 2867
softwarer
Водопад в программировании быстро превратился в строительство кварталов. Сначала первая очередь строительства (10 домов), потом вторая очередь (ещё 10 домов), потом третья (ещё 20).

Ну в агиле все то же самое, только кварталы поменьше. В случае факапов менее болезнено получить луч поноса только от жителей N домов и сразу через месяц, чем получить его от жителей 12*N домов, хоть и только через год.
5 июн 20, 11:52    [22146273]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
вот например когда PM занимается оценкой, это пальцем в небо
архитектор и тимлид должны, тогда правдоподобнее
5 июн 20, 11:56    [22146278]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Vyatich
Member

Откуда:
Сообщений: 3497
softwarer
Vyatich
И давно "водопад" стал итеративной разработкой?

С того момента, когда в нём появилось понятие поэтапного ввода в эксплуатацию. Когда именно это произошло - я не знаю, это было до моего рождения.

Вы уверены, что этапы - это про итерации?
Или вы понимаете под "водопадом" что-то своё?

Каскадная модель подразумевает, что переход от одной фазы разработки к другой происходит только после полного и успешного завершения предыдущей фазы, и что переходов назад либо вперёд или перекрытия фаз — не происходит.

All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The next phase is started only after the defined set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model". In this model, phases do not overlap.
5 июн 20, 11:56    [22146279]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
fkthat
Ну в агиле все то же самое, только кварталы поменьше.

Именно так. А размеры кварталов определяются двумя вещами: во-первых, масштабностью, сложностью и смыслом самой задачи (запросом клиента), а во-вторых, технологическими возможностями. Грубо говоря, в 98-м году я бы заманался каждую неделю ездить через полгорода к заказчику выкатывать обновления на прод, а сегодня уже понятие "спринт" откровенно устаревшее и нормально выкатывать позадачно, результаты работы нескольких часов.

fkthat
В случае факапов менее болезнено получить луч поноса только от жителей N домов

Зависит от смысла задачи. Для жилых домов, где основной скоуп интересов на уровне "моя квартира" - оно так и есть. Но если это комплекс связанных зданий, например, цеха какого-нибудь завода, раннее заселение может оказаться бессмысленным и вызовет ровно те самые лучи поноса.

Сообщение было отредактировано: 5 июн 20, 12:02
5 июн 20, 12:03    [22146282]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Нестандартное мышление
Member

Откуда:
Сообщений: 79
Разработка новой системы - это космос. Тут вообще планировать трудно. Это как художника спросить - за какое время вы напишите картину?

А если стандартные итерации, то тогда возможно по усредненным временам предыдущих разработок считать. Умножив на 2.
5 июн 20, 12:03    [22146283]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Ого тут теоретики подтянулись.
5 июн 20, 12:06    [22146287]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3708
mayton
Ого тут теоретики подтянулись.

Подкинем дровишек...

Итеративная инкрементальная разработка (IID) как альтернатива модели водопада

Итеративную разработку называют по-разному: инкрементной, спиральной, эволюционной и постепенной.
Разные люди вкладывают в эти термины разный смысл, но эти различия не имеют широкого признания и не так важны, как противостояние итеративного метода и метода водопада.

Разработка ПО – молодая отрасль, и не приходится удивляться, что построенная в соответствии со схемой «требования, проектирование, реализация» упрощенческая модель водопада,
предусматривающая создание ПО за один проход на основании заранее составленных документов устояла в ходе первых попыток найти идеальный процесс разработки.
Можно назвать и другие причины, объясняющие быстрое распространение и долгую популярность идеи «водопада». Эту идею легко объяснить и легко запомнить. "Выяви требования, потом проектируй, а потом реализуй".
Она создает иллюзию упорядоченного, объяснимого и обеспечивающего возможность измерений процесса, размеченного простыми вехами, взятыми из документов (например, "стадия выявления требований завершена").
IID труднее и описать, и понять.

Начиная с середины 90-х, подход IID стал завоевывать ведущие позиции. Были изданы сотни книг и статей, главной темой которых стала пропаганда IID.
Появились десятки новых методов IID; их общей отличительной особенностью стала все более явственно прослеживающаяся тенденция отдавать предпочтение жестко ограниченным по времени итерациям продолжительностью от одной до шести недель. Примером может служить спиральная модель Боэма.

Картинка с другого сайта.

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

В настоящее время большинство специалистов отдают предпочтение IID. Водопадная модель хорошо удовлетворяет потребностям управления проектом. С практической точки зрения эта модель непригодна.
Вот несколько причин этого:
  • При формировании требований к ПО пользователи редко имеют четкое представление о том, что им нужно, и не могут сформулировать все, что им известно.
  • Даже если мы можем изложить все требования к системе, существует множество деталей, которые будут обнаружены лишь после того, как процесс проектирования продвинется довольно далеко.
  • Внешние силы приводят к изменению требований, причем некоторые из этих изменений могут свести на нет ранее принятые решения.
  • Представление о том, будто разработчик ПО создает свой программный продукт свободным от ошибок на основе спецификации требований, абсолютно нереалистично.
Ошибки в требованиях и их реализации выявляются только в конце проекта, когда написан весь код, поэтому трудоемкость их исправления становится просто огромной.
5 июн 20, 12:14    [22146299]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1718
listtoview
сабж

Модератор: Тема перенесена из форума "ASP.NET".


Прикидываете время выполнения, умножаете на 2 и увеличиваете порядок.
5 июн 20, 13:58    [22146378]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Мне вспоминается английска песенка где Король в конце-концов с слезами и соплями сказал

- Просил я только масла на завтрак мне подать.
5 июн 20, 13:58    [22146379]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
softwarer
alexeyvg
Хм, получается, что все риски вы берёте на себя

Нет, не все. Я беру на себя риск своей неправильной оценки - и мне в тот момент это представлялось вполне честной платой за удалёнку. Собственно, я до сих пор считаю, что это правильная организация дел.
Да, конечно, я имел в виду только эти риски.
softwarer
alexeyvg
Понятно, что вы обязательно будете ошибаться в оценке, как и любой житель Земли

Конечно. Но я буду ошибаться как в ту, так и в другую сторону, поэтому сумма выходит близкой к нулю.
Так было бы нормально, но я же написал несогласие с совсем другим подходом, который вы декларировали - наказывать за ошибки в каждую из сторон :-)

Вот:
softwarer
[li]если я не успеваю сделать задачи - я их делаю в выходные
  • если я начинаю профукивать сроки - руководство получает аргумент вернуть меня в офис
  • если я начинаю завышать оценки - руководство начинает думать, что я его обманываю, и ничем хорошим это не кончится.
То есть если вы сделали быстрее - руководство наказывает вас за то, что вы его обманываете. Например, даёт вам задачи на оплаченное, но не отработанное время.А если вы не успели, руководство вас наказывает, в т.ч. работой в выходные.
И ничего не взаимокомпенсируется.

Так то да, если в среднем неправильные оценки компенсируют друг друга, то всё нормально, это как раз пример нормального руководства, и нормальной оценки (впрочем, зная особенность человека, руководитель может корректировать оценку сам).
И это работает как при удалённой работе, так и при работе в офисе.
softwarer
alexeyvg
Для обычного программиста оценка в +- 2 раза невероятно точна

Только потому, что ему на эту оценку глубоко пофиг, и он относится наплевательски и к ней, и к её соблюдению. Как только появляется ответственное отношение - точность кардинально меняется.
Разве это единственный вариант???

Очевидны как минимум ещё 2:
1) Человек не в состоянии (не умеет, не способен, его ума/квалификации недостаточно) сделать более точный прогноз.
2) Для точного прогноза недостаточно данных, в частности, задача недостаточно декомпозирована (но бывают и другие причины, менее распространённые).
5 июн 20, 19:27    [22146602]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
Дмитрий Мух
Подкинем дровишек...

Итеративная инкрементальная разработка (IID) как альтернатива модели водопада
Отмечу, что, горячо обсуждая проблему оценки программистом трудоёмкости кодирования, нужно не забывать, что трудоёмкость (и затраты) на кодирование в проекте, по отношению к затратам на проект, примерно пропорциональны площади квадратика "Кодирование" на этой диаграмме :-)
Но очень большое внимание почему то всегда уделяется именно оценке часов программиста, а не оценке часов архитекторов, аналитиков рисков, тестеров, службы эксплуатации, разработчиков плана интеграции, и т.д. и т.п.

Сообщение было отредактировано: 5 июн 20, 19:37
5 июн 20, 19:38    [22146608]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
alexeyvg
я же написал несогласие с совсем другим подходом, который вы декларировали - наказывать за ошибки в каждую из сторон :-)

Пикантная деталь в том, что я не писал такого подхода.

alexeyvg
То есть если вы сделали быстрее - руководство наказывает вас за то, что вы его обманываете.

Если я сделал быстрее - я просто иду по своим делам. "Завышать оценки" - это не то же самое, что и "успевать раньше срока".

alexeyvg
Разве это единственный вариант???

Это единственный существенный вариант.

alexeyvg
1) Человек не в состоянии (не умеет, не способен, его ума/квалификации недостаточно) сделать более точный прогноз

Если он не дурак - быстро научится. Делать прогнозы - это не какое-то великое ноу-хау, это просто чётко представить себе решение задачи и вспомнить предыдущий опыт - сколько уходило на каждую из составляющих решения в подобных условиях. Люди всех специальностей с этим без особых проблем справляются, хоть землекопы, хоть автомеханики. Программисты не настолько глупее других, чтобы именно для них это составляло проблему.

alexeyvg
2) Для точного прогноза недостаточно данных

Тогда никто не мешает поставить задачу на сбор необходимых данных и после её выполнения вернуться к прогнозу.
5 июн 20, 19:45    [22146614]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
softwarer
alexeyvg
я же написал несогласие с совсем другим подходом, который вы декларировали - наказывать за ошибки в каждую из сторон :-)

Пикантная деталь в том, что я не писал такого подхода.
Я же процитировал :-)

softwarer
alexeyvg
То есть если вы сделали быстрее - руководство наказывает вас за то, что вы его обманываете.

Если я сделал быстрее - я просто иду по своим делам. "Завышать оценки" - это не то же самое, что и "успевать раньше срока".
На мой взгляд, это синонимы. Не могу увидеть какого то отличия.

softwarer
alexeyvg
1) Человек не в состоянии (не умеет, не способен, его ума/квалификации недостаточно) сделать более точный прогноз

Если он не дурак - быстро научится. Делать прогнозы - это не какое-то великое ноу-хау, это просто чётко представить себе решение задачи и вспомнить предыдущий опыт - сколько уходило на каждую из составляющих решения в подобных условиях. Люди всех специальностей с этим без особых проблем справляются, хоть землекопы, хоть автомеханики. Программисты не настолько глупее других, чтобы именно для них это составляло проблему.
И не программисты такие же, так же ошибаются, как правило.

Но очень, очень часто неправильная оценка компенсируется (для работника) изменением объёма работы, который клиент не заметит.

Разве что кроме землекопов. Но землекопы, или, например, программисты - писатели сайтов визиток, или автомеханик на стандартном ТО, делают типовую работу.
Типовую то работу легко оценивать, кто с этим спорит.

А вот когда автомеханику дали машину, у которой "что то там стучит", или "иногда не заводится", то он просто делает за оплаченное время что сможет.

Но для программиста возможность такого подхода сильно ограничена, он не может напрограммировать что получится за ХХХ часов, ему надо сделать работающую программу. Он разве что может играть с качеством кода/дотошностью тестирования.

softwarer
alexeyvg
2) Для точного прогноза недостаточно данных

Тогда никто не мешает поставить задачу на сбор необходимых данных и после её выполнения вернуться к прогнозу.
Мешает начальник, который говорит "какие ещё данные, да тебе на эту оценку глубоко пофиг, ты относишься наплевательски и к ней, и к её соблюдению. Как только я тебя буду штрафовать - точность кардинально меняется!" :-)

Для оценки же нужно спроектировать и декомпозировать, а перед этим понять задачу, поговорить с аналитиками и бизнес-пользователями, что они имели в виду под "..." и "..."
А до начала всего этого процесса программисту говорят "ну сколько тебе надо?", "ну когда?", потому что менеджеру (даже не начальнику программиста, а сейлу) нужно выкатить клиенту сумму, до начала проектирования, декомпозирования и тёрок с аналитиками.

Сообщение было отредактировано: 5 июн 20, 20:15
5 июн 20, 20:15    [22146635]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
alexeyvg
На мой взгляд, это синонимы. Не могу увидеть какого то отличия

Я легко могу его показать. Вспомните, за какое время Вы обычно добирались от дома до работы? Запомните эту оценку. Теперь рассмотрите два сценария:

а) Вы бежите там, где обычно шли пешком, превышаете скорость там, где обычно ехали шестьдесят, или просто удачно проскочили пробку там, где обычно приходится постоять. Это называется "успеть раньше срока".

б) Начальник в выходной звонит и спрашивает, сколько Вам добираться до работы. Вы вспоминаете названную выше оценку, умножаете её в три раза и называете. Это называется "завышать оценки".

alexeyvg
Типовую то работу легко оценивать, кто с этим спорит.

А нетиповой работы довольно мало. Что у землекопа, что у автомеханика, что у программиста. И алгоритмы работы с ней для оценки также вполне очевидны.

alexeyvg
А вот когда автомеханику дали машину, у которой "что то там стучит", или "иногда не заводится", то он просто делает за оплаченное время что сможет.

Мне ни разу не приходилось платить автомеханику за "оплаченное время". Может быть, конечно, где-то такое и есть, не знаю.

Когда автомеханику дали машину, которая "иногда не заводится", он - если грамотный - будет действовать примерно так. Составит список наиболее вероятных причин, оценит "эту проверять столько, эту проверять столько, эту проверять столько", добавит какие-нибудь процедуры типа "попробовать завести и посмотреть своими глазами", ответит "мне нужно столько-то времени на диагностику" и через означенное время (или раньше) вынырнет из-под машины либо со словами "нашёл!", либо со словами "всё проверил, ничего не нашёл, надо думать, а лучше поездить пока более чётко не проявится".

alexeyvg
Но для программиста возможность такого подхода сильно ограничена, он не может напрограммировать что получится за ХХХ часов, ему надо сделать работающую программу.

У автомеханика ситуация здесь куда хуже, чем у программиста. Он не может играть с качеством кода или дотошностью тестирования, у него машина либо заводится, либо не заводится.

alexeyvg
softwarer
Тогда никто не мешает поставить задачу на сбор необходимых данных и после её выполнения вернуться к прогнозу.
Мешает начальник, который говорит ....

Вам просто из принципа хочется поспорить? Я рассказываю, как было у меня на практике, а Вы начинаете придумывать, что мне якобы говорил мой начальник.

alexeyvg
Для оценки же нужно спроектировать и декомпозировать, а перед этим понять задачу, поговорить с аналитиками и бизнес-пользователями, что они имели в виду под "..." и "..."
А до начала всего этого процесса программисту говорят "ну сколько тебе надо?", "ну когда?",

Простите, а у вас на работе всегда так? Нужны оценки задач, в которых сотрудник не разбирался и не понимает? Чуть утрируя - он вообще её не читал, тут Вы прибегаете, называете её номер в трекере и требуете оценку? Тогда не удивительно, почему Вы считаете, что никто не может сколько-нибудь точно оценить задачу

alexeyvg
потому что менеджеру (даже не начальнику программиста, а сейлу) нужно выкатить клиенту сумму

Я вроде бы чётко рассказал, на каких условиях я ушёл на удалёнку. Вы начинаете придумывать каких-то сейлов, какие-то суммы.... Вам так хочется хоть чучелом, хоть тушкой оказаться правым? Ну давайте я скажу, что Вы правы, и избавлюсь от необходимости выслушивать этот бред.
5 июн 20, 21:07    [22146662]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
Я бы предложил несколько иную задачу. Как оценить поднятие всей системы под ваш проект. Ну в самом деле, мы , простые слесари от АСУ ТП сталкиваемся периодами с простыми задачами.
Наиболее наглядно - открыть задвижку, если уровень в резервуаре превышен. И если ты на знакомом тебе заводе и тебе доверили - 95% случаев никаких проблем не возникнет. Но вот если ты на новом месте? Как оценить? Для меня это закрытый край ваших программерских дел.Такое ощущение, что вы работаете в едином порыве коллективе. Вся информация ясна каждому. От вас только и требуется, что написать if then else. Подскажите как у вас так все четко?
5 июн 20, 22:31    [22146697]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3708
АСУ ТПшник,

всей системы? или всё-таки как открыть задвижку на новом месте?
от сложности задачи зависит и способ её формализации, декомпозиции и оценки

когда сталкиваешься с чем-то новым, то зачастую достаточно 2-3 дня на технические исследования, чтобы сформировать план дальнейших действий и оценку этого плана
5 июн 20, 22:41    [22146701]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3708
Как оценить сколько стоит побывать в венской опере?
5 июн 20, 22:45    [22146702]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
Дмитрий Мух
Как оценить сколько стоит побывать в венской опере?

смотришь прайс и оцениваешь
5 июн 20, 23:11    [22146709]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
Дмитрий Мух,

Я уже понял, что вы работаете в более менее устоявшемся секторе в устоявшейся же компании. , но сама тема намекает - как лично твой вклад оценить.. На upwork зайдите просто для себя загните цену, которая вам нравится. Вот эти реальные данные интересны, на что вы подпишитесь. Внезапно окажется, что рынок не про ваше болото.
Чтобы не звиздеть не по делу - порядка 1000 долларей за все на руки, порядка 20 в час, иногда 30. Забил на это. Там про сиюминутное решение проблем людей, которых ты вообще в первый раз слушаешь.

Сообщение было отредактировано: 5 июн 20, 23:30
5 июн 20, 23:26    [22146715]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
АСУ ТПшник
Дмитрий Мух,

Я уже понял, что вы работаете в более менее устоявшемся секторе в устоявшейся же компании. , но сама тема намекает - как лично твой вклад оценить.. На upwork зайдите просто для себя загните цену, которая вам нравится. Вот эти реальные данные интересны, на что вы подпишитесь. Внезапно окажется, что рынок не про ваше болото.
Чтобы не звиздеть не по делу - порядка 1000 долларей за все на руки, порядка 20 в час, иногда 30. Забил на это. Там про сиюминутное решение проблем людей, которых ты вообще в первый раз слушаешь.

насчет рынка есть такая проблема
стек надо подтягивать общепринятый
6 июн 20, 00:48    [22146728]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
А это вы про что про общепринятый? Про общепринятый в вебе? Или в Москве?
Я без сарказма. Действительно не понятно. Своему рынку много лет учился.

Сообщение было отредактировано: 6 июн 20, 11:53
6 июн 20, 11:52    [22146778]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27731
listtoview
Дмитрий Мух
Как оценить сколько стоит побывать в венской опере?

смотришь прайс и оцениваешь

Прайс чего?

До Вены пешком дойдёте? Остановитесь там на улице? Питаться не будете всю дорогу? В оперу пойдёте в чем пришли?

Первое - надо определить конкретную цель: посетить венскую оперу, чтобы увидеть определённую постановку.
Второе - определить необходимые действия и условия для достижения этой цели: купить билет в оперу на определённую дату, оказаться в Вене не позднее этой даты (самолётом, или поездом, или авто), там где-то надо жить, есть и пить.

И т.д. и т.п. Цель, декомпозиция, оценка.

Замечу, что я никогда не был в венской опере. Как наверное и вы.
И при этом уверен, что мой способ оценки гораздо точнее
6 июн 20, 12:11    [22146780]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27731
АСУ ТПшник
Дмитрий Мух,

Я уже понял, что вы работаете в более менее устоявшемся секторе в устоявшейся же компании. , но сама тема намекает - как лично твой вклад оценить.. На upwork зайдите просто для себя загните цену, которая вам нравится. Вот эти реальные данные интересны, на что вы подпишитесь. Внезапно окажется, что рынок не про ваше болото.
Чтобы не звиздеть не по делу - порядка 1000 долларей за все на руки, порядка 20 в час, иногда 30. Забил на это. Там про сиюминутное решение проблем людей, которых ты вообще в первый раз слушаешь.

Мне не понятно, о чем вы.
6 июн 20, 12:14    [22146783]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
Что конкретно не понятно? Я говорил о рынке "программистов". Т.е. массовом обмене труда на деньги. И сколько условный час труда стоит. Я предложил вылезти на апворк просто ради эксперимента с вашими знаниями. Далее предположил - что у вас в вашей области / корпорации, все не так и обозвал ее болотом в том смысле, что это не про рынок. Где-то у меня логическая ошибка, подскажите где.
И я отлично понимаю о чем говорю, в своей области я высоко летал , но потом упал и решил проверить на рынке стоимость моих знаний. Что и предложил проверить вам, без подвохов.

Сообщение было отредактировано: 6 июн 20, 12:44
6 июн 20, 12:42    [22146790]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3708
АСУ ТПшник,

всё это какие-то рассуждения о чём-то... О чём? Чего вы ожидаете?

P.S.: тема она про то, как оценить время на разработку, а не про то, как оценить разработчика

Сообщение было отредактировано: 6 июн 20, 12:49
6 июн 20, 12:47    [22146793]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
Ожидал, что мне в новом ракурсе все покажут, который я не понимал. Сейчас уже ничего не ожидаю, все мне понятно.
6 июн 20, 12:50    [22146796]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3708
АСУ ТПшник
Ожидал, что мне в новом ракурсе все покажут, который я не понимал. Сейчас уже ничего не ожидаю, все мне понятно.

Повторю, что тема она про то, как оценить время на разработку, а не про то, как оценить разработчика.

Что конкретно вам показать?
6 июн 20, 12:52    [22146798]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3708
АСУ ТПшник,

а давайте по приколу сформулируем цель:
после того, как вам "в новом ракурсе все покажут", вы сможете ..., чтобы ...

а?
6 июн 20, 12:58    [22146802]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
Смогу например более адекватно оценивать свой труд. Пока ничего нового не прочитал на этом форуме, хотя потребность есть. Самое главное - как я другому человеку (который менеджер) буду простым языком объяснять свои сложности.
6 июн 20, 13:07    [22146805]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
Устроит такой ответ?
6 июн 20, 13:09    [22146807]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3708
АСУ ТПшник
Устроит такой ответ?

Почти.

Уточните такой момент. Ваша цель - уметь адекватно оценивать свой труд.
И при этом самое главное - это уметь другому человеку (который менеджер) простым языком объяснять свои сложности.

Что за сложности такие? Пример можете привести?
6 июн 20, 13:26    [22146816]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Zmeelov2
Member

Откуда:
Сообщений: 663
softwarer
Простите, а у вас на работе всегда так? Нужны оценки задач, в которых сотрудник не разбирался и не понимает? Чуть утрируя - он вообще её не читал, тут Вы прибегаете, называете её номер в трекере и требуете оценку? Тогда не удивительно, почему Вы считаете, что никто не может сколько-нибудь точно оценить задачу
И хуже бывает. Требуется оценить время по ТЗ, написанному "типа аналитиком", где непонятно, даже что имеется в виду. Бывает, что приходит уже фиксированная оценка от мелкого "насяльника" без какого-либо обсуждения (как вы писали - Васе нужно 3 дня, Пете 5. Вот Вася, став начальником, ставит Пете срок в три дня - ведь он, Вася, может за три!)
6 июн 20, 16:53    [22146846]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
Zmeelov2
(как вы писали - Васе нужно 3 дня, Пете 5. Вот Вася, став начальником, ставит Пете срок в три дня - ведь он, Вася, может за три!)

Сценарий несколько сомнительный - потому что если Вася может за три, он скорее всего адекватно оценивает Петю. Но в целом я в таких случаях всегда вспоминаю один эпизод из моей жизни:

- Саш, за сколько ты сделаешь вот такую задачу?
- Неделя.
- А вот Марат говорит, что её делать пару дней.
- Ну тогда пусть Марат её за пару дней и делает. А я буду делать неделю.
... (через неделю)
- Саш, то, что сделал Марат, ни хрена не работает. Ты говорил, что за неделю справишься?
6 июн 20, 21:09    [22146908]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Zmeelov2
Member

Откуда:
Сообщений: 663
softwarer
Сценарий несколько сомнительный - потому что если Вася может за три, он скорее всего адекватно оценивает Петю.
Вася может за три, а Петю он адекватно не оценивает. А начальником - стал. И у Пети спросить - даже мысль не приходит. Ну как у прыгуна в высоту - перворазрядника. Он же 1,75 прыгнул, значит любой 1,50 прыгнет.

softwarer
- Ну тогда пусть Марат её за пару дней и делает. А я буду делать неделю.
Удачи всем нам, чтобы была храбрость и имелась возможность ее проявить. Все конторы разные, и кое-где после подобного ответа можно пойти в кадры, забирать трудовую. Но иногда так и надо.

Сообщение было отредактировано: 6 июн 20, 21:26
6 июн 20, 21:28    [22146912]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62610
Блог
Zmeelov2
Вася может за три, а Петю он адекватно не оценивает.

Это достаточно странно. Я вижу единственный реалистичный расклад для такого сценарий - Вася с Петей вместе не работал, пришёл когда назначили начальником и ещё толком не познакомился.

Zmeelov2
И у Пети спросить - даже мысль не приходит. Ну как у прыгуна в высоту - перворазрядника. Он же 1,75 прыгнул, значит любой 1,50 прыгнет

Насколько я помню, у нас в школе в десятом классе прыгали 120-130. Исходя из этого, я бы не удивился, что любой, кто занимается прыжками, таки действительно прыгнет 150. Но в любом случае - Вася быстро познакомится с Петей и перестанет так ошибаться (либо подтянет Петю, тоже вполне возможный вариант).

Zmeelov2
Все конторы разные, и кое-где после подобного ответа можно пойти в кадры, забирать трудовую. Но иногда так и надо.

В той тоже можно было. Я давным-давно вывел принцип комфортной жизни: "Будь нужен работе больше, чем работа нужна тебе". В той конкретной конторе он звучал так: "Здесь можно нормально работать только если готов в любой момент встать и уйти, не оглядываясь".

В общем-то, не иногда, а практически всегда именно так и надо. Я в момент того ответа не знал - действительно ли Марат так сказал или начальник меня примитивно разводит. Но в любом случае если позволить сесть себе на шею - в итоге будет гораздо хуже.

Сообщение было отредактировано: 6 июн 20, 21:47
6 июн 20, 21:48    [22146917]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
Arpanx
Member

Откуда: Донецк
Сообщений: 1288
Очень долго меня напрягал этот вопрос "Сколько тебе надо времени на это?" Вопрос просто выбивал желание жить. Решил честно в ответ писать "не знаю", но так как это могли расценивать как наглость, решил все таки формализовать. У меня появилась такая цепочка рассуждения.
Чтобы знать сколько времени понадобиться, надо понимать что нужно сделать. А для этого надо понять в чем сейчас состоит проблема и придумать как ее решить на теоретическом уровне. А чтобы понять в чем проблема это занимает у меня 80% всех затрат по времени.
Т.е. мне сначала надо сделать этот Task чтобы потом ответить на вопрос сколько это потребуется времени. В общем надоело боятся, стал говорить, "нет" и "не знаю". Так хоть появилась возможность работать.
6 июн 20, 22:57    [22146931]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
nnalogovik
Member

Откуда:
Сообщений: 156
Arpanx
Очень долго меня напрягал этот вопрос "Сколько тебе надо времени на это?"


Как показывает практика - вопрошающему пофигу сколько тебе надо времени на это

Вопрошающий тешит этим свой ЧСВ
6 июн 20, 23:23    [22146938]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
fkthat
Member

Откуда:
Сообщений: 2867
nnalogovik
Как показывает практика - вопрошающему пофигу сколько тебе надо времени на это

Вопрошающий тешит этим свой ЧСВ

Абсолютно все не так. Просто за вопрошающим есть свои вопрошающие, которым ему надо дать ответ, который зависит от твоего ответа.
7 июн 20, 10:10    [22146985]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
автор
Почти.

Уточните такой момент. Ваша цель - уметь адекватно оценивать свой труд.
И при этом самое главное - это уметь другому человеку (который менеджер) простым языком объяснять свои сложности.

Что за сложности такие? Пример можете привести?

Апворк. Большая часть времени тратится на выяснение , чего хотят. Но так как выяснения не результат, то довольно трудно все разжевать человеку не из темы твоей профессии, что за какой срок можно в принципе сделать, а что вообще не реально. За разъяснения не хотят платить, а они большая часть итераций на апворке. Не знаю как понятнее.. Есть такое ругательное слово - интегратор. Как правило интегратора и ищут.
7 июн 20, 11:01    [22146995]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1322
Arpanx
Очень долго меня напрягал этот вопрос "Сколько тебе надо времени на это?" Вопрос просто выбивал желание жить. Решил честно в ответ писать "не знаю", но так как это могли расценивать как наглость, решил все таки формализовать. У меня появилась такая цепочка рассуждения.
Чтобы знать сколько времени понадобиться, надо понимать что нужно сделать. А для этого надо понять в чем сейчас состоит проблема и придумать как ее решить на теоретическом уровне. А чтобы понять в чем проблема это занимает у меня 80% всех затрат по времени.
Т.е. мне сначала надо сделать этот Task чтобы потом ответить на вопрос сколько это потребуется времени. В общем надоело боятся, стал говорить, "нет" и "не знаю". Так хоть появилась возможность работать.

Все в этом посте коллеги по несчастью изложено.

Сообщение было отредактировано: 7 июн 20, 11:01
7 июн 20, 11:02    [22146996]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Arpanx
Очень долго меня напрягал этот вопрос "Сколько тебе надо времени на это?" Вопрос просто выбивал желание жить. Решил честно в ответ писать "не знаю", но так как это могли расценивать как наглость, решил все таки формализовать. У меня появилась такая цепочка рассуждения.
Чтобы знать сколько времени понадобиться, надо понимать что нужно сделать. А для этого надо понять в чем сейчас состоит проблема и придумать как ее решить на теоретическом уровне. А чтобы понять в чем проблема это занимает у меня 80% всех затрат по времени.

+100

У меня - тоже самое. Я в таких случаях говорю. Нужно 1 день на investigation. Посмотреть насколько глубока кроличья нора.
Потом у меня появится две оценки. Одна - оптимистичная. Если все хорошо пойдет. И вторая - в случае если будет еще
какой-то бок то наверное надо будет накинуть еще 1 день на исследование или брейншторм просто потому-что
что-то забыли или не учли.

Вообще - разработка это совершенно творческий процесс и он не похож на копание траншеи экскаватором.

Тоесть грубо говоря никто не имеет право вас спрашивать такие вопросы особенно если они не касаются
рутины а связаны с чем-то новым с чем вы еще не имели дело.
(Рутина вот это зашли новые mappings и надо их замапить. Просто прописать где один field
соответсвтует другому. К примеру. Тут - хоть в часах считай. Рисков почти нет. Разработки
нет. Просто какая-то прикладная хрень. Конфигурации.)
7 июн 20, 11:28    [22147002]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
anor
Member

Откуда:
Сообщений: 105
Arpanx

Т.е. мне сначала надо сделать этот Task чтобы потом ответить на вопрос сколько это потребуется времени.

"Чтобы сформулировать вопрос, нужно знать бОльшую часть ответа" Роберт Шекли.
В общем надоело боятся, стал говорить, "нет" и "не знаю". Так хоть появилась возможность работать.


Но отвечать все равно нужно. В моей практике это "1, 3 , 6 месяцев" или "1 год". На глазок и на опыте.

Такой ответ обычно удовлетворяет. Если установить железную дисциплину в постановке задачи, то можно будет ответить точнее. Однако навести порядок в этом важном вопросе почему-то ни у кого не возникает желания.

Сообщение было отредактировано: 9 июн 20, 14:48
9 июн 20, 14:49    [22148112]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
mayton
Member

Откуда: loopback
Сообщений: 47657
Советоваться с коллегами надо. Можно спросить - сколько-б ты делал эту таску? И почему.
9 июн 20, 15:04    [22148118]     Ответить | Цитировать Сообщить модератору
 Re: Как оценивать время на разработу?  [new]
listtoview
Member

Откуда:
Сообщений: 2359
вообще пока что самый точный способ это:

0) выделяется время на оценку проекта.
1) тимлид разбивает задачи на подзадачи чем меньше тем лучше
2) делает оценку времени со своей колокольни
3) потом эту оценку обсуждает с программистами, вносят коррективы
4) далее закладывает отпуска и неопределенности
оценка готова
11 июн 20, 15:19    [22149417]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / Работа Ответить