При выборе разработчика для вашего ИТ-проекта, полезно сравнить оценки от нескольких команд, чтобы принять более взвешенное решение. Но бывает, что оценки могут сильно различаться.
Например, команда А предложила разработать социальную сеть с видеостримингом за 2 месяца, а команда Б – за полгода.
Вряд ли вы подумаете, что команда А занизила оценки по ошибке. Скорее всего, вопросы возникнут к команде Б, которая дала "слишком большие" оценки. Но так ли это на самом деле?
Для начала давайте разберемся, почему не стоит полагаться исключительно на оценки разработчика.
Как разработчики оценивают задачи?
Когда разработчик оценивает список задач, он часто думает об "идеальном" сценарии, где все идет гладко и задачи выполняются в запланированные сроки. Поэтому он оценивает минимально возможное время на разработку, не учитывая возможных непредвиденных обстоятельств.
В реальном мире так не бывает. В процессе разработки всегда возникают ситуации, которые нельзя было предвидеть на этапе оценки. Например, могут выйти крупные обновления операционной системы или используемой библиотеки, разработчики могут столкнуться с неизвестными ошибками, или пользователи могут вести себя иначе, чем ожидалось на этапе планирования, что потребует изменения требований и переписывания кода.
Кроме того, при оценке разработчик обычно не учитывает времени, необходимого на тестирование, исправление ошибок, обновление требований, изменение приоритетов и другие процессы. Иногда разработчик может уйти в отпуск или на больничный, а если нет документации, передать проект другому разработчику станет намного сложнее, так как на ее создание решили не тратить время.
Что нужно включить в оценки?
Как уже понятно, задачи разработчиков составляют лишь часть от всего процесса разработки. Невозможно разработать систему, не сформулировав требования и не отрисовав дизайны; нельзя проверить качество разработки и стабильную работу системы без тестирования; кроме того, всегда могут возникнуть новые правки и дополнительные требования, которые придется внедрять в процесс разработки.
Следовательно, при оценке проекта необходимо учитывать и дополнительно оценивать следующие этапы:
- Аналитика (проработка требований, планирование)
- Дизайн (создание и интеграция дизайнов)
- Управление проектом (работа менеджера проекта)
- Тестирование (проверка требований и дизайнов, подготовка тест-кейсов, различные виды тестирования, такие как стресс-тестирование, регрессионное тестирование, тестирование на соответствие и т. д.)
- Разработка (включая запас времени на исправление багов)
Только с учетом всего этого можно дать более-менее точную оценку на разработку проекта.
Для наших клиентов мы составляем детальную таблицу, где указываем время на каждый этап работы, чтобы они сразу видели, сколько времени займет весь процесс: не только разработка, но и тестирование, управление проектом и прочее.
Подводим итоги
При выборе между разными командами разработчиков, важно удостовериться, что они учли все этапы работы над проектом, такие как планирование, разработка, тестирование и управление проектом.
Кроме того, каждый проект уникален и требует индивидуального подхода и опыта в оценивании похожих систем.
Здесь можно подробно почитать о том, как мы готовим оценки
Если вы хотите проверить точность оценок – мы бесплатно подготовим смету на основе имеющихся требований.
Комментарии