Технологии выполнения проектов 1С: Waterfall, Agile, гибридный подход

Продолжаем цикл статей, посвящённых автоматизации.

Дорожная карта статей по автоматизации 1С

Технологии выполнения проектов автоматизации
Формирование требований к информационной системе (Обследование)
Проектирование системы
Разработка системы
Подготовка системы к вводу в опытную и промышленную эксплуатацию
Ввод в эксплуатацию и завершение проекта
Выбор технологии внедрения – один из самых недооцененных этапов проекта автоматизации. При этом именно он напрямую влияет на сроки, бюджет и формирование итогового результата. На практике компании часто начинают проект, не определившись с подходом к реализации. В итоге – срывы сроков, пересмотр бюджета и «перезапуск» проекта уже в процессе.

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

Технология внедрения – это основа всего проекта, а не просто «способ работы команды»

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

На практике чаще всего используются три подхода:

Waterfall – каскадная модель
Agile – гибкий подход
Гибридная модель – сочетание Waterfall и Agile.

Методология Waterfall: когда важны контроль и предсказуемость

Waterfall (англ. «водопад») – каскадная модель управления проектами, при которой происходит последовательный переход с одного этапа на другой, при этом пропуск отдельного этапа и возврат на предыдущие стадии не предусмотрен.
Для сложных проектов, где есть понятная последовательность исполняемых работ и прозрачные измеримые результаты.

Как работает методология Waterfall

Разработка системы
Внедрение
Поддержка
Тестирование
Определение требований и анализ
Проектирование системы
Проект делится на фиксированные стадии:
Главный принцип Waterfall – строгая последовательность и полная фиксация результатов каждого этапа. Каждый следующий этап начинается только после завершения предыдущего.
Нельзя откатиться на прошлый этап, чтобы что-то изменить
Выявление и исправление ошибок происходит только после окончания разработки на этапе тестирования
Разработка происходит в рамках одного общего процесса создания продукта

Ключевые принципы

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

Плюсы Waterfall

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

Минусы Waterfall

Проекты с жесткими требованиями
Сложные, но декомпозируемые работы для получения результатов
Госзаказчики с детальными ТЗ, жесткими регламентами
Внедрение в холдингах и группах компаний

Когда подходит

Жестко фиксированные бюджет и сроки (Fixed Price): когда у вас есть строго определенная сумма денег и дата сдачи, за рамки которых выходить нельзя.
Waterfall эффективен в крупных проектах (так как гарантированно дает готовый продукт, который можно доработать, иначе есть риск увязнуть
в согласованиях, потерять первоначальные цель и архитектуру и не получить ничего):

Agile: когда важны гибкость и скорость

Agile (от англ. «гибкий») – технология гибкого подхода к управлению проектами. Она включает в себя: анализ, планирование, дизайн, разработку, тестирование, проверку, запуск. Agile делит проект на небольшие отрезки (от 1 до 4 недель). В конце каждого отрезка команда показывает клиенту рабочую часть продукт.
Основная идея: проект разбивается на короткие отрезки (спринты), каждая из которых даёт работающий результат. Обычно длительность спринта от 1 до 4 недель.
Работающий продукт важнее исчерпывающей документации (при этом документация все равно присутствует)
Сотрудничество с заказчиком важнее формальных договоренностей (выполненная работа должна быть оплачена)
Люди и взаимодействие важнее процессов и инструментов
Готовность к изменениям важнее следования первоначальному плану (изменения фиксируются в договорных документах)

Ключевые ценности Agile (из манифеста)

