Менеджмент цифрового продукта. От идеи до идеала. Ярослав Шуваев
внутри продукта разбивается на ряд «микроулучшений», разработку которых проще оценивать и прогнозировать. Более подробно об этом в главе про декомпозицию (5.2.2.7 Прояснение бэклога ⁄ Декомпозиция элементов продуктового бэклога).
2. Кросс-функциональность разработчиков. Знания в смежных предметных областях позволяют приступить к разработке, не дожидаясь бутылочного горлышка[6] – участия узкоспециализированного эксперта. (Подробнее об этом см. в п. 3.2.)
3. Утилизация технического долга. В процессе разработки в коде накапливается неоптимальность, которая не может быть разрешена в момент поставки в связи с временными ограничениями. В этом случае разработчики фиксируют необходимые доработки для того, чтобы вернуться к ним позже – накапливают техдолг. Утилизация техдолга в процессе простоя – не очень хорошая практика, но лучше, чем пустая потеря времени. (Подробнее о техдолге и других нефункциональных требованиях см. в п. 3.3.)
2.1.3. Потери при ненужной транспортировке
В промышленном производстве под отходами на ненужную транспортировку подразумеваются все виды ресурсных расходов, осуществляемых при транспортировке компонентов готовой продукции и финальных изделий. Сюда включены:
1. Расходы на транспортную инфраструктуру
2. ФОТ обслуживающего персонала.
Для минимизации отходов при транспортировке сокращается пространство между производственными операциями.
В цифровом производстве отходом при перемещении может быть потеря времени при переносе артефакта из одной системы в другую. Например, ручной перенос кода между окружениями развертывания[7] ПО.
Для минимизации таких отходов следует использовать инструменты непрерывной интеграции ⁄ доставки (CI/CD)[8].
2.1.4. Потери из-за лишних этапов обработки
В жизни мы часто сталкиваемся с ситуацией, когда дальнейшая «полировка якоря» уже не добавляет ценности продукту. К такого вида расходам можно отнести:
1. Дополнительные операции, например дополнительная полировка.
2. Дополнительное время обработки, например излишнее время закаливания.
3. Дополнительные ресурсы, например больший расход лака на покрытие.
Часто хватает здравого смысла, чтобы определить, какие операции или ресурсы избыточны, но иногда соотношение затрат и полученного результата не столь очевидно.
Для выявления ценности каждой операции проводятся лабораторные эксперименты, когда выявляются зависимости между стоимостью производства и потребительскими характеристиками, например тесты на прочность или стойкость к коррозии.
В цифровом производстве с потерями от лишней обработки борются похожим способом.
Улучшение качества проработки функции разделяется на этапы, и каждый этап тестируется на ограниченной выборке пользователей.
Результаты сравниваются с другой выборкой, у которой нет данного решения. Если
6
Бутылочное горлышко
7
Окружения развертывания – компьютерная система, в которой выполняется ПО. В процессе разработки ПО может переходить в разные окружения – локальное (local, компьютер разработчика), тестовое (test, для тестирования на ошибки и нагрузку), производственное (production, открытое для пользователей).
8
Непрерывная интеграция ⁄ доставка