28 мая 2021 IT директору 

1С проекты и SCRUM: инструменты и технологии

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

Существуют различные инструменты для работы в Scrum. На данном этапе для нас, в первую очередь, важно организовать командную работу в фреймворке. Такой системой мы выбрали Битрикс24. Во-первых, и это определило наш выбор на данном этапе – система используется в компании с 2012 года, все имеют к ней доступ и работают в едином пространстве. Все умеют ставить задачи, правда, прежде это делалось по каскадной проектной технологии. Во-вторых, в Битрикс24, в отличие от, например, Trello, можно вести учет времени, то есть задавать плановое время выполнения задач и учитывать, сколько фактически на эту задачу было затрачено времени.

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

В простейшем виде канбан-доска состоит из трех колонок: to do, in progress, done, то есть «надо сделать» («на выполнение»), «выполняется» и «готово». Основной элемент этой доски — задачи.

В ходе формирования спринта его задачи перекидываются в колонку to do. Когда разработчики берут задачи в работу, они перемещают их в in progress. После того, как задачи выполнены – в done. Когда все задачи — в done, то спринт выполен, инкремент готов, и его демонстрируют заказчику на sprint review (обзоре спринта).

В Битрикс24 канбан-доска немного расширена. В нее, кроме основных трех столбцов, добавлены эпики, (пользовательские) истории, задачи и спринты.

В Битрикс24 на канбан-доске, кроме основных трех столбцов, добавлены эпики, пользовательские истории, задачи и спринты

Рис.1. Канбан-доска

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

Эпики — это крупные этапы работы, разделы продукта

Рис.2. Эпик

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

В историях описываются функциональные возможности продукта словами конечного пользователя

Рис.3. Пользовательская история

Каждая история делится на задачи. Эти задачи отражены в третьем, одноименном столбце канбан-доски.

Эпики и истории формулирует владелец продукта (product owner). Владелец продукта, напомним, представляет бизнес и объясняет команде разработчиков (development team), что нужно достичь. Его задача: максимизировать ценность продукта, получаемого в результате работы Scrum-команды.

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

Каждая пользовательская история делится на задачи

Рис.4. Задача

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

В результате спринта команда разработчиков должна получить инкремент

Рис.5. Спринт

Из общего списка в колонке «на выполнение» разработчики выбирают себе задачи и перемещают их в колонку «выполняется». Это означает, что development team приступает к работе. Как только задачи выполнены, их переносят в колонку «готово».

По итогам обзора спринта (sprint review) на канбан-доску могут добавляться новые истории, новые задачи. Создается новые спринт. Цикл разработки повторяется.

Для наших Scrum-команд канбан-доска, прежде всего, предназначена для ежедневного отслеживания выполнения задач. Команды разработчиков анализируют ситуацию на доске на каждом ежедневном митинге (daily scrum): почему некоторые задачи до сих пор находятся в колонке «выполняется», что именно не получается, и какие действия необходимо предпринять, чтобы решить задачу. Таким образом данный инструмент помогает команде достичь цель спринта.

Что в планах?

Пока Scrum-команды работают, можно сказать, в light-версии фреймворка, не используя в полной мере специфические метрики, диаграммы и отчеты. Эффективность работы development team оценивается по результативности спринта и соотношению запланированного и затраченного времени на выполнение задач.

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

Стоит отдельно упомянуть технологии, которые используют development teams при разработке инкрементов. Это 1С:EDT (1С:Enterprise Development Tools), Git и Vanessa ADD (Vanessa Automation Driven Development).

1С:EDT – это современная среда разработки, созданная на основе среды разработки модульных кроссплатформенных приложений Eclipse. Git является распределенной системой управления версиями с открытым исходным кодом. 1C:EDT позволяет автоматизировать работу с ветками Git: с помощью разных сценариев есть возможность каждую новую ветку привязать ко своей информационной базе. Используя набор инструментов Vanessa ADD, программисты создают автотесты для проверки качества разработки. Они запускаются после каждой выполненной задачи для подтверждения того, что она завершена. Из Git формируется собранный инкремент.

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

В следующих статьях мы расскажем о совместной работе в 1С:EDT и Git. Следите за нашими публикациями.

Давайте сотрудничать

Введите e-mail и/или телефон
Согласие на обработку персональных данных обязательно
Это поле необходимо заполнить Заполните телефон либо e-mail

Спасибо! Ваша заявка отправлена

В ближайшее время мы с Вами свяжемся!

Мы используем файлы cookie для обработки ваших персональных данных