Рефактор 1-3
===
### Урок 3. Производственный процесс
#### Из этого урока вы узнаете:
- *Что такое бережливое производство*
- *Как концепция бережливого производства связана с DevOps и почему об этом важно помнить*
- *Что такое muda и как найти её в рабочих процессах*
- *Как создается продукт, ценный для пользователя*
Краткое содержание: жена Арсения, которая работает на заводе Avto Kompaniya, рассказывает ему про бережливое производство. Японцы утверждают, что мы всегда должны думать о той ценности, которую даём нашим пользователям, а также избегать любых видов потерь.

Арсений вернулся домой и первым делом рассказал жене о том, через что ему пришлось пройти на работе, чтобы внедрить Git.
Арсений: – Ты бы видела, какой бардак творится в этом стартапе!
Катя: – Что стряслось на этот раз?
Арсений: – Меня чуть не сожрали, но со второй попытки удалось внедрить Git вместо их старомодного хранения кода на FTP.
Катя: – Но жутко довольным тебя не назовёшь...
Арсений: – Мне кажется, мы теряем время. Организация в компании похожа на большую, неповоротливую черепаху, которая ещё и панцирь везде забывает. Хотя мы же стартап, должны быть быстрыми. Будешь тут довольным!
Катя: – Настолько плохо?
Арсений: – Коллеги не знают, кто и чем занимается на проекте. Все "привыкли" что-то делать. Давно бы уже зарелизили приложение, но куда там. Благодаря Git хотя бы с кодом будет порядок, но волшебной палочкой он не станет — хаос так просто не искоренить!
Катя: – Слушаю тебя, вспоминаю свою компанию и думаю, в каком же веке вы работаете... Хотя вроде IT!
Представляем вам Катерину, супругу Арсения и по совместительству начальника производственного участка на заводе Avto Kompaniya со стажем в 5 лет.

