<p> В последнее время мне довольно часто приходится оценивать различные проекты, которые рассматривает компания в которой я работаю. И я хочу поделиться опытом оценки еще не созданных программных продуктов. Итак, что же необходимо для того чтобы правильно оценить трудозатраты на проект?  </p> <ul> <li>Первое и самое главное - это безусловно опыт, потому что если вы уже реализовывали подобное в ваших предыдущих проектах, то вероятность того что ваша оценка совпадет с реальностью увеличивается.</li> <li>Далее необходимо  разбить будующий функционал на как можно более независимые блоки их можно разрабатывать в различных фазах проекта.</li> <li>Затем каждый блок разбивается на функционал, время реализации котрого не более 3х часов.</li> <li>Если какие-либо части настолько сложны или новы для вас, что вы не представляете себе как их реализовывать, то лучше потратить час-два на изучение/поиск подобных решений в <a href="http://www.google.com" target="_blank">гугле</a>. Кстати,забыл сказать, что прежде чем вообще садиться оценивать проект, можно посмотреть не реализовывал ли кто-то другой, то что вы сейчас пытаетесь создать. Свой опыт ценне всего, но если есть чужой, то почему бы им не воспользоваться? </li> <li>Еще один момент - оценивать проект лучше не в одиночку(какой бы вы гуру ни были), а небольшой группой в 2-3 человека. Если количество людей будет больше, то будет слишком много мнений и тяжело будет быстро прийти к компромиссу, а следовательно быстро оценить проект (за оценку проекта заказчик как правило не платит...). Если людей будет меньше, а именно вы один, то есть риск переоценить или недооценить собственные силы.</li> <li>Но даже разбив проект на мелкие части и оценив каждую из них, мы не сможем получить точную оценку проекта(честно говоря получить точную оценку проекта невозможно в принципе), так как еще необходимо учесть человеческий фактор, а он предполагает чтот в рабочем 8ми часовом дне вовсе не 8 часов отдается работе: <table border="0"> <tbody> <tr> <td>- Чтение блогов и новостей, разгребание почты по утрам. (15 минут в день) <br /> </td> </tr> <tr> <td>- Перерывы на кофе/чай. (2-3 в течении дня 10 минут на каждый)</td> </tr> <tr> <td>- Различного рода собрания. Проектные собрания для решения текущих вопросов. (дважды в неделю 3 часа)</td> </tr> <tr> <td>- Решение проблем с железом, не работает комп или сеть или нет тока. (раз в две недели пол дня)</td> </tr> <tr> <td>- Мелкие проблемы с ПО (не грузится студия, поставился патч после которого винда перестала адекватно работать). (дважды в неделю по часу)</td> </tr> <tr> <td>- Заполнение time journal-ов и других формальных документов. (15 минут каждый день)</td> </tr> <tr> <td>- Походы в WC. Да, это тоже занимает время. (10 минут в день. В дни когда селедку запиваешь с молоком 10 минут каждый час ;)</td> </tr> <tr> <td>- Написание необходимых емейлов (4 часа в неделю)</td> </tr> <tr> <td>- Написание ненужных емейлов (4 часа в неделю)</td> </tr> <tr> <td>- Удаление спама (30 минут в неделю)</td> </tr> <tr> <td>- Болезни, прочие личные причины отсутсвия на работе (1 день в месяц)</td> </tr> <tr> <td>- 8 минут - одна сигарета</td> </tr> </tbody> </table> </li> <li>Для подсчета времени на вышеупомянутые радости жизни можно либо подсчитать в столбик либо воспользоваться принципом трех четвертей: берем четверть времени от общей оценки проекта и прибавляем ее к оценке - таким образом закладываем время на разработку новых или измененных заказчиком требований. Затем от этой четверти считаем четверть и опять прибавляем к общей оценке(убираем риск преодоления "подводных" камней в проекте) и наконец от последней четверти прибавляем четверть и таким образом закладываем время на все те радости жизни, что я описал пунктом выше.</li> </ul>

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

  • Первое и самое главное - это безусловно опыт, потому что если вы уже реализовывали подобное в ваших предыдущих проектах, то вероятность того что ваша оценка совпадет с реальностью увеличивается.
  • Далее необходимо  разбить будующий функционал на как можно более независимые блоки их можно разрабатывать в различных фазах проекта.
  • Затем каждый блок разбивается на функционал, время реализации котрого не более 3х часов.
  • Если какие-либо части настолько сложны или новы для вас, что вы не представляете себе как их реализовывать, то лучше потратить час-два на изучение/поиск подобных решений в гугле. Кстати,забыл сказать, что прежде чем вообще садиться оценивать проект, можно посмотреть не реализовывал ли кто-то другой, то что вы сейчас пытаетесь создать. Свой опыт ценне всего, но если есть чужой, то почему бы им не воспользоваться?
  • Еще один момент - оценивать проект лучше не в одиночку(какой бы вы гуру ни были), а небольшой группой в 2-3 человека. Если количество людей будет больше, то будет слишком много мнений и тяжело будет быстро прийти к компромиссу, а следовательно быстро оценить проект (за оценку проекта заказчик как правило не платит...). Если людей будет меньше, а именно вы один, то есть риск переоценить или недооценить собственные силы.
  • Но даже разбив проект на мелкие части и оценив каждую из них, мы не сможем получить точную оценку проекта(честно говоря получить точную оценку проекта невозможно в принципе), так как еще необходимо учесть человеческий фактор, а он предполагает чтот в рабочем 8ми часовом дне вовсе не 8 часов отдается работе:
    - Чтение блогов и новостей, разгребание почты по утрам. (15 минут в день)
    - Перерывы на кофе/чай. (2-3 в течении дня 10 минут на каждый)
    - Различного рода собрания. Проектные собрания для решения текущих вопросов. (дважды в неделю 3 часа)
    - Решение проблем с железом, не работает комп или сеть или нет тока. (раз в две недели пол дня)
    - Мелкие проблемы с ПО (не грузится студия, поставился патч после которого винда перестала адекватно работать). (дважды в неделю по часу)
    - Заполнение time journal-ов и других формальных документов. (15 минут каждый день)
    - Походы в WC. Да, это тоже занимает время. (10 минут в день. В дни когда селедку запиваешь с молоком 10 минут каждый час ;)
    - Написание необходимых емейлов (4 часа в неделю)
    - Написание ненужных емейлов (4 часа в неделю)
    - Удаление спама (30 минут в неделю)
    - Болезни, прочие личные причины отсутсвия на работе (1 день в месяц)
    - 8 минут - одна сигарета
  • Для подсчета времени на вышеупомянутые радости жизни можно либо подсчитать в столбик либо воспользоваться принципом трех четвертей: берем четверть времени от общей оценки проекта и прибавляем ее к оценке - таким образом закладываем время на разработку новых или измененных заказчиком требований. Затем от этой четверти считаем четверть и опять прибавляем к общей оценке(убираем риск преодоления "подводных" камней в проекте) и наконец от последней четверти прибавляем четверть и таким образом закладываем время на все те радости жизни, что я описал пунктом выше.
blog comments powered by Disqus