Теория ограничений в digital: с чего начать
Работа менеджера — борьба со сроками, нехваткой бюджета и недовольными заказчиками. Найти решение этих проблем можно с помощью теории ограничений.
vlada_maestro / shutterstock
Главное о теории ограничений систем
Теория ограничений Голдратта (теория ограничений систем) — концепция управления, которую применяют, чтобы повысить производительность и эффективность проекта. Ее придумал израильский физик Элияху Голдратт в 1980-е годы. В основе теории ограничений — системное мышление, метод рассуждений и поиск причинно-следственных связей.
Принципы теории ограничений:
• Любая система — цепь элементов.
• В любой системе есть слабое звено.
• Главное — найти причину проблемы.
Цель теории ограничений — повысить эффективность проекта. Для этого Голдратт предлагает рассматривать любую систему как цепь элементов, где есть ограничения — части, которые тормозят всю работу.
Пять шагов теории ограничений и «барабан-буфер-канат»
В теории ограничений есть пять направляющих шагов.
Первый шаг
Найти ограничение системы.
Второй шаг
Устранить или ослабить его влияние.
Третий шаг
Направить все силы на ограничение.
Четвертый шаг
Снять ограничение.
Пятый шаг
Начать сначала.
Основной метод теории ограничений называется «барабан-буфер-канат». Название и саму идею Элияху Голдратт позаимствовал из мира скаутов.
Смысл метода в том, чтобы не нагружать всю систему на 100%. Пока слабое звено работает, остальные части могут простаивать, и это нормально. Их загруженность не повысит общую производительность.
Барабан. Слабое звено, которое задает темп работы всей системы. Для этого барабан должен функционировать непрерывно, а остальные подстраиваться. Например, если слабое звено — разработчик, остальные члены команды работают, исходя из его скорости.
Буфер. Запас времени, чтобы не тормозить процесс. Барабан не может простаивать без работы. Для этого он должен получать новую, как только сделает предыдущую. Например, разработчик только закончил один сайт, а его уже ждет другой.
Канат. Связь с остальной системой. Помогает следить, чтобы барабан получал именно то количество работы, которое успевает выполнять.
Метод «барабан-буфер-канат» — это конвейер. Он хорошо подходит для крупного производства. Но для разработки программного продукта — не всегда.
Как применять теорию ограничений в digital
Теория ограничений создавалась для производства. Но некоторые ее методы можно адаптировать для работы с digital-проектами.
Любой проект — цепь процессов со своей скоростью, где каждый потребляет результат предыдущего. По Голдратту общий успех зависит от производительности самого слабого звена системы. Того, что занимает больше времени и тормозит весь процесс.
Как это работает на практике
Определяем проблему. Проблема — срыв сроков. Много времени занимает тестирование. QA не успевает обрабатывать запросы, которые ему передают коллеги из разработки. И так — из проекта в проект. На первый взгляд кажется, что слабое звено — тестировщик.
Находим корень проблемы. Надо понять, почему тестировщик не успевает делать работу вовремя. Для этого анализируем причинно-следственные связи и строим диаграмму «Дерево текущей реальности». Начать нужно с очевидного, того, что на поверхности. Ищите истинную причину, пока не дойдете до корня всех проблем.
Оказалось, что тестирование занимает много времени, потому что разработчик делает много ошибок в коде. QA их находит и отправляет обратно разработчику на исправление. Время уходит сначала на переговоры, а потом на правки и повторное тестирование.
Решаем проблему. Например, можно заранее подготовить автотесты и применить их сразу после написания какой-либо функции. Это разгрузит тестировщика, но добавит работы программисту, поэтому он против. В команде конфликт интересов.
Разрешаем конфликт. Решать конфликты и любые противоречия помогает диаграмма «Грозовая туча». Чтобы ее построить, нужно учитывать общую цель проекта и мнения сторон.
На диаграмме показаны два варианта решения, и к чему они приведут по мнению каждой из сторон. Чтобы выбрать оптимальный путь, соберите всю команду и устройте мозговой штурм. Выслушайте, что она думает о конфликте, почему и как стала бы действовать. Такие рассуждения могут привести к решению, о котором вы не думали раньше.
Анализируем результат. Если заложить в план время на написание автотестов, то в результате можно избежать частых доработок. Тестировщик получит более чистый код на проверку. И если найдет ошибки, их можно будет исправить быстрее.
Теперь вы знаете основы теории ограничений. Этого хватит, чтобы использовать некоторые методы. Подробнее о концепции можно почитать в трилогии Элияху Голдратта «Цель», а увидеть, как она работает в digital, и разобрать реальные кейсы — на курсе Skillbox.