Арсений: – Ещё бы, на заводе всё по-другому: железная дисциплина, отлаженные процессы, постоянно движетесь вперёд — вот и секрет успеха! Стартап — творческий проект...
Катя: – ...в котором работают мечтатели:) Дело не в этом. Наш процесс основан на концепции бережливого производства, то есть снижаем любые потери и улучшаем всё, что можно улучшить. А ты всё "завод, завоооод".
Арсений: – Хорошо, стало чуть понятнее, но нам-то это как поможет?
Катя: – Давай я коротко расскажу тебе историю, а потом мы сможем провести аналогии и с процессами в IT-сфере?
Арсений: – Лишь бы информация могла усвоиться в моей обезумевшей голове. Конец рабочего дня, Кать!
Катя:– Это будет короткий и до жути интересный рассказ. Слушай:
Кнопка: "Сесть поудобнее"
Катя: – Начало 80-х годов прошлого века. Автомобильные гиганты "большой тройки" (General Motors, Ford и Chrysler) успешно снабжали мировой рынок самыми лучшими (как всем тогда казалось) автомобилями. Они частенько ломались, но тогда никто не жаловался — продукт был невероятно сложным! Настоящая беда пришла из Страны восходящего солнца. Японские машины уверенно расширяли своё присутствие на американском рынке: цена была в среднем ниже, а ломались машины крайне редко.
Арсений (кнопка): да уж, американцам, наверное, пришлось поволноваться..
Катя: – Конечно! Американцы задались вопросом "Что же делать?" и созвали проектную группу, которая исследовала весь мировой автомобильный рынок. Проект назвали "Международная программа “Автомобили” (International Motor Vehicle Program). С начала 1985 года идея здорово шагнула вперёд, мировой автомобильный рынок перетрясли с ног до головы, в результате чего и родился термин **бережливое производство** (с англ. Lean Production). В итоговом отчёте авторы заключили, что такой успех японских производителей связан не столько с промышленным превосходством, сколько с иной экономической моделью — наблюдался переход от массового производства к бережливому.
Арсений (кнопка): как вообще работает это бережливое производство?
**Что такое бережливое производство?** ЗАГОЛОВОК
Как уже нам рассказала Катя, главные задачи бережливого производства - **снижение любых потерь** и **постоянное совершенствование** (переводя на японский язык - Kaidzen). Говорить о потерях стоит с упоминания исполнительного директора Toyota - Тайити Оно (1912-1990), ведь именно он считается основоположником борьбы с потерями (как он их называл - muda).
Тайити определил **семь видов muda** - они встречаются абсолютно в любых производствах (пока читаете, постарайтесь подумать, где в вашей жизни или на работе случаются данные типы потерь).
1. Дефекты.
Исправляя ошибки, переделывая одну и ту же работу несколько раз, вы не добавляете вашему продукту ценности.
2. Ожидание.
Вы теряете время на неоправданное ожидание. Ждёте кого-то, чтобы сделал для вас что-то. Ждёте вдохновения, чтобы сделать что-то.
3. Перепроизводство.
Делаете лишние действия - выполняете ненужную задачу, пишете ненужный документ. Время затрачено, работа проделана, а ценности нет.
4. Излишние перемещения.
Могут быть как физические перемещения, так и виртуальные. Например, пенесели файл в папку, в папке, которая ещё в папке - потратите много времени, чтобы в следующий раз найти файл. Или пошли физически получать документ, который можно получить онлайн.
5. Лишние движения.
Схоже с предыдущем пунктом, но фокус на ручных движениях. Например, ищите в ящиках ручку.
6. Лишние процессы.
В вашей рабочей рутине присутствуют процессы, которые на самом деле не нужны и только отнимают ваше время. Например, когда подписываете тонны бумаг.
7. Запасы.
Для производства — это страшная вещь, ведь запасы равны неиспользуемым деньгам. И в жизни это тоже применимо: к примеру, храните квитанции об оплате коммуналки — подобные залежи бумаг не нужны.
При этом в концепции бережливого производства все существующие muda делятся на два рода:
**Muda первого рода** - это любые действия, которые не создают ценность, но без них нельзя обойтись. Мы их никак не уберём из процесса, но должны делать всё возможное для их оптимизации. Например, подписание документов, проветривание помещений.
**Muda второго рода** - это действия, не приносящие ценность, которые можно (и нужно) удалить из общего процесса. Например, ожидание, пока коллега отправит вам нужный файл, поход в курилку.
Поразмыслив над типами потерь, становится понятнее, что бережливое производство - не обязательно про конвейеры и промышленные заводы. Мы, как личности, и мы, как команды (в любом бизнесе), должны думать о том, как снижать количество выполняемых нами действий, не приносящих ценность, тем самым уничтожая muda.
ТУТ КВИЗЫ
КВИЗ 1. Выберите правильное определение концепции бережливого производства?
1. Набор методологий гибкого управления проектами и разработкой ПО (нет, это определение Agile)
2. Модель управления проектом, которая подразумевает последовательное прохождение стадий разработки, каждая из которых должна завершиться до начала следующей. (нет, это определенеие Waterfall)
3. Гибкая методология управления процессом разработки ПО, базовыми принципами которой являются работа спринтами, наличие владельца продукта в каждой команде, гибкость и взаимодействие внутри команды. (нет, это определение Scrum)
4. Методология управления процессами, при которой команда стремится минимизировать любые виды потерь.(да)
КВИЗ 2. В чём основные идеи Kaidzen?
1. Постоянное улучшение любых процессов, как рабочих, так и личных. (да)
2. Эффективная коммуникация между командами и взаимная ответственность (нет)
3. Непрерывный поиск узких мест и идей для улучшений. (да)
4. Непрерывное обучение персонала основам пожарной безопасности. (нет)
КВИЗ 3. Что такое muda?
1. Любые процессы, не приносящие пользы как в жизни, так и на работе. (да)
2. Любые процессы, которые вдохновляют команду на работу (нет)
Кнопка: "Как строить бережливое производство?"
**Принципы организации бережливого производства** (ЗАГОЛОВОК)
1. Определение ценности (ЗАГОЛОВОК ПОМЕНЬШЕ)
Обратите внимание, мы много раз упоминали слово «ценность», давайте сфокусируемся на нём. **Определение ценности** — это первый принцип и отправная точка при организации в компании бережливого производства. Она всегда определяется производителем товара или услуги, которые, в свою очередь, создаются для того, чтобы удовлетворить конкретный запрос потребителя. Для потребителя, в принципе, производитель только для этого и существует, он всегда платит деньги за ценность (за то, **что** удовлетворяет его потребность). Таким образом, определение ценности вашего продукта или услуги — ключевая активность для организации у себя бережливого производства.
На сером фоне: Каждый приницп мы постараемся раскрыть с точки зрения нашего мира — мира разработки программных продуктов. Если говорить об определении ценности, то в нашем случае суть та же, что и с любыми другими отраслями. Наше ПО — это наш продукт, он должен решать какую-то потребность пользователя. Нам важно определить ключевую потребность, чтобы работать в первую очередь над ней. Например, ваша команда может долго заниматься перекрашиваением кнопки «оформить заказ», когда на самом деле её расположение вообще не нравится пользователям.
Давайте определим ценность на реальном примере.
КВИЗ 1. В чём ключевая ценность любого мессенджера для пользователя? (один вариант ответа)
1. Установка аватарки пользователя (нет)
2. Отправка картинок между пользователями (Нет. Всё-таки мессенджеры придуманы для отправки текстовых сообщений. Картинки — это тоже важная фича, но без возможности общения текстом смысл использовать мессенджер сходит на нет.)
3. Мгновенная отправка текстовых сообщений между пользователями (да, это основная фича мессенджеров)
4. Отправка стикеров (нет)
.
2. Поток создания ценности (ЗАГОЛОВОК)
Второй принцип говорит о необходимости не только сформулировать ценность, но и организовать **поток создания этой ценности**. Одним словом, что конкретно необходимо совершить, чтобы ваш продукт или услуга прошли весь цикл создания: от разработки концепции до приобретения его потребителем. Все действия в рамках потока создания ценности в реальности всегда включают в себя muda (помним про muda первого рода).
На сером фоне: Если говорить о мире разработки ПО, поток создания ценности будет состоять из этапов создания продукта. Сначала команда должна собрать требования от заказчика, затем спроектировать будущее решение, разработать прототип, протестировать, доработать и так далее. Совокупность всех этапов — это и есть поток создания ценности.
3. Непрерывное течение потока создания ценности (ЗАГОЛОВОК)
После того, как мы спроектировали поток и убрали лишние действия (muda второго рода), нам нужно обеспечить **непрерывное течение этого потока**, то есть привести поток в движение. Это третий принцип концепции. Для этого этапа, порой, необходимо радикальное изменение процессов в команде.
На сером фоне: Чтобы наш поток стал непрерывным, мы должны позаботиться о том, чтобы процесс разработки нашего продукта был непрерывным. Чтобы каждый мог не ждать соседа, а делать что-то полезное.
Кнопка "Реальный пример организации поточности"
Генри Форд был первым, кто реализовал на своём производстве идею поточности. Раньше было принято всё производить партиями, создавая большие, зачастую необоснованно большие, запасы.
Форд осенью 1913 года сумел сократить затраты на сборку легендарной модели «Т» на 90% при помощи организации конвейерной сборки автомобиля. В конечно итоге, и Форду, и Тайити Оно удалось организовать на своих производствах поточность.
Делая вывод, можем сказать, что непрерывная и линейная организация производства чего-либо доказанно эффективнее производства чего-либо партиями в разных отделах.
4. Вытягивание продукта из потребителя (ЗАГОЛОВОК)
Четвёртый принцип организации бережливого производства — это **вытягивание** продукта из потребителя. Здесь речь идёт тоже о довольно универсальном умозаключении: производить нужно то, что нужно потребителю, и тогда, когда ему это нужно. А не продавать то, что у вас залежалось и потребителю не нужно.
На сером фоне: Вытягивать продукт - значит начинать делать свою работу только после того, как вы получите сигнал от вашего заказчика. Это не обязательно клиент, может быть и внутренний заказчик — ваш коллега. Здесь идея в том, что не нужно делать никаких действий просто так, впрок или «авось будет нужно», всегда дождитесь запроса.
5. Постоянное совершенствование (ЗАГОЛОВОК)
И наконец, пятый принцип бережливого производства — **постоянное совершенствование**, или **Kaidzen**. Когда вы пройдёте через все предыдущие шаги при организации бережливого производства, вы поймёте, что процесс совершенствования вашего продукта или услуги бесконечен.
На сером фоне: Как только вы убедились, что процесс разработки вашего продукта «поставлен на рельсы», вам необходимо задуматься о системе улучшений. Как будет организован процесс внедрения улучшений? Где брать идеи для улучшений? Кто будет ответственным за дорожную карту улучшений? На ком внедрение и прочие вопросы? Ваша главная задача — обеспечить **непрерывный** процесс внедрения улучшений в ваш продукт.
ПОПРОСИТЬ МАШУ ВСТАВИТЬ ССЫЛКИ НА КНИГИ ПО change management
Важно знать, что принципы бережливого производства, как и часть философии DevOps, основываются на одних и тех же вещах: сокращение потерь и рисков, постоянное совершенствование продукта, что реализуется, к примеру, за счёт автоматизации, подходов типа Infrastructure as Code, Kandan-досок и много чего ещё.
Соберём все принципы внедрения бережливого производства вместе:

**тут нужна мысль про связь с девопс как завершающая часть урока, резюме**
КВИЗ:
Расположите по порядку все принципы организации бережливого производства на примере продукта «мессенджер»:
1 - Определили, что ключевая ценность нашего продукта — это мгновенный обмен сообщениями между пользователями 1
2 - Определили, какие ресурсы нам нужны и какие этапы мы должны пройти, чтобы разработать функционал обмена сообщениями 1
3 - поняли, что нужно сделать, чтобы разработка нашей фичи шла непрерывно 1
4 - сверили ожидания ваших пользователей с тем, какой будет фича (действительно ли пользователям нужно именно это и в таком виде) 1
5 - Думаете о том, как сделать ваш мессенджер ещё лучше 1
Если не следовать этим принципам, продукт перестанет быть инновационным и не сможет приносить ценность нашим пользователям или бизнес-заказчикам.
Наконец, становится ясно, почему бережливое производство называется бережливым. Следуя принципам выше, вы, как производитель, сможете делать куда больше, а затрачивать при этом всё меньше ресурсов — человеческих усилий, времени и производственных площадей. При этом вы будете приближаться к тому, чтобы предоставить потребителю именно то, чего он желает.
На этом мы завершаем блок теории. Предлагаем закрепить изученное.
КВИЗ 1
Что из этого является ключевой ценностью для сервиса такси:
- Быстро добраться из точки А в Б (да) (Правильно, это ключевая ценность сервисов такси./Это ключевая ценность сервисов такси.)
- Заказать такси в приложении (нет, это приятный бонус хоть и влияет на скорость) (Да, это лишь приятный бонус для пользователя, хоть и влияет на скорость и удобство оказания услуги/Неправильно, это лишь приятный бонус для пользователя, хоть и влияет на скорость и удобство оказания услуги)
- Оценить работу водителя (Да, это фича, которая только добавляет ценности/Нет, это фича, которая только добавляет ценности. Она не имеет никакого смысла, если мы не окажем услугу перемещения из точки А в Б (ключевую ценность).)
- Поговорить с водителем (Да, это лишь дополнительная приятная (или не очень, кому как) фича для пользователя. / Нет, это лишь дополнительная приятная (или не очень, кому как) фича для пользователя. Она не имеет никакого смысла, если мы не окажем услугу перемещения из точки А в Б (ключевую ценность).)
- Выбрать класс машины (хорошая фича, но не ключевая, сокрее добавляет ценность) (Да, это хорошая фича, но не ключевая, она только добавляет ценности./ Нет, это хорошая фича, но не ключевая, она только добавляет ценности.)
КВИЗ 2
Действия или операции, не приносящие ценность, которые можно исключить из процесса, не нанося вреда результату:
- Muda первого рода (нет, muda первого рода так просто не исключишь из процесса) (Да, muda первого рода так просто не исключишь из процесса./Нет, muda первого рода так просто не исключишь из процесса.)
- Muda второго рода (да)
- Muda третьего рода (нет, такой не бывает) (Такой muda не бывает :)/Такой muda не бывает :)
- Нулевая Muda (нет, такой не бывает) (Такой muda не бывает :)/Такой muda не бывает :)
КВИЗ 2,5:
Сопоставьте виды muda с их примерами:
1. Muda первого рода - дорога на работу, фикс багов, подписание документов, ежедневные совещания
2. Muda второго рода - перекладываение бумажек, поход в курилку, хранение лишних файлов на компьютере
3. Ни первый, ни второй (будут варианты ответа, которые никуда не надо относить): разработка ключевой фичи, тестирование ключевой фичи и всё в таком духе.
КВИЗ 3:
Расположите в правильном порядке шаги, отражающие процесс построения бережливого производства:
1 - определить ценность
2 - создать поток ценности
3 - обеспечить непрерывное движение потока ценности
4 - начать вытягивать продукт из потребителя
5 - постоянно улучшать текущий процесс производства
КВИЗ 4:
Отметьте все действия, которые в процессе разработки по, по вашему мнению, замедляют процесс доставки вашего ПО до конечного пользователя:
- хранение кода на ftp (Когда у вас большой штат разработчиков, они замучаются отслеживать изменения и делать правки. Когда команда работает слаженно и через FTP — почему нет?)
- использование систем автоматизации сборки и доставки кода (Всё зависит от нужды. Иногда в компании бывает достаточно одного сотрудника, который справляется абсолютно со всем. К чему затрачивать ресурсы на автоматизацию? :))
- использование подхода инфраструктура как код (Может как замедлять, так и ускорять процессы. Получится развернуть инфраструктуру с должным охватом — ускорит; проект будет скромным — замедлит.)
- использование Windows-серверов (Почему Windows-сервер сразу замедляет? Они вполне пригодны для определённо круга задач. Вопросы в нагрузке, настройке, безопасности и оптимизации.)
- ничего не замедляет (Можете один раз написать скрипт, и всё быстро улетит в продакшен :))
СЛЕДУЮЩАЯ СТРАНИЦА, ДИАЛОГИ
Катя: – Как-то так. Параллели можно провести как с промышленным производством, так и жизнью. Ты ещё здесь, Сеня?
Арсений:– Да, пока ты рассказывала, я насчитал с десяток мест, где в моей жизни регулярно возникают потери. Правда, не могу понять, как применить это в работе...
Катя: – Ну, разве что разработать свой план, шаг за шагом?
Реализуя принципы бережливого производства, мы следуем философии DevOps, которая подразумевает сокращение потерь, рисков и постоянное поддержание ценности продукта. Бережливое производство является точкой пересечения с другими ключевыми составляющими DevOps.
Держите реальный пример: неправильное управление merge request'ами, ветками изменений и игнорирование правил работы с кодом в среде админов и разработчиков (например, когда не проводятся тесты в коде инфраструктуры) приводит к ошибкам. Это в корне противоречит непрерывному развитию процессов, направленных на улучшение качества окружения без взаимодействия с исходным продуктом. Читайте, противоречит бережливому производству.
Предлагаем вам подумать, как принципы бережливого производства перекладываются на мир IT. Проанализировать себя, свой рабочий день и задачи. Где вы видите потери и что можете исключить уже сейчас? А что хотелось бы исключить, но нужно время? Рефлексируйте свободно, нудных правил здесь нет. Мы оставим поле для свободного ввода текста ниже, правильных и неправильных ответов нет.

