Згодом досліджуючи конкретні проблеми, ми почали збирати інформацію про те, як виправити певні частини потоку. Ми перетворили знання у стандарти, які були пов'язані з різними частинами потоку створення цінності, щоб напряму поєднати рішення з проблемами. Звичайно, чим більше проєктів використовувало потік створення цінності, тим більше стандартів розроблялося, за принципом спіралі.
Мінімізація втрат у вебдодатках.
Втрати в Lean – це дії, які не додають цінності клієнту та призводять до використання ресурсів, не підвищують ринкову вартість продукту, а збільшують його собівартість.
У сфері IT таких втрат достатньо, і саме Lean допоможе побачити їх та ліквідувати. Розповім вам про наш досвід.
Однією з перевагою карти потоку створення цінності є те, що вона допомагає нам визначити коефіцієнт Парето продуктивності. Якщо поглянути на найбільший розрив між стандартним та фактичним часом виконання завантаження, то нам це дасть змогу побачити на чому ми повинні сконцентруватися надалі.
Критичним з точки зору продуктивності зазвичай є шостий крок – браузер завантажує ассети. Це те місце, де важкі додатки викликають незадоволення у часі під час завантаження.
Кайдзен показав нам, що розробники часто завантажують бібліотеки (повторно використані фрагменти коду, які розроблені та розповсюджені всередині комьюніті), які не є необхідними для коду додатка. Це часто призводить до марного завантаження фрагменту коду, який ніколи не буде використано. Це і є одним із видів втрат у Lean. Одним з прикладів цього, це Lodash, популярна бібліотека Javascript, яка містить в собі більш ніж 100 часто використовуваних функцій (по суті швейцарський армійський ніж для Javascript розробника). Наприклад, розробнику необхідно використовувати метод «флаттен» бібліотеки Lodash для перетворення складних структур даних у простіші. Було б дуже наївно їх використовувати просто імпортуючи:
import { flatten } from 'lodash'; // weighs 71Kb Проте це має неочікуваний побічний ефект, через те що завантажується всі 100 функцій Lodash, хоча нам потрібно використовувати тільки одну. Щоб уникнути такої Lean втрати, є менш відомий підхід до завантаження необхідної функції: import flatten from `lodash/flatten`; // weighs 2.8Kb Цей простий трюк дозволить зменшити розмір на 68 КБ, цього достатньо, щоб прискорити час завантаження на 1 секунду для користувача 3G. Сьогодні 60% вебдодатків Theodo завантажується менше ніж за 3 секунди. Ми створили базу знань з більш ніж 10 стандартів, які покривають більшість проблем продуктивності. Наш наступна задача, перейти від реагування (виправлення додатків) до роботи на випередження (створення ефективних додатків з самого початку). Щоб досягти цього, нам необхідно буде навчитися правильно писати код з першого разу для оптимальної вебпродуктивності. Я не маю сумнівів, що кайдзен покаже нам шлях, як цього досягти. https://planet-lean.com/doubling-performant-apps-using-kaizen/