Внедрение 1С по технологии Agile (Scrum)
Меню

Разработка по технологии Agile (Scrum)

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

Информация на этой странице является сокращенным описанием технологии и дает общее понимание, что такое технология разработки программного обеспечения Agile/Scrum.

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

Стоимость проектов

Проекты по Agile (Scrum) — прозрачны для заказчика с точки зрения организационно-финансового аспекта, т. к.:

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

Особенности и преимущества технологии Agile (Scrum)

Схема каскадной модели разработки (проектное внедрение)

Схема разработки ПО по технологии Agile (Scrum)

В отличие от классической каскадной модели разработки (когда формализации подлежат все требования к системе еще до начала ее создания), подход Agile позволяет заказчику:

  1. Планировать реализацию своих требований на короткий (прогнозируемый) период, управлять приоритетами.
  2. Формулировать требования и ожидания от системы постепенно, корректировать свои требования по мере создания системы.
  3. Достаточно часто оценивать качество и соответствие своим ожиданиям реализованного функционала системы.
  4. Иметь всегда актуальную документацию на реализованные функции системы.

Суть технологии Agile (Scrum)

Разработка системы сводится к последовательному (итерационному) выполнению цикла задач по созданию системы. Глобально можно выделить две группы задач.

Формирование команды проекта

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

  • Руководителя проекта (менеджера)
  • Владельца продукта
  • Команды специалистов
  • Клиентов (те, для кого проект будет приносить выгоду)

Выполнение проекта

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

Требования делятся на итерации в 1–2 недели и каждая итерация представляет собой завершенный цикл работ. Внедрение ПО происходит после окончания работ по последней итерации.

Формирование команды проекта

  • Менеджер / Руководитель проекта (Scrum Master)

    Проводит совещания (Scrum meetings) следит за соблюдением всех принципов проекта, разрешает противоречия и защищает рабочую группу от отвлекающих факторов. Управляет проектом со стороны подрядчика.

  • Скрам-команда (Scrum Team)
    • от подрядчика: аналитики, программисты и тестировщики
    • от заказчика: пользователи, участвующие в тестировании (приемке) результатов реализации требований
  • Владелец продукта (Product Owner)

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

  • Клиенты (Stakeholders)

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

    Стейкхолдеры участвуют в проекте только во время обзорных совещаний по спринтам (Sprint Review).

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

Выполнение проекта

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

Далее общий перечень требований (п.1) анализируется заказчиком и подрядчиком на предмет приоритетов реализации. Идентифицируются совпадения и несовпадения расставленных сторонами приоритетов: совпадения — принимаются, несовпадения — обсуждаются и согласовываются (с учетом обоснований). В результате появляется финальный список требований к функциональности, упорядоченный по их степени важности. Этот перечень с приоритетами называется бэклогом проекта.

Имея общий перечень требований, рабочая группа проекта, в установленном бэклогом проекта порядке приоритетов, приступает к более детальному планированию реализации требований (очереди, имеющей наивысший приоритет) во времени. При этом все требования компонуются в итерации, длительностью в 1–2 недели. Каждая итерация включает в себя завершенный цикл работ по постановке, реализации требований и их тестированию и приемке, а также документированию. Каждая итерация называется спринтом. А требования, которые вошли в спринт — бэклогом спринта.

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

По ходу всего проекта менеджером подрядчика ведутся и обновляются 2 достаточно простые диаграммы, наглядно показывающие общую динамику и прогресс выполнения задач:

  • сгорание задач отдельных спринтов
  • общий прогресс проекта

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

Типы совещаний
№ п/п Наименование совещания Задачи совещания
1. Планирование спринта
(Sprint Planning Meeting)
Формирование бэклога спринта, на основе выбора задач из бэклога проекта (с учетом приоритетов). Обсуждение всех деталей реализации спринта.
2. Ежедневное совещание
(Daily Scrum meeting)
Краткие выступления каждого участника Scrum Team (доклады: что сделал, какие проблемы, как можно помочь). В обсуждениях с командой принимают участие только менеджер и владелец продукта.
3. Обзор итогов спринта
(Sprint review meeting)

Подведение итогов работы по спринту:

  • Первая часть совещания: краткое сообщение о выполненных задачах от менеджера. Демонстрация участниками Scrum Team созданной функциональности широкому кругу лиц, включающему пользователей и стейкхолдеров.
  • Вторая часть совещания (Retrospective): внутренний анализ выполненного спринта командой проекта: что было сделано хорошо / что плохо / какие уроки (рекомендации) вынесли на будущее.

Уже готовы к началу сотрудничества?

Эксперт направления

Ибрагим Канкулов
Ибрагим Канкулов
  • Опыт работы с комплексными системами автоматизации для крупных российских и международных компаний – 5 лет.
  • Ведущий специалист проекта-победителя «1С:Проект года» по внедрению системы ERP.
  • Специализация Ибрагима – производство и управленческий учет, складская и транспортная логистика, продажи и закупки.
  • Автор статей по актуальным вопросам автоматизации на базе продуктов 1С.
Читать далее