Одно из решений проблемы – на моменте старта и масштабирования продукта использовать облачную инфраструктуру. Многие поставщики таких услуг, как правило, используют гибкую систему ценообразования, когда оплата производится в зависимости от актуального потребления ресурсов.
Этот вид потерь можно сравнить с потерями на транспортировку, но речь идет о временных затратах на перемещение компонентов/изделий и инструментов внутри производственной ячейки[9]. Например, перемещение рабочего от изделия к ящику с инструментами и назад.
Для минимизации отходов при перемещении создается среда, где не нужно тянуться за инструментами и тратить время на поиски.
В цифровом производстве отходом при перемещении может быть перемещение внутри рабочего места. Например, когда дизайн-макет переносится в приложение электронной почты для последующей пересылки.
Для минимизации таких отходов следует использовать:
1. Инструменты, объединяющие в себе несколько производственных этапов, например создание дизайн-макетов, их анимация и подготовка для верстки.
2. Инструменты с автоматической доставкой артефактов, например плагин для экспорта графического макета в хранилище компонентов для фронтенд[10]-части продукта.
Потери из-за дефектной продукции включают:
1. Расходы на возврат дефектного продукта или партии.
2. Расходы на утилизацию дефектного продукта.
3. Расходы в связи со снижением спроса.
Во избежание таких потерь внедряются системы контроля качества.
Подобный подход применяется и в разработке цифровых продуктов в нескольких видах:
1. Ручное тестирование, осуществляемое QA[11]-инженерами.
2. Автоматическое тестирование – когда создается ПО, имитирующее взаимодействие с пользователями.
3. Автоматическое модульное тестирование (auto unit-test) – специальный код, создаваемый самими разработчиками для проверки созданной функциональности.
Также при разработке цифровых продуктов встречаются подходы, которые трудно реализовать в физическом производстве:
1. Переключатели фич (feature toggling) – позволяют дистанционно отключать функциональность у определенных групп пользователей, если обнаруживаются проблемы.
2. Прогрессивная раскатка (progressive rollout) – позволяет открывать функциональность постепенно на всю аудиторию, например по 10 % в неделю, и следить за возникающими проблемами.
3. Автоматический откат (automatic rollback) – в случае возникновения проблем функциональность приложения автоматически откатывается к предыдущей стабильной версии.
На уровне инженерных практик в процессе разработки вводятся критерии стабильности и критерии производительности для приемки разрабатываемого программного обеспечения. Например: «Время недоступности системы за последние 48 часов < 1 %», «Доля доступных функций за последние 48 часов > 99 %» и др. Более подробно критерии приемки, относящиеся к качеству разработки, мы рассмотрим в и. 3.3.
Принципы бережливого производства меняются со временем и в зависимости от автора. Ключевой идеей является ориентация на максимальную ценность для потребителя, опираясь на которую строятся все производственные этапы. Авторы Джеймс Вомак и Дэниел Джонс, которые одни из первых дали определение термину «бережливое производство», в книге «Бережливое производство: как избавиться от потерь и добиться процветания вашей компании» выделяют следующие производственные этапы:
1. Value – определить ценность продукта.
2. Value Stream – определить поток ценности.
3. Flow – обеспечить свободное течение потока ценности.
4. Pull – втягивание вместо выталкивания.
5. Perfection – стремиться к совершенству.
Разберем эти принципы подробнее и проведем параллель с разработкой цифровых продуктов.
Под ценностью, как правило, понимаются свойства продукта, за которые потребитель готов платить. Очевидно, что если потребитель не будет платить, то поточное производство такого продукта станет невозможным. А значит, нет смысла говорить об организации производства, оптимизации издержек и внутренней культуре, пока не будет определена ценность продукта.
В цифровом производстве действуют абсолютно такие же законы. Необходимо определить, в чем ценность цифрового продукта для пользователя. Несмотря на то что определенные сегменты пользователей не всегда расплачиваются деньгами, деньги на каком-то этапе должны появиться в цепочке представления ценности.
Например:
1. Фримиум-модель подразумевает, что в определенный момент пользователь дорастет до потребления платных свойств продукта.