Post #271
2.39K
С большинством людей все в порядке
Представь, у тебя команда регулярно срывает сроки ревью. PR висят днями, пинги не сильно помогают, задачи бесконтрольно копятся
Первая интерпретация проблемы обычно персональная, мол "какая безответственная команда". Но прямо-таки все одновременно такие безответственные?
——
На самом деле, люди обычно действуют рационально в рамках системы, в которой они существуют
И в такой картине мира дальше возникает вопрос — а почему система поощряет затягивание ревью?
Причина может быть очень простой — у разработчика есть две задачи: "закончить свою фичу" и "поревьюить фичу соседа". За срок своей фичи его спросят на дейли, если будет продалбываться — повлияет на perfomance review. А за скорость чужого кода скорее всего не спросят
А в такой системе откладывать ревью — совсем не безответственное поведение, а вполне рациональное для конкретного человека
И дальше надо проявить фантазию и подумать, как поменять систему, чтобы она сделала нежелаемое поведение нерациональным. Для примера выше могут помочь пресловутое лимитирование WIP у команды — не берем в работу новую фичу, пока не закончим одну из текущих. И в такой ситуации разработчику становится уже рационально помочь соседу, потому что без этого он сам не сможет взять новую фичу. А не будет делать фичи — получит пиздюлей
——
Как в общем случае дебажить такие ситуации? Предлагаю такой алгоритм
1. Описать наблюдаемый паттерн, без оценок
За последний месяц 40% PR ждали первого ревью больше рабочего дня. Проблема возникает у большинства разработчиков
2. Описать поведение через устройство системы
Задаемся вопросом "Почему нормальному человеку выгодно себя вести именно так?"
Ответом будет гипотеза — например, система может сильнее вознаграждать завершение собственной задачи, чем скорость общего флоу команды
3. Провести эксперимент
Меняем предположительное свойство системы и смотрим что происходит
——
Поэтому когда в следующий раз покажется, что все люди какие-то странные, попробуй предположить, что люди действует рационально:)
Представь, у тебя команда регулярно срывает сроки ревью. PR висят днями, пинги не сильно помогают, задачи бесконтрольно копятся
Первая интерпретация проблемы обычно персональная, мол "какая безответственная команда". Но прямо-таки все одновременно такие безответственные?
——
На самом деле, люди обычно действуют рационально в рамках системы, в которой они существуют
И в такой картине мира дальше возникает вопрос — а почему система поощряет затягивание ревью?
Причина может быть очень простой — у разработчика есть две задачи: "закончить свою фичу" и "поревьюить фичу соседа". За срок своей фичи его спросят на дейли, если будет продалбываться — повлияет на perfomance review. А за скорость чужого кода скорее всего не спросят
А в такой системе откладывать ревью — совсем не безответственное поведение, а вполне рациональное для конкретного человека
И дальше надо проявить фантазию и подумать, как поменять систему, чтобы она сделала нежелаемое поведение нерациональным. Для примера выше могут помочь пресловутое лимитирование WIP у команды — не берем в работу новую фичу, пока не закончим одну из текущих. И в такой ситуации разработчику становится уже рационально помочь соседу, потому что без этого он сам не сможет взять новую фичу. А не будет делать фичи — получит пиздюлей
——
Как в общем случае дебажить такие ситуации? Предлагаю такой алгоритм
1. Описать наблюдаемый паттерн, без оценок
За последний месяц 40% PR ждали первого ревью больше рабочего дня. Проблема возникает у большинства разработчиков
2. Описать поведение через устройство системы
Задаемся вопросом "Почему нормальному человеку выгодно себя вести именно так?"
Ответом будет гипотеза — например, система может сильнее вознаграждать завершение собственной задачи, чем скорость общего флоу команды
3. Провести эксперимент
Меняем предположительное свойство системы и смотрим что происходит
——
Поэтому когда в следующий раз покажется, что все люди какие-то странные, попробуй предположить, что люди действует рационально:)
- ❤ 23
- 👍 16
- 🔥 2