Назад

Этапы разработки

Мы решили рассказать о том, как выстраиваем процесс разработки и делаем его эффективнее.

На каждом этапе разработки команда сталкивается с определенными трудностями. Главная задача менеджера проекта — быстро адаптироваться к ним и помогать коллегам справляться с любой ситуацией. Мы решили рассказать о том, как сами выстраиваем процесс разработки и делаем его эффективнее.

До начала разработки


На собственном опыте мы поняли, что ключевой фактор успеха — правильно подобранная команда, поэтому перед ее формированием мы тщательно анализируем запрос клиента. Это нужно, чтобы оценить объем работ и определить, сколько нам требуется web- и backend-разработчиков, аналитиков, тестировщиков. Понадобится ли дополнительно привлечь специалиста по Big Data? Все это мы продумываем заранее.

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

Этап 1. Аналитика


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

Этап 2. Проектирование


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

Этап 3. Дизайн


Выбор дизайна порой затягивается надолго, даже если над проектом работают наши самые опытные UX- и UI-специалисты. Кроме того, всегда приходится учитывать, что решение нужно адаптировать под фирменный стиль обратившейся к нам компании. Иногда требуется разработка фирменного стиля с нуля, тогда мы анализируем тренды и подбираем референсы, чтобы создать несколько концептов. К реализации мы приступаем после согласования концепции с клиентом — важно учесть все правки и пожелания.

Этап 4. Разработка


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

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

Этап 5. Тестирование


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

Этап 6. Внедрение


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

Этап 7. Дальнейшие работы


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

Заключение

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

Контент-менеджер
Валерия Гусева