SimbirSoft. Как управлять IT-разработкой в нестабильных условиях: замораживать или развивать?

Рассказываем о том, что безопаснее во время кризиса – сокращать или развивать разработку – по следам нашего вебинара. Все самое полезное: особенности кризисного управления проектами, а также 3 способа быстрого расширения IT-команды. Ждем вопросы от продукт оунеров, менеджеров IT-продуктов и всех желающих.

SimbirSoft. Как управлять IT-разработкой в нестабильных условиях: замораживать или развивать?

Всем привет! Недавно мы в SimbirSoft провели онлайн-трансляцию об управлении разработкой и ответили на ваши вопросы. Эту статью мы подготовили на основе вебинара и предлагаем рассмотреть, как в условиях пост-карантина меняется подход к выпуску IT-продуктов.

Кризис и цифровизация

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

По данным агентства Initiative, в начале карантина на удаленную работу перешли 46% россиян. В условиях массовой удаленки онлайн-продажи магазинов выросли на 80%, доставка продуктов на 525%, а продажи онлайн-аптек на 809%. Ключевым фактором для потребителей онлайн-услуг стала доступность.

Вне зависимости от того, какие продукты поддерживает или производит компания, большую роль играет уровень цифровизации. Те, кто вовремя внедрили IT-решения, быстрее адаптируются к онлайну и могут опередить конкурентов, которые “по старинке” работают в офлайн-среде.

Рынок IT-услуг, как и другие, изменился под влиянием карантина и кризиса. Так, Facebook, Amazon, Microsoft и другие гиганты первыми отправили сотрудников на удаленку, в онлайн перешли и конференции разработчиков.

При этом многим владельцам IT-продуктов пришлось принимать решение о том, что делать:

  • Приостановить разработку в условиях кризиса?
  • Оставить все так, как есть?
  • А может быть, и вовсе наращивать темпы?

Рассмотрим, в каких случаях сейчас целесообразно расширять IT-команду и сокращать сроки выпуска продукта (time-to-market).

Когда расширяют команды

В условиях нестабильного рынка наиболее востребованы «антикризисные» ИТ-продукты, которые помогают бизнесу в следующих задачах:

  • быстрее адаптироваться к меняющимся условиям и не терять клиентов;
  • воспользоваться моментом и попробовать увеличить прибыль.

Факторы расширения команд:

Ускорение релиза

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

Онлайн как необходимость

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

Важно учитывать, что «заморозка» продукта, даже на время кризиса содержит определенные риски. В этом случае бизнесу рано или поздно придется догонять рынок и конкурентов, а значит, вкладывать больше средств, чем при непрерывной разработке.

Последовательная vs параллельная разработка

При создании ИТ-продуктов можно использовать два подхода:

  • Последовательный (горизонтальный), как на производственном конвейере: команды backend-, frontend- и других специалистов работают над отдельными задачами или модулями, передавая их друг другу по мере готовности.
  • Вертикальный (параллельный), в качестве его аналога можно рассматривать ручную сборку автомобиля: над продуктом или отдельной фичей от начала до конца работает одна команда (например, аналитик, дизайнер, frontend, backend, DevOps, QA и др.)

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

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

При этом управление проектами во время кризиса имеет определенные особенности, например:

  • IT-бюджет может быть урезан и перераспределен на другие нужды;
  • обостряется взаимная конкуренция проектов за ресурсы;
  • есть риски смены как управленческой команды заказчика, так и подрядчика, в том числе на самом сложном, завершающем этапе разработки проекта.
<i>Фото Анны Дзюбинской на Unsplash</i>
Фото Анны Дзюбинской на Unsplash

Пример из практики. Модернизация системы за 2 месяца

Рассмотрим пример, как можно ускорить разработку IT-продукта в нестабильных условиях.

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

Владелец продукта принял решение – провести модернизацию всего за 2 месяца. Для того, чтобы ускорить этот процесс, он подключил нашу команду разработки и тестирования.

Что мы делали:

  • Провели аудит процессов: проверили документацию, трекинг задач, покрытие тестами, метрики проекта, а также опросили пользователей системы. В результате выявили проблемные места, разработали и внедрили план по развитию проекта.
  • Создали более 2000 тест-кейсов, обеспечили 100% покрытие функций тест-кейсами, разработали 300 автотестов и за счет этого сократили сроки регрессионного тестирования.
  • Оптимизировали инфраструктуру (CI/CD), что позволило увеличить скорость сборки в 3 раза.

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

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

<i>Фото: Bonneval Sebastien on Unsplash</i>
Фото: Bonneval Sebastien on Unsplash

3 способа усиления команды

Для того, чтобы оперативно закрыть потребности в IT-специалистах, бизнес использует три основных пути:

1) Найм программистов в штатную команду

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

Особенности:

  • Поиск специалиста подходящего уровня требует времени и затрат на обучение.
  • Новичка нужно адаптировать к работе в конкретной команде.
  • Необходимо погрузиться в контекст продукта — до 4-6 месяцев для некоторых должностей.

2) «Аренда» специалиста в формате аутстаффинга

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

3) Подключение команды на ауторсинге

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

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

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

<i>Фото: Robert Metz on Unsplash</i>
Фото: Robert Metz on Unsplash

Критерии выбора подрядчика

  • Отзывы и рейтинги

Оцените качество, сроки разработки, впечатления заказчиков — например, насколько быстро команда погружается в бизнес-задачи.

  • Оценка сайта подрядчика

Есть ли актуальное портфолио, релевантный опыт решения задач.

  • Оценка социальных сетей

Выходят ли посты с актуальной тематикой, отзывы клиентов, вопросы, комментарии.

  • Обмен опытом

Делится ли компания своим опытом – например, статьями о реализованных проектах.

Подводя итоги

В условиях кризиса владельцы IT-продуктов задумываются о том, следует ли замораживать разработку или развивать ее, если есть такая возможность. Как правило, развивают те продукты, которые помогают наращивать прибыль, отвечать на новые потребности рынка. При этом важно обеспечить скорость разработки без потери качества. Вкратце - для того, чтобы ускорить разработку, можно расширить штатную команду или привлечь внешних специалистов, которые имеют опыт решения релевантных задач.

Спасибо за внимание! Надеемся, что материал был вам полезен.

44
Начать дискуссию