Аудит разработки проекта
Компания разрабатывает MVP (Minimal Viable Product — минимально жизнеспособный продукт) для тестирования определенной идеи. Отрасль достаточно специфическая, но очень интересная и конкурентная – продажа морских и речных круизов.
Есть четкий бюджет на разработку, есть точные (и очень короткие) сроки, когда они хотят начать продажи на этой платформе, но спустя более чем половину выделенного времени нет достаточных результатов и у заказчика нет никакого понимания реального положения дел внутри процесса разработки. К нам же они обратились по причине нашей экспертизы в разработке систем в рамках этой специфической отрасли.
От нас требовалось предоставить актуальную информацию по текущему состоянию проекта, а именно ответить на следующие вопросы:
- на каком этапе готовности проект?
- сколько времени и средств понадобится для его завершения?
- какие проблемы существуют в текущей реализации?
- сколько одновременных пользователей сможет выдерживать проект?
- в чем причины очень медленной работы указанных компонентов системы?
Чтобы предоставить адекватную оценку текущего состояния проекта, нам потребовалось глубоко погрузиться в бизнес-цели заказчика, детально изучить его ожидания и намерения, фактически спроектировать систему и после этого сравнить вариант “как должно быть” с тем, что имелось на данный момент.
В первую очередь, мы составили техническое задание проекта совместно с заказчиком, проведя серию интервью с членами команды и выяснив все ключевые требования. По итогу этих интервью составили mindmap, описывающий все идеи и функциональность проекта.
После этого, мы изучили дизайн-макеты проекта. Уже на этом этапе мы смогли сформировать некоторые комментарии для будущего отчета, обнаружив некоторые функциональные недочеты в дизайне.
Параллельно с этим, наша команда разработки развернула имеющуюся тестовую версию проекта на нашем сервере, чтобы иметь возможность тестировать функциональность и скорость работы.
Сразу после этого, разработчики приступили к изучению кодовой базы, имеющегося функционала, истории системы контроля версий. Последнее позволило нам получить понимание скорости работы текущей команды проекта, их приоритетов и уровня качества. Вместе с изучением кодовой базы мы проводили анализ структуры базы данных, чтобы понять, насколько она соответствует требованиям и позволяет реализовать все задуманное.
Параллельно с этими процессами, команда QA (отдел тестирования) проводили тестирование уже имеющегося функционала, нагрузочное тестирование проекта, соответствия UI отраслевым нормам.
Завершив все эти процессы, направленные на изучение проекта и положения дел, мы смогли перейти к ключевому этапу – декомпозиции оставшейся части работ. Мы “разложили по полочкам” все проблемы, недоделки, нереализованные блоки и оценили каждый из них. Не имея возможности точно оценить скорость работы и компетенции текущей команды разработчиков проекта, мы построили свою оценку исходя из данных, которые получили из истории системы контроля версий: обладая большим количеством примеров того, сколько времени разработчик потратил в прошлом на реализацию известных блоков функционала, мы можем прогнозировать, сколько времени займут у него другие участки.
- Проект завершен на 15% от версии MVP за 60% запланированного на разработку времени.
- Вместо ожидаемых 2 месяцев текущая команда будет завершать его еще 5 месяцев.
- В текущем виде проект не сможет достигнуть поставленных бизнес-целей. Этому препятствуют неверно реализованные фундаментальные механизмы и неправильная структура хранимых данных.
- Выбранная платформа не подходит для реализации проектов данного типа. Она не позволяет достигнуть расчетных показателей быстродействия при планируемом количестве пользователей и данных.
- Текущая реализация не позволит выдерживать более ~100 посетителей, одновременно пользующихся сайтом.
- Текущая реализация не позволит после запуска MVP расширять платформу с ожидаемой заказчиком скоростью. Для реализации запланированных улучшений будет требоваться примерно в 4 раза больше трудозатрат, чем заложено в бизнес-плане.
В результате нашего аудита заказчик смог понять:
- детальный разбор и точную информации по текущей готовности проекта.
- 3 различных пути завершения проекта, от компромиссного по срокам и функционалу до точно укладывающегося в сроки и ТЗ. Отличаются варианты необходимыми трудозатратами, размером команды и уровнем специалистов и, соответственно, стоимостью.
- детализацию того, что осталось сделать со сроками реализации.
- оценку скорости и качества работы текущей команды разработчиков с детальными аргументами.
- подробную информацию о причинах медленной работы указанных блоков проекта и рекомендации, выполнение которых позволит это исправить.
- красивый отчетик ????
Конечно же, история нашей работы с этим проектом не заканчивается передачей файла. На следующий день, мы запросили обратную связь от заказчика и выяснили, что многое осталось непонятно, в особенности технические нюансы. Мы провели встречу, на которой подробно рассказали представителям бизнеса всю суть на понятном языке.