Подход программирования, который похож на парное программирование, но имеет свои сильные стороны и по сути является следующим этапом после парного программирования.
Парное програмирование происходит в паре, где есть две роли:
Driver - думает и реализует гипотезы через код
Obsorver - наблюдает за введенным кодом и проясняет, что необходимо
В Mob Programming добавляется еще одна роль и проиходят изменения в обязанностях ролей Driver и Obsorver:
Navigator - думает над решением и говорит водителю, что и как кодировать вплоть до директивного указания: строка, переменная.
Driver - выступает в роли smart imput device: выполняет строго то, что говорят, не думает как лучше и не спорит с видиньем штурмана
Obsorver - наблюдает молча за введенным кодом, и думает про дальнейшие шаги в решении
Эта модель возможна от 3х человек в команде. Водитель всегда один. Штурманов может быть несколько, но чаще один, который обращается к другим, когда в чем-то не уверен или ему нужно обратиться к областям знаний, которых у него нет. Наблюдателей может быть много.
Сессия проходит 4-6 минут, а дальше происходит ротация в каманде ролей. То, что споры не проиходят сразу, а учасники дают возможность реализоваться гипотезе и пожить несколько минут, приводит к неожиданным решениям и результатам. При этом учасники команды удивительным способом приходят к глубокому взаимопониманию.
Главное преимущество для учасников:
- разделение когнитивной нагрузки (один человек думает только над реализацией бизнес задачи, другой над выполнением диктуемого решения инструментами среды(какие либы подгрузить, как назвать ф-ю/перменную, как написать тест))
- дисциплина и идейное уважение.
Это приводит к взрывному увеличению производительности команды.
Встает главный вопрос продуктивности, руководство тяжело соглашается на парное программирование, а тут идея в том, чтобы вся команда работала с одной клавиатурой.
Тут отвечает на такое утверждает Woody Zuill:
"How can we be productive if we separate the people who should be working together?"
Что на самом деле очень портит производительность:
- Коммуникационные проблемы
- Проблемы с принятием решений
- Ненужная работа
- Технический долг
- Бесполезные совещания
- Офисная политика
...
Главные выгоды для продукта:
- сильное сплочение команды
- фокус и направленность
- качество кода, дизайна, продукта
- постоянное обучение
Как начать?
- добровольное участие(если только три человека решились попробовать, то спокойно дать возможность остальным продолжить работать по-старому)
- комадное решение как эксперементировать (мониторы, место)
- учиться хорошо работать сообща
- делать частые ретроспективы (Woody Zuill говорит, что они останавливаются как только натыкаются на какую-то шереховатость во взаимодействии, это может быть раз в 2 часа, а то и раньше, и коректируют взаимодействие)
Парное програмирование происходит в паре, где есть две роли:
Driver - думает и реализует гипотезы через код
Obsorver - наблюдает за введенным кодом и проясняет, что необходимо
В Mob Programming добавляется еще одна роль и проиходят изменения в обязанностях ролей Driver и Obsorver:
Navigator - думает над решением и говорит водителю, что и как кодировать вплоть до директивного указания: строка, переменная.
Driver - выступает в роли smart imput device: выполняет строго то, что говорят, не думает как лучше и не спорит с видиньем штурмана
Obsorver - наблюдает молча за введенным кодом, и думает про дальнейшие шаги в решении
Эта модель возможна от 3х человек в команде. Водитель всегда один. Штурманов может быть несколько, но чаще один, который обращается к другим, когда в чем-то не уверен или ему нужно обратиться к областям знаний, которых у него нет. Наблюдателей может быть много.
Сессия проходит 4-6 минут, а дальше происходит ротация в каманде ролей. То, что споры не проиходят сразу, а учасники дают возможность реализоваться гипотезе и пожить несколько минут, приводит к неожиданным решениям и результатам. При этом учасники команды удивительным способом приходят к глубокому взаимопониманию.
Главное преимущество для учасников:
- разделение когнитивной нагрузки (один человек думает только над реализацией бизнес задачи, другой над выполнением диктуемого решения инструментами среды(какие либы подгрузить, как назвать ф-ю/перменную, как написать тест))
- дисциплина и идейное уважение.
Это приводит к взрывному увеличению производительности команды.
Встает главный вопрос продуктивности, руководство тяжело соглашается на парное программирование, а тут идея в том, чтобы вся команда работала с одной клавиатурой.
Тут отвечает на такое утверждает Woody Zuill:
"How can we be productive if we separate the people who should be working together?"
Что на самом деле очень портит производительность:
- Коммуникационные проблемы
- Проблемы с принятием решений
- Ненужная работа
- Технический долг
- Бесполезные совещания
- Офисная политика
...
Главные выгоды для продукта:
- сильное сплочение команды
- фокус и направленность
- качество кода, дизайна, продукта
- постоянное обучение
Как начать?
- добровольное участие(если только три человека решились попробовать, то спокойно дать возможность остальным продолжить работать по-старому)
- комадное решение как эксперементировать (мониторы, место)
- учиться хорошо работать сообща
- делать частые ретроспективы (Woody Zuill говорит, что они останавливаются как только натыкаются на какую-то шереховатость во взаимодействии, это может быть раз в 2 часа, а то и раньше, и коректируют взаимодействие)
Комментариев нет:
Отправить комментарий