Что учесть, приступая к разработке крупномасштабного IT-проекта

Разработка крупномасштабного IT-проекта

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

1. Забудьте о разработке и приступайте к планированию

Если для стартапов критично как можно скорее сделать рывок от идеи до первой MVP версии продукта, то для сложных IT-проектов крайне важно потратить достаточное количество времени, чтобы провести бизнес-анализ и планирование IT-проекта, а в частности определить:

  • Каковы цели проекта?
  • Какие категории пользователей будут использовать продукт?
  • Какие у проекта будут функциональные особенности?
  • На какой платформе проект будет функционировать?

В отличие от обычных стартапов, крупномасштабные проекты не обладают достаточной гибкостью, для легкой адаптации или pivot’а (перепрофилирования с целью тестирования нового направления развития), поэтому важно с самого первого дня установить четкое направление развития продукта. Точное определение объема работ и целей проекта позволит максимально четко ставить ставить задачи менеджерам, дизайнерам и разработчикам, а четко сформулированные задачи — верный путь к их эффективному выполнению.

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

планирование проекта

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

2. Проектируйте свой успех

Вы отлично разбираетесь в своем бизнесе, определили все необходимые для работы функции, но вы едва ли представляете что следует делать с технической стороны, чтобы получить на выходе успешное решение. Системный архитектор в таком случае — ваш лучший друг. В двух словах — это человек, который:

  • Переводит сложные технические требования в удобно управляемые элементы (например, требование «Пользователь может залогиниться в профиле с любого устройства или браузера, а также через веб-сайт, чтобы проверить статус своего заказа или выбрать опцию - получить SMS» будет переведено в «Разработка API и интеграция с SMS-сервисом»);
  • Готовит структуру системы (может быть нарисована с помощью различных impact-mapping и mind-mapping инструментов);
  • Подбирает технические решения и методы, которые будут использоваться для реализации проекта (например, укажет приоритет на использование MongoDB перед mySQL, в зависимости от нужд проекта).

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

Системная архитектура для MeinFernbus

Системная архитектура для MeinFernbus

3. Максимально прозрачная работа

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

  • Изменения подлежат обсуждению;
  • Взаимодействие между командами — обязательно;
  • Участники могут видеть на каком этапе разработки находятся они сами, а также каждый участник команды, в каждый определенный момент времени.

планирование проекта

4. Привыкайте к более продолжительным спринтам

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

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

спринт

5. Радуйтесь ошибкам

Конечно, баги и ошибки могут раздражать, и чем меньше их будет в вашем проект — тем лучше. Однако, если речь идет о крупномасштабных проектах — ошибок не избежать, и в данном случае, перефразируем: чем раньше — тем лучше. Чем раньше кто-то заметит и сообщит об ошибке в функциональных или технических требованиях, тем дешевле будет все исправить. И, как показывает практика, в разработке крупных веб-проектов на AngularJS или Symfony2 — сумма сэкономленных средств может быть довольно внушительной.

радуйтесь ошибкам

Заключение

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

Разработчики студии stfalcon.com обладают большим опытом в создании технически сложных решений для крупных компаний. Напишите нам на  info@stfalcon.com чтобы поделиться своей идеей. Мы с радостью ответим на все ваши вопросы и поможем реализовать проект вашей мечты!