Предлагаем вам проделать данные шаги для ответа:
1. Проанализируйте свой день. выпишите ТОП-3 потери — ваши регулярные действия, которые не приносят ценности на работе. Отвечая на этот вопрос, подумайте:
- какие действия занимают больше всего времени? Почему?
- можно ли оптимизировать эти процессы? Если да, опишите ваш план по оптимизации своего труда.
ПОЛЕ ДЛЯ ОТВЕТА: (в нем подсказка):
Три потери:
1...
2...
3...
План
1)...
2)...
3)...
4)...
2. Понимаете ли вы ценность продукта, над которым сейчас работаете? Сформулируйте её. Подумайте:
- какие улучшения в продукт можно внести уже сейчас?
- что для этого можете сделать конкретно вы?
- что вы можете предложить команде для улучшения продукта и как повлиять на успешную реализацию ваших идей?
ПОЛЕ ДЛЯ ОТВЕТА:
ХЗ КУДА ВСТАВИТЬ ПОКА НО ПРИМЕРЫ ПОЛЕЗНЫЕ **Пример 1**: последовательное выкатывание проекта: тест — препрод — прод. Нарушение такой последовательности может привести к плохим результатами. Одним словом, вы сломаете процесс выкатывания релизов. Чинить придётся долго или очень долго. **Пример 2**: метод «Шаг влево, шаг вправо» является довольно крутым, но иногда из-за него неверно смещают тестирование или пытаются провести слишком поздно. Результат тот же — ломается процесс.
Перед отправкой ответа скопируйте написанное в блокнот, чтобы сохранить умозаключения при себе.
#### Из этого урока вы узнали:
- *Что такое бережливое производство*
- *Как концепция бережливого производства связана с DevOps и почему об этом важно помнить*
- *Что такое muda и как найти её в рабочих процессах*
- *Как создается продукт, ценный для пользователя*
### Переход к следующему уроку
Пока Арсений анализировал рабочие процессы, действия коллег, считал потери и расставлял последовательности действий, грядущий день приготовил ему новое испытание, которое заставит на практике использовать один из усвоенных принципов бережливого производства. Он пока об этом ничего не знает — Сеня отключился на диване с блокнотом в руках. Просьба разбудить уже завтра.