Удовлетворение клиентов – главная задача разработки
Изменения в процессах (изменения внутри команды, в требованих, в подходе к разработке) – это даст продукту конкурентное преимущество
Работающее программное обеспечение должно доставляться до клиента часто – в период в 2–16 недель (сроки зависят от внедряемого продукта, заказчика, отрасли и других факторов)
Регулярная оценка и саморефлексия – это хорошо. Это команда должна делать регулярно.
Самоорганизация – это хорошо. Такие команды делают лучшие продукты. И долой микроменеджмент
Устранять лишнюю работу и не усложнять проект и процессы
Надо уделять внимание техническому совершенству и хорошему дизайну продукта
Гибкость – основа развития
Мерило успеха – работающая система. Не часы, не трудозатраты. Только итог
Лучший способ передать информацию – поговорить лично
В основе проектов и процессов – мотивированные люди. Им надо обеспечить условия и интерес
Руководители и разработчики должны трудиться вместе (каждый может вносить корректировки, удаленка – не проблема)

Основные принципы гибкой модели

Плюсы Agile

Прозрачность для клиента: заказчик всегда видит реальный прогресс, а не отчеты. Итерационная поставка помогает увидеть результат на ранних этапах, а также протестировать MVP в рынке и при отсутствии спроса закрыть проект без лишних затрат.
Раннее выявление ошибок: из-за итерационной поставки (1-4 недели) результатов баги и несоответствия находят и чинят сразу высокая вовлеченность команды
Высокая адаптивность: можно менять требования по ходу разработки Быстрый старт: минимальный жизнеспособный продукт (MVP) можно выпустить за считаные недели

Минусы Agile

Риск «разрастания» проекта: из-за бесконечных правок проект может далеко уйти от изначальной цели
Сложность с закрытием актов при изменении требований. Подходит для T&M проектов
Готовность заказчика работать по Agile и понимание преимуществ технологии
Высокие требования к команде: нужны сертифицированные эксперты и сильное вовлечение заказчика, обучение методологии и конкретному framework, например, SCRUM
Размытые сроки и бюджет: точную финальную стоимость проекта сложно рассчитать на старте

Когда подходит

создается новый продукт
продукт нужно постоянно дорабатывать
важна скорость запуска
требования не до конца определены
бизнес-процессы ещё формируются
Риск «разрастания» проекта: из-за бесконечных правок проект может далеко уйти от изначальной цели. Agile эффективен, если:
Четвёртый – стабилизация системы и исправление замечаний.
Третий – интеграция с корпоративным сайтом
Первый – запуск типового функционала 1С:Управление торговлей без доработок и обучение пользователей
Второй – адаптация системы под специфику компании, настройка печатных форм и интеграция с 1С:Бухгалтерией
Поэтому проект разделили на четыре коротких спринта:
Пример внедрения 1С
В результате уже через четыре месяца компания внедрила продукт и смогла продолжить работу. При использовании Waterfall значительная часть времени ушла бы только на попытку описать процессы, которые на тот момент ещё не были сформированы.
Один из показательных примеров – внедрение 1С в новой иностранной торговой компании, которая выходила на российский рынок. На старте у компании практически не было выстроенных бизнес-процессов: сотрудники только набирались, бухгалтерия только запускалась, склад наполнялся товарами, а системы ещё не существовало. В такой ситуации классический Waterfall-подход оказался бы слишком медленным. Требования было фактически не с кого собирать, а процессы ещё формировались в реальном времени.
стандартное внедрение
технология корпоративного внедрения
технология быстрого результата (ТБР)
интеграция ПО

Технологии внедрения 1С и их связь с методологиями управления

На практике чаще всего используются:
При этом сами технологии 1С напрямую связаны с подходами к управлению проектами.
Технология быстрого результата (ТБР) уже ближе к Agile-подходу. Ее основная задача – максимально быстро дать бизнесу работающий результат, а затем постепенно развивать систему.
Стандартное внедрение и технология корпоративного внедрения относятся к классической каскадной модели Waterfall.
Чтобы не возникало путаницы в терминологии, важно учитывать, что
у компании 1С существуют собственные технологии выполнения проектов.
Поэтому, если в коммерческом предложении указана технология корпоративного внедрения – речь, как правило, идёт о классическом Waterfall-подходе. Если же подрядчик предлагает ТБР, это означает использование более гибкой модели внедрения.

Комбинированный (гибридный) метод управления

Наиболее эффективный гибрид – сочетание структурированной каскадной модели (Waterfall) с гибкостью и адаптивностью Agile-подхода. Такой подход особенно хорошо работает в крупных проектах автоматизации. На практике многие проекты внедрения 1С используют комбинированную модель.
В современном мире проектного менеджмента все чаще возникает необходимость комбинировать различные подходы к управлению проектами для достижения оптимальных результатов.
Гибридный подход чаще всего используют компании, которым нужно запустить новый продукт (нужен Agile), но при этом отчитаться перед советом директоров по четким срокам и бюджетам (нужен Waterfall).
Дает понятные бизнесу сроки и бюджет, сохраняя при этом свободу для разработчиков внутри этапов.
Сложен в управлении, так как руководителю проекта приходится балансировать между жесткой отчетностью и гибкими процессами разработки. Руководитель проекта должен хорошо ориентироваться в технологиях Waterfall и Agile
Чёткость планирования
Waterfall помогает установить общие рамки проекта, определить ключевые этапы и сроки выполнения задач. Это важно для крупных проектов, где необходимо заранее понимать бюджет и временные ограничения.

Что дает гибридная модель

Контроль качества
Waterfall обеспечивает строгий контроль за качеством на каждом этапе, а Agile поддерживает постоянное улучшение продукта благодаря регулярным ретроспективам и обратной связи от пользователей.
Улучшение коммуникации
Совместное использование двух методов улучшает взаимодействие между командами и участниками проекта. Команды могут работать параллельно, используя свои сильные стороны и дополняя друг друга.
Гибкость и адаптация
Agile позволяет оперативно вносить изменения в проект, реагируя на новые требования и рыночные условия. Это особенно полезно при разработке продуктов, которые требуют постоянного улучшения и обновления.
Разработка
Ввод в эксплуатацию
Тестирование
Обследование
Проектирование

Как внедрить гибридный подход

Обычно проект делится на несколько крупных фаз:
обследование проводится по функциональным блокам
разработка выполняется через демонстрацию прототипов
замечания устраняются постепенно, а не в конце проекта.
проектирование согласуется частями
Регулярные встречи и обратная связь: Организуйте регулярные совещания, чтобы обсудить прогресс и внести необходимые коррективы.
Итерации внутри фаз: Внутри каждой фазы Waterfall можно использовать спринты Agile для быстрого тестирования и внесения изменений
Разделение проекта на фазы: Начните с использования Waterfall для определения общих целей и рамок проекта, а затем посмотрите, какие инструменты Agile можно применить для реализации отдельных этапов
Например:
При этом внутри каждой фазы работа ведётся итерационно.
Таким образом заказчик постоянно видит динамику проекта и может своевременно влиять на результат.
Поэтому при выборе подрядчика важно обращать внимание не только на стоимость и сроки, но и на то, по какой технологии исполнитель планирует реализовывать проект. Это напрямую влияет на результат внедрения и эффективность всей автоматизации.
насколько гибко можно реагировать на изменения
насколько управляемыми будут сроки, бюджет и качество
когда заказчик увидит результат
как будет управляться проект

Итоги

Для разработки новых продуктов в условиях неизвестности, со схемой работы T&M – Agile. Обязательно проверить готовность Заказчика к работе по Agile, а также сертифицированных специалистов в команде, умеющих работать по Agile Framework, например, SCRUM. 
Для сложных комплексных проектов, которые исполняются по фиксированной стоимости, требуют соблюдение регламентов, а изменение сроков критично – используйте Waterfall. Данная технология позволить декомпозировать все работы для получения результатов, проверить соответствуют ли результаты цели проекта, а также назначить ресурсы на все декомпозированные работы. Другими словами, когда работы комплексные, сложные, но их состав понятен, они выполняются не в первый раз, имеется аналогичный опыт – waterfall.
Главное – определить подход ещё до старта проекта.
Именно технология внедрения определяет: