看板
является очень распространенным механизмом управления задачами. Канбан является частью большинства инструментов совместной работы, которые мы используем, таких какTower
,Teambition
,Trello
,Github
,Gitlab
...
Канбан-доски можно использовать не только для совместной работы в команде, но и для управления и оптимизации индивидуального времени.Но знаете ли вы, как использовать Канбан??
Wiki
Объяснение выше:看板是丰田生产模式中的重要概念,指为了达到及时生产(JIT)方式控制现场生产流程的工具。及时生产方式中的拉式生产系统可以使信息的流程缩短,并配合定量、固定装货容器等方式,而使生产过程中的物料流动顺畅
.
Из вышеприведенного определения необходимо отметить следующие моменты:
- производство точно в срок- Это стратегия управления, которая повышает окупаемость инвестиций в бизнес за счет сокращения запасов и связанных с ними непредвиденных затрат во время производства.
-
Управляйте сценой- Канбан – это
现场还原
а также现场控制
метод -
Вытяжная производственная система- Традиционная разработка программного обеспечения заключается в использовании
推(Push)模式
, который предусматривает, что задача должна быть выполнена определенным лицом в течение определенного времени. Вытягивающая производственная система больше похожа на модель производитель-потребитель.Канбан — это сигнал.Когда восходящий поток выполнил задачи, он уведомляет нижестоящий о начале обработки этих задач. - Количественный- Каждое звено в процессе имеет фиксированную пропускную способность, что помогает выявить узкие места в процессе
«Анализ бережливой разработки продукта (1) — метод разработки Канбан»Очень хорошо обобщает Канбан,Суть инструмента Канбан заключается в том,: Когда следующему процессу понадобится канбан, он отправит сигнал предыдущему процессу — пожалуйста, дайте мне ввод необходимого количества, и предыдущий процесс будет производить по запросу только после получения канбана. Сигналы канбана передаются от нисходящего потока к восходящему, подтягивая производственные процессы вверх по течению и направляя продукцию вниз по течению. Источником притяжения является самая высокая потребительская ценность, то есть заказы или требования клиентов.
Далее шаг за шагом будут представлены этапы применения Канбана. Если ваша команда все еще застряла на первом этапе, попробуйте продолжить тренировки.
Схема статьи
- Уровень 1: Начните с существующего процесса, визуализация процесса
- Второй заказ: лимит WIP
- Уровень 3: Объединение Scrum
- Канбан Дневной Тур
- Расширенная информация
серия статей
- Если я руководитель фронтенд-группы, как мне сформулировать спецификации фронтенд-сотрудничества? 🔥
- Если я руководитель фронтенд-команды, как сделать хороший сводный дизайн?
- Если я руководитель фронтенд-группы, как я могу использовать Канбан для управления задачами?
Уровень 1: Начните с существующего процесса, визуализация процесса
Визуализация процесса разработки — основное применение Канбана.Выше приведен типичный пример Канбана, который визуально описывает功能项
изЖизненный цикли командаПроцесс развития. Он показывает нам такой процесс:
需求分析 -> 产品设计 -> 开发 -> 测试 -> 部署
абстракция процесса
У каждого человека и каждой команды свой рабочий процесс. Прежде чем разрабатывать канбан-доску, нам нужно разобраться в нашем собственном рабочем процессе.
Например, процесс «личного» очень прост, есть только одно действие: «делать или нет», поэтому личный канбан обычно такой
todo -> doing -> done
Вы обнаружите, что даже очень простой процесс,Каждое звено процесса будет иметь три подмодуля:未做
/正在做
/已完成
, Для личного Канбана три модуля разделены, в основном, с цельювосстановить текущую сцену. Это еще более важно для команд, где вы можете визуально отслеживать ход разработки задач с помощью канбан-досок.
Текущий процесс разработки нашей команды также очень прост:
设计 -> 开发 -> ...
-
дизайн: дизайн приложения, необязательный, обычно делается при запуске проекта или разработке важных функций.
概要设计
- развивать: нормальный процесс развития
Конечно, это только «частичный» процесс для команды разработчиков, и полный процесс разработки программного обеспечения показан в первом примере Канбана. Потому что мы не «гибкая» команда, пока мы несем ответственность前端开发
Этой части достаточно. Посмотрите на общую картину需求分析
,产品设计
,测试
так же как部署
вне нашего контроля. Так что это не должно быть суммировано в нашем процессе разработки.
непрерывный процесс улучшения
Процесс не статичен, он будет продолжать развиваться по мере углубления практики. Например, из-за того, что члены нашей команды имеют разные способности и опыт, например, код новичка часто содержит ошибки, а детали проработаны некачественно. Как с этим бороться?
Во-первых, подумайте, можете ли вы улучшить процесс., чтобы замедлить или устранить это и улучшить качество кода?
После долгих размышлений и обсуждений мы решили开发
После ссылки добавил交叉测试/Review/用户体验测试
связь. Он содержит три значения,交叉测试
это назначить кого-то другого для тестирования,Review
Относится к обзору на уровне кода (белое поле),用户体验测试
Приемочный тест (черный ящик) запускается с точки зрения пользователя.
Ниже представлена улучшенная доска Канбан (设计 -> 开发 -> 交叉测试
):
Объем Канбана
Качественные персональные рекламные щитыВыше вы видите «персональную доску», «командную доску» и «доску, охватывающую весь процесс разработки программного обеспечения».Вы обнаружите, что Канбан очень широко используется и может применяться на разных уровнях, а степень детализации задач различна..
В нашей фронтенд-команде есть две доски Канбан, одна周计划看板
,один任务看板
.
周计划看板
Детализация задач — это «проект» или «большая функция», используемая для планирования и отслеживания приблизительного количества задач в неделю; а также任务看板
Это множество уточненных задач, таких как небольшие функции, исправления ошибок и оптимизация деталей.人/天
Ниже сайт разработки каждого участника разработки можно максимально восстановить.
На уровне командной работы у нас также есть研发看板
, это похоже на первый пример Канбана, чтобы восстановить полный процесс разработки приложения, каждая команда занимает столбец над доской Канбан для отображения и отслеживания потока информации между командами:
расстановка приоритетов
над нами团队看板
, есть несколько специальных столбцов:计划
/本周待办
/缓冲区
. Основная цель основного столбца — расставить приоритеты задач, позволяя команде сосредоточиться на задачах, которые должны быть приоритетными в данный момент.
Приоритет в Канбане может быть реализован двумя способами:
1. Разделите Канбан:
например, расстановка приоритетов缓冲区
> 本周待办
> 计划
- строить планы- Задачи, которые нужно выполнить в ближайшее время, некоторые задачи имеют низкий приоритет и могут не обрабатываться год-полтора. Эта колонка похожа на памятку
- недельный план- Выберите несколько задач на панели плана в качестве «целей развития» на этой неделе. Указывает, что планируется сделать на этой неделе
- буфер- Отфильтруйте задачи с наивысшим приоритетом из недельного плана, которые должны быть обработаны в первую очередь.
- Завершено (конец недели)Поместите задачи, которые были выполнены каждую неделю, это соответствует недельному плану, и вы можете оставить отзыв о ходе выполнения «недельного плана».
Обычно мы «архивируем» раз в неделю已完成
столбец. При использованииTower
, вы можете получить все исторические записи за несколько недель через «Просмотр архивов».
2. Установите приоритет задачи
Специальные теги также могут быть установлены на уровне задач, чтобы отметить приоритет задач. Кроме того, задачи с высоким приоритетом также могут быть помещены в начало очереди с указанием приоритета задачи.
Используйте изображение нижеTower
Задаче может быть присвоен приоритет, и она будет отмечена другим цветом:
Толкающая модель (Push) и вытягивающая модель (Pull)
ещелевое ухо крыса, он упомянул в одной программе «таланты X-типа и таланты Y-типа», которые произвели на меня глубокое впечатление, он указал, что таланты можно разделить на два типа:
- Талант Х-типа: делай, когда дают задание, не знаешь, что делать без него
- Таланты Y-типа: самостоятельные, автономные и инициативные, с чувством принадлежности к предприятию. Этот человек подходит для менеджера
Большинство людей — это X-образные люди, поэтому компаниям приходится платить более высокие зарплаты, чтобы нанимать Y-образных людей для управления и управления X-образными людьми. Но я не думаю, что это врожденное.При определенных обязанностях и поощрении или при определенных механизмах управления мы также можем стать Y-образными талантами или даже Y-образными командами. Многие agile-теории выступают за «командную автономию» и надеются, что команды и члены могутдействующий по собственной инициативе, чтобы стимулировать развитие бизнеса.拉模式
Эта идея также может быть отражена.
Все традиционные команды используют модель push-уведомлений, в которой лидер назначает задачи членам команды, указывая время выполнения и различные показатели. Этот способ еще называют推动系统(Push System)
, это обычно зависит от планирования времени, и когда время приходит, его «пассивно» побуждают что-то делать.
Принимая во внимание, что Канбан отлично подходит для модели вытягивания. Поэтому Канбан также называется信号板(Signal)
, вы можете рассматривать задачу как «событие», и работа управляется событием (аналогично шаблону «производитель-потребитель»). Это все еще немного похоже на сборочную линию фабрики.Выход восходящего потока является своего рода «событием», а нисходящий поток активно извлекает объекты восходящего потока для обработки.
Преимущество этой модели в том, что руководителю больше не нужно заботиться о мелких рабочих заданиях и решениях, что позволяет членам команды эффективно планировать мероприятия самостоятельно. Кроме того, это позволяет избежать ситуации, когда члены команды знакомы только с некоторыми из этих проектов или выполняют и несут ответственность только за один тип вещей. Это делает команду более пассивной, когда участники уходят, потому что другие участники не знакомы с работой уходящего участника. Таким образом, режим вытягивания также может позволить членам команды покинуть свою зону комфорта, участвовать в различных проектах и знакомиться с ними.
В настоящее время мы используемГибридный, Некоторые задачи назначаются нужному человеку заранее, и если на доске Канбан нет назначенного ответственного лица, эта задача может быть взята любым, двухтактная комбинация.
Выявление узких мест
Несколько ссылок в процессе будут связаны друг с другом посредством ввода и вывода, как канал:
tasks -> (流程1) -> (流程2) -> Done
Выход (Done) предыдущего процесса является входом (Todo) следующего процесса.Согласно идеальному состоянию, информационный поток должен плавно и плавно течь по конвейеру. Если в каком-то звене есть узкое место, это может привести к смерти занятости и праздности безделья.
Если хорошенько подумать, то метод управления процессами Канбан чем-то напоминает «заводскую сборочную линию»: если звено заблокировано, в этом звене скопится много компонентов, а в даунстриме будет простое ожидание, а вышестоящая ссылка также будет заблокирована.
За счет восстановления Канбана на месте мы можем легко найти узкое место в этом процессе.Как решить эту проблему?
Это можно сравнить с программой.Когда мы обнаруживаем проблему производительности в программе, обычно есть два направления для решения:
- Является ли это проблемой алгоритма? Можно ли использовать лучший алгоритм или решение? В соответствии с задачей разработки необходимо рассмотреть, не является ли метод реализации неправильным?
- Если это узкое место оборудования, можете ли вы расширить аппаратные ресурсы и обновить оборудование? В соответствии с задачей развития, мы должны рассмотреть, следует ли добавить больше рабочей силы?
В следующем разделе я расскажу об этом, установив在制品
Количество (пропускная способность), облегчающее Канбану выявление узких мест.
Суммировать
Используя Канбан, мы получаем следующие преимущества:
- Визуализация процесса: через канбан-доску вы можете увидеть, по каким ссылкам будет проходить задача и по какой ссылке она находится в данный момент.
-
Восстановить сайт разработки:
- Визуально отслеживать ход разработки
- Выявление узких мест процесса
- Вклад виден
- режим вытягивания: действующий по собственной инициативе
Второй заказ: лимит WIP
Большинство команд используют Канбан на первом уровне, визуализацию процессов. Очарование Канбана выходит за рамки этого. На втором этапе мы хотим начать ограничивать объем незавершенного производства.
Что такое работа в процессе
Незавершенное производство, также известное как полуфабрикаты. Как следует из названия, это частично незавершенная задача.
В Канбане некоторые столбцы будут иметь ограничения WIP дляОграничьте то, что может обрабатывать ссылка «в то же время». Другими словами, это ограничение «пропускной способности трафика» определенной ссылки или дросселирование.
Зачем ограничивать WIP?
1. Выявляйте узкие места быстрее
Хотя в «первом порядке» мы также можем определить узкие места процесса, это не особенно интуитивно понятно, по крайней мере, с помощью канбан-доски. Возможно, вам придется подробно следовать запросу, чтобы понять, какой процесс завис.
После ограничения WIP пропускная способность каждой ссылки фиксируется, например, ограничение WIP для «тестовой» ссылки равно 6. Если «тестовая» ссылка достигает предела, восходящий поток не может подключить ее к другим задачам. Это выявляет узкое место в ссылке «тест».
Как установить лимит WIP также более важно.Если параметр слишком мал, количество одновременных задач обработки станет меньше, и ресурсы могут не использоваться.Если он слишком велик, выявить узкие места непросто. .. В следующем разделе описывается, как настроить WIP.
2. Избегайте прерываний, избегайте переключения контекста
Еще одним преимуществом ограничения WIP является сокращение числа одновременных участников, обрабатывающих несколько задач.
Как и компьютерные процессы, затраты на переключение контекста относительно велики. Для разработчиков прерывание задач и переключение задач также будут пустой тратой времени на переключение, потому что нам нужно скорректировать/пересмотреть идеи, чтобы инвестировать в новые процессы задач.
Поэтому, ограничивая WIP, участники могут сосредоточиться на задачах, которые они обрабатывают, а затем брать новые задачи после завершения этой задачи.
3. Избыточное время
Когда блокировка происходит вниз по течению, вверх по течению или вниз по течению может произойти盈余时间
. Это лишнее время может показаться пустой тратой времени, но для разработчика или команды можно сделать многое. Например:
- отдых/учеба: Используйте это время для обучения. Для front-end необходимо постоянно учиться и повышать собственный уровень и конкурентоспособность, что также полезно для развития проекта.В условиях 996 года предприниматели постепенно лишают нас способности производить производительность.
- Помогите устранить узкие места: Узкие места ниже по течению, мы можем остановить и помочь им решить проблему. Например, другие коллеги застряли из-за каких-то проблем, мы можем помочь ему решить проблему вместе; например, если есть проблема в нисходящем канале тестирования, мы можем протестировать вместе. Двигайтесь вперед как команда, улучшайте сплоченность команды и скрытое чувство ответственности
- оптимизация: Подумайте о проблемах процесса и подумайте, как повысить производительность
- Другие вещи: Например, можно выполнять перекрестное тестирование и документирование, а также оптимизировать инструменты разработки.
Сколько WIP ограничивает?
Предельное значение WIP не является конкретным и не поддается расчету, и требует накопления длительного опыта и обкатки, чтобы установить подходящее значение.Чем меньше значение, тем больше участников могут сосредоточиться на текущих вещах и улучшить сотрудничество между участниками. Чем больше значение, тем больше вещей можно обработать, и планирование задач будет более гибким.
Компромиссная формула, основанная на опыте, такова:在制品上限 = 团队规模 * 2 -1
.
Уровень 3: Объединение Scrum
Scrum
Также гибкий фреймворк, его правила очень просты, но их очень сложно освоить. Итак, на третьем этапе мы можем попытатьсяScrum
Некоторые правила канбан интегрированы в процесс управления канбан.
Краткое введение в Scrum
Рисунок над типичнымScrum
обработать.
вкратце,Scrum
Во-первых, процесс разработки приложения будет разделен на несколько итерационных циклов, которые называютсяSprint
(один спринт), цикл обычно составляет 1-4 недели.
При каждом старте спринта功能列表
(Product Backlog) список задач, которые могут быть выполнены в этом спринте, фильтруется в соответствии с приоритетом и оценкой времени, что называется冲刺列表
(Журнал спринта); затем сосредоточьтесь на выполнении этих задач в этом итерационном цикле.
Кроме тогоScrum
также определяет различные活动
, для постоянной обратной связи и корректировок, таких как:
- Совещание по планированию спринта- Перед началом спринта спланируйте, какие задачи нужно выполнить в цикле, и вовремя оцените задачи
- ежедневное постоянное собрание- Синхронизируйте ход разработки, выявляйте препятствия в развитии, повышайте коммуникацию и общение
- встреча судей- Проводится в конце спринта для проверки того, что было запланировано, что сделано, а что нет. Некоторые команды позволяют руководителю фичи продемонстрировать, что они сделали, а затем менеджер проекта увидит, соответствует ли фича требованиям.
- ретроспективная встреча- проводится в конце спринта для рассмотрения и размышления о проблемах, возникших в этой итерации, и о том, как их улучшить
Кроме того,Scrum
Также определены различные роли и значения. Они выходят за рамки этой статьи, и мы не будем копировать их все Заинтересованные читатели могут проверить ссылки.
Интеграция в Канбан
Установить цикл разработки
Очевидная разница между водопадом и agile заключается в том, что процесс разработки разделен на несколько итерационных процессов. согласно сScrum
Определение «спринт».
В нашей фактической разработке одна неделя будет использоваться как цикл разработки. Я думаю, что время недели в самый раз, это слишком долго, чтобы оценить время задачи, и будет больше неизвестных факторов.
Перед началом недели отфильтруйте задачи, которые нужно выполнить на этой неделе, из столбца «План» и перетащите их в столбец «Задачи на этой неделе». Процесс немного похожScrum
из计划会议
ежедневный обзор
Каждый день, приступая к работе, я собираю членов команды, просто спрашиваю канбан-доску о ходе разработки задачи и просматриваю вчерашнюю работу, чтобы увидеть, нет ли препятствий. Если есть препятствия, своевременно устраняйте их, а если задача превосходит ожидания, подумайте, не следует ли скорректировать план.
Короче говоря, проблема выявляется как можно скорее, чтобы обеспечить бесперебойное течение процесса. это здесьКанбан — важный инструмент коммуникации. Время на ежедневные запросы очень короткое, обычно не более 10 минут.Этот процесс немного напоминаетScrum
ежедневный стендап
существуетTower
, после выполнения задачи, мы не будем перетаскивать карточку в список выполненных напрямую, а нажмем в последней ссылке «выполнено», чтобы на следующий день было удобно просмотреть выполненные задачи, а затем перетащим карточку в « завершено» после завершения проверки. Столбец «Готово»
Мониторинг процесса
диаграмма сжигания
Диаграммы выгорания — распространенный инструмент отслеживания прогресса в Scrum. Это выглядит так:
Горизонтальная ось - это цикл разработки, а вертикальная ось - объем задачи.В идеале объем задачи должен стать 0 в конце цикла, что означает, что идеальный отрезок линии является диагональю (синяя линия), которая также референсная линия. Если в данный момент времени красная линия выше синей, значит, прогресс несколько запаздывает, в противном случае — опережает график
Используя диаграмму выгорания, мы обычно на ежедневном обзоре рисуем точку на диаграмме выгорания, указывающую количество незавершенных задач к этому моменту.
Совокупная блок-схема
Совокупная блок-схема подсчитывает количество незавершенного производства в каждом столбце за каждый день. Это может отражать скорость обработки задач различных ссылок и выявлять узкие места между ссылками:
Канбан Дневной Тур
Следующее имитирует классическую статью«Дневной тур по Канбану»Практикуйте процесс использования Канбана, описанный в этой статье. Инструменты, которые мы используем,Tower
, это также то, что наша команда использует в настоящее время, и функций в основном достаточно.
Дизайн Канбан
Предполагая, что в нашей фронтенд-команде 3 человека, процесс разработки выглядит так:开发 -> 交叉测试 -> 部署
. Следуя тому, что мы узнали выше, мы разработали такой макет Канбана:
Создать задачу
Теперь нажмите на окно создания задачи Tower.Tower
Функция задачи уже очень богата. Для того, чтобы другим было проще справиться с задачей, мы сделали некоторые уточнения для задачи.
- ① Название:
以 [scope] 概述 (时间评估)
. -
scope
Относится к объему задачи, например, Проект A, Проект B-
时间评估
Требует оценки трудоемких задач. Как правило, мы рекомендуем, чтобы степень детализации задачи составляла от 3 ч до 2 д. Если она меньше 3 ч, рассмотрите возможность объединения задач, а если она больше 2 д, рассмотрите возможность продолжения разделения задачи.
-
- ② Назначить ответственное лицо: необязательно, если оно не назначено, это означает, что принят режим вытягивания.
- ③ Срок выполнения задачи
- ④ Установить приоритет задачи
- ⑤ Детали
- ⑥ Уточнение задач
- ⑦ Зависимые задачи
- ⑧ Метка задачи: вы можете указать тип задачи, такой как функция, ошибка, оптимизация, рефакторинг.
Давайте начнем
Сначала спланируйте, что вам нужно на этой неделе:
Начать работу, отсортировать по приоритету, положить в буфер:
заявить о своей миссии
ок, готово, поместите в следующую колонку
Нисходящие потоки достигают пределов незавершенного производства, нет, это было ясно, чтобы остановить ручную работу, провести перекрестное тестирование.
На следующий день расспросы и обзоры, задание выполнено хорошо, не возникало проблем? Официально переместите задачу в статус «Выполнено» после завершения ретроспективы.
😫 Я так устала, поэтому не буду писать резюме, вот и все,
Эта статья закончилась!
Расширенная информация
- Ищете программное обеспечение для онлайн-инструмента Kanban?Рекомендации по электронному канбану
- Детали внедрения системы Канбан
- «Бережливое развитие и метод Канбан»
- Анализ бережливой разработки продукта (1) – Метод разработки Канбан
- Скрам против Канбана или Скрам + Канбан?
- один день в стране канбан китайская версия