Моббинг / ансамблевое программирование: когда ничего нет в TDD

Примечание. Моббинг / Ансамбль я использую как синонимы. Мне все еще трудно заставить себя придерживаться только «Ensemble». Оба являются двумя способами сказать одно и то же. Последнее - новый термин, появившийся после того, как моббинг имеет плохую коннотацию в некоторых культурах.

Бывают случаи, когда есть истории, над которыми вы работаете как моб, которые вы не можете прогнать с помощью TDD (разработка через тестирование). Нет бизнес-логики, поддерживающей TDD, и нет смысла писать тесты для логики, которую вы собираетесь изменить, или того, что вы собираетесь делать вместе.

Вот пара примеров:

  • Изменение внешнего вида / косметические изменения (изменения CSS или другой визуальный элемент, не связанный с тестируемым состоянием или тестированием поведения, будут излишними и фактически работают против вас)
  • Настройка конфигурации для конвейера или чего-то еще

И обычно чаще всего в команде есть по крайней мере один человек, который хорошо разбирается в CSS или умеет настраивать инструменты для определенного конвейера или конфигурации, которую вы пытаетесь настроить.

В таких случаях вы понимаете, что вращение драйвера и навигатора на самом деле не имеет смысла. Остальные навигаторы действительно не знают, куда идти. Поэтому они тратят 100% своего времени на то, чтобы спросить одного человека в толпе, который знает или может хотя бы дать какое-то направление.

Здесь все еще есть много ценностей для работы в ансамбле.

Это все равно более эффективно, чем сольная работа.

Люди скажут, что это не годится для моббинга. Они ошибаются. Вы по-прежнему получаете больше пользы от моббинга, чем от попытки заставить кого-то сделать это в одиночку. Вы научитесь в 10 раз быстрее. Толпа задаст вопросы, которые могут привести решение к лучшему, даже если она не знает CSS, определенных инструментов или того, как настроить конвейер. Нет причин говорить: «Это не то, на чем мы можем толпиться».

Решение: фиксированный навигатор и поворот драйвера

Если это TDD’able, вам следует всегда чередовать драйвер / навигатор независимо от того, насколько люди знают или не знают об определенной области кода или используемых инструментах.

Однако над историями, не относящимися к TDD, над которыми вы работаете. Если есть один человек, который знает, как это сделать, можно позволить ему ориентироваться большую часть времени в этих, надеюсь, нечастых обстоятельствах / сеансах моббинга. .

Надеюсь, со временем команда научится лучше наблюдать и изучать эту конкретную область знаний, а другие смогут начать ориентироваться, например, в изменениях CSS или в чем-то еще, о чем они были на 100% невежественны.

Вместо этого, когда я тренирую эти ситуации без TDD, я, по крайней мере, заставляю повернуть драйвер. Таким образом, мафия остается вовлеченной. Они занимаются чем-то другим, а не просто смотрят, задают вопросы или вносят предложения.

Может быть, мои мысли по этому поводу изменятся, но сейчас я чувствую, что это намного лучше, чем никого не менять в таких случаях. Я не могу называть это моббингом, если мы не будем часто менять команду в каком-либо качестве.