Мы разрабатываем продукт, который требует совместной работы 3 команд: моя команда занимается веб-разработкой, команда Б работает над встроенной системой, а команда С объединяет нас (просто говоря). Есть владелец продукта, который отвечает за продукт в целом (деловой, технический), и менеджер проекта, который управляет ходом проекта. Мы делаем ежемесячные выпуски.
Так что я скажу, что это типичная кросс-функциональная команда разработчиков продукта. Одна вещь, которая беспокоит меня с точки зрения управления проектом, заключается в том, что менеджер проекта будет рассылать статистику о «производительности» каждого в конце каждого выпуска, например, рабочие часы (согласно его электронной таблице), скорость исправления ошибок ( сколько ошибок вы исправили), сколько ошибок вы внесли при реализации новой функции и т. д.
Для меня, как руководителя команды ИИ, не вижу в этом пользы. Я понимаю, что он выполняет свою работу, и в этом случае, возможно, он хочет держать заинтересованные стороны, каждого из нас, в курсе хода проекта. Может быть, он хочет напомнить всем, что мы сделали хорошо или плохо в этом релизе. Я знаю, что в Scrum есть диаграмма выгорания, и теоретически мы должны попытаться сделать так, чтобы наш чат выгорания выглядел как прямая линия. Но по моему собственному опыту такое случается редко. Но скрам — это другая тема, я не хочу влезать в этот вопрос.
Итак, такая рассылка статистики типична? Каковы плюсы и минусы этого?
---- обновлять ---
Как я уже сказал, "не вижу в этом пользы". Но поскольку он будет продолжать это делать, мне нужно посмотреть, есть ли в этом какая-то «лучшая сторона». Это одна из основных причин, по которой я задал этот вопрос. У нас было несколько ежемесячных релизов, в которых было больше ошибок, чем в другие месяцы. Будет ли статистика напоминать всем, что в следующий раз нам нужно добиться большего (хотя я в этом сильно сомневаюсь)?
В некоторых странах это может быть даже незаконным без одобрения профсоюзов, поэтому большое значение имеет то, где вы находитесь.
Но если оставить в стороне юридический аспект: это может привести к нежелательным последствиям:
Такого рода статистика обычно является предупреждающим признаком стагнации и смерти программного пакета. Два других ответа охватили многое, но я добавлю несколько вещей:
Продуктивные разработчики совершают ошибки, плохие разработчики никогда их не совершали:
Да, плохое управление типично.
Основная философия, очевидная здесь, называется управлением «теорией X». Т.е. разработчики ленивы и по возможности не будут работать, поэтому за ними нужно следить очень четко и публично.
Я не говорю, что авторитарный подход с низким уровнем доверия никогда не работает ни в одной отрасли. Но, по крайней мере, в программном обеспечении нельзя запугивать и стыдить человека на пути к хорошим результатам. Это достаточно сложная сфера, и нужно, чтобы люди хотя бы немного заботились о ней. Так что если теоретики правы, а разработчики все ленивы, то это уже пиздец. И если разработчики на самом деле являются самомотивированными людьми, стремящимися помочь бизнесу в достижении его целей, открытое неуважительное отношение к ним — не лучший способ удержать их в таком состоянии.
Помимо теории X, что, если этому менеджеру удастся заставить разработчиков делать именно то, что их просят? Это все равно будет плохой исход. Метрики — это просто узкие измерения мира, и все они имеют неверные результаты. Их можно обыграть. Обычно люди проявляют добрую волю не делать этого в обмен на то, что их работу оценивают таким образом, что учитываются не только измерения. В данном случае цена за плохие номера — это публичный позор, поэтому я не думаю, что здесь есть какие-либо причины для доброй воли.
Возможно, вы заметили, что то, что заставляет играть со статистикой, также делает это противоположным психологически безопасному или здоровому месту работы.
Но на самом деле в этом случае метрики не просто ошибочны. Они мусор. Очевидно, менеджер был слишком занят обдумыванием подробных способов наблюдения за разработчиками, что забыл дать им какое-либо отношение к фактической ценности бизнеса. Так что не нужно много думать, чтобы увидеть, чем они могут отличаться. Например, зачем исправлять важную ошибку, если можно исправить 10 бессмысленных? Зачем вам быстро исправлять важную проблему, если она может привести к незначительным дефектам? Зачем вам наставник товарища по команде? Зачем вам вообще помогать товарищу по команде, если это снижает вашу личную продуктивность? Зачем вам делать что-то, что сделает разработку лучше или быстрее в будущем, если это замедляет вас сейчас? Зачем вам делать что-то творческое или рискованное, если это замедляет работу или может привести к дефектам? Другие ответы уже добавляют в этот список гораздо больше.
Как только вы опубликуете эти цифры, даже если руководство не будет активно вознаграждать/наказывать разработчиков на основе этих цифр, разработчики будут сравнивать себя с другими. Они попытаются зарекомендовать себя как тот, кто производит небольшое количество дефектов. Хотя это, вероятно, именно то, на что надеется премьер-министр, у него есть ряд нежелательных побочных эффектов, некоторые из которых уже упоминались в других ответах.
Есть поговорка, которую я выучил много лет назад:
If you work a lot, you make a lot of mistakes.
If you work less, you make fewer mistakes.
If you don't work at all, you make no mistakes.
If you make no mistakes, you get promoted.
Также известен как закон непреднамеренных последствий. Как разработчик программного обеспечения, когда я разрабатываю функцию, есть момент, когда она не считается завершенной, поэтому очень глючит. Затем наступает момент, когда все закончено, но багов еще много. Затем я уменьшаю количество ошибок, затем уменьшаю их еще больше до нуля.
Сокращая количество ошибок, я в основном выполняю работу QA, за исключением того, что передавать им код, полный ошибок, неэффективно. Это становится эффективным, когда количество ошибок настолько мало, что лучше передать QA, чем самому искать ошибки. Если я найду и исправлю все ошибки перед передачей, это на самом деле неэффективно, потому что они лучше находят ошибки. Теперь, если меня оценивают по количеству ошибок, которые я создаю, уравнение для меня меняется. Выполнение неэффективной работы дает лучший результат для меня. Так угадай, что я буду делать.
Есть много историй, когда QA и разработчики оценивались по «количеству найденных ошибок» и «количеству исправленных ошибок». Очевидно, что разработчик намеренно добавит ошибку, сообщит QA, где она находится, и когда QA обнаружит и сообщит об ошибке, исправит ее за две минуты. Выигрыш/выигрыш для двух сотрудников за счет компании.
Килиси
Елена
Цюлан 邱朗
Цюлан 邱朗