Я прочитал идею о повышении производительности в компании. Это было так:
Имейте определенный фонд, который будет бонусом. Скажем, 100 000 долларов. За каждую обнаруженную ощутимую ошибку тестировщики получают 5-15 долларов. Все, что осталось в конце месяца/года, идет разработчикам.
В теории это кажется достаточно замечательной идеей, хотя я не уверен, насколько хорошо она будет работать на практике. Очевидным следствием этого является то, что это способствует антагонизму между разработчиками и тестировщиками. Бизнес с жуками превращается в игру с нулевой суммой.
Антагонизм — это плохо? Как это повлияет на производительность и, что более важно, на организацию? Личный опыт будет высоко оценен.
PS: я не занимаю руководящую должность (все еще учусь в колледже), хотя у меня есть планы на несколько стартапов по разработке программного обеспечения, когда я закончу учебу.
Я прочитал идею о повышении производительности в компании. Это было так:
Имейте определенный фонд, это будет бонусом. Скажем, 100 000 долларов. За каждую обнаруженную ощутимую ошибку тестировщики получают 5-15 долларов. Все, что остается в конце месяца/года, идет разработчикам.
В теории это кажется достаточно замечательной идеей, хотя я не уверен, насколько хорошо она будет работать на практике. Очевидным следствием этого является то, что это способствует антагонизму между разработчиками и тестировщиками. Бизнес с жуками становится игрой с нулевой суммой.
Антагонизм — это плохо? Как это повлияет на производительность и, что более важно, на организацию? Личный опыт будет высоко оценен.
(Я съеживаюсь, когда читаю такие «мотивационные» схемы.)
Возможно, автор этой идеи определяет «производительность» иначе, чем я.
Цель большинства компаний, производящих программное обеспечение, состоит в том, чтобы зарабатывать деньги и, возможно, максимизировать сумму денег, которую они зарабатывают. Цель системы Bug Bounty менее ясна и, конечно же, не имеет ничего общего с производительностью. Много времени будет потрачено на то, чтобы получить бонусные деньги, и мало времени будет потрачено на то, чтобы отправить программное обеспечение (именно так компания зарабатывает деньги).
Представьте себе компанию с одним разработчиком и одним тестировщиком.
Если бы вы были разработчиком, вашей оптимальной стратегией было бы удерживать все программное обеспечение от тестировщика до тех пор, пока не осталось бы ошибок или пока у тестировщика не было времени в расписании на их поиск.
Я работал в компании, которая вознаграждала разработчиков похвалой, а не деньгами, и именно такую стратегию использовал один разработчик. Билды отправлялись в QA каждые 2 недели. И каждую вторую пятницу у нас было собрание всей команды, на котором объявлялось количество ошибок в текущей сборке. Если у разработчика никогда не было ошибок, его выделяли и хвалили за отличную работу.
Один разработчик решил обыграть систему. Она откладывала сборку (всегда имея разумные причины) вплоть до еженедельной встречи. Затем она выпустила сборку, был запущен отчет о количестве ошибок, и «волшебным образом» у нее было нулевое количество ошибок как раз к встрече.
Хотя она была хорошим разработчиком, ее код был не лучше, чем у большинства других. Ее сообразительность заключалась в том, чтобы манипулировать системой в своих интересах.
В настоящее время я работаю в магазине, который наказывает разработчиков за количество ошибок, связанных с их работой во время проекта. Ожидается, что они «улучшат» количество ошибок по сравнению с предыдущим годом. Это часть их MBO и часть того, что входит в их ежегодную выплату бонусов.
Неудивительно, что им потребовалось много времени, чтобы создать первую тестируемую сборку для контроля качества. И попросили QA потратить много времени на тестирование в среде Dev (где нельзя писать баг-репорты). Им были даны все возможности производить меньше ошибок в системе отчетности и, следовательно, максимизировать свой бонус.
Менеджер по продукту даже решил изменить многие отчеты об ошибках на «запросы на улучшение», чтобы не влиять на MBO разработчиков. Его аргумент был таков: «Ну, разработчики еще не полностью разработали эту функцию, поэтому они улучшат ее, когда у них будет время».
Если бы мне платили «за ошибку», я мог бы довольно легко найти массу ошибок, независимо от того, насколько хорош разработчик. (Я занимаюсь этой работой почти 30 лет). Сначала я бы сосредоточился на низко висящих фруктах и пропустил все, что отнимало бы много времени. Мои отчеты об ошибках будут минимальными и не очень полезными — в основном все, что потребуется, чтобы ввести отчет об ошибке в систему и получить деньги.
Результатом было бы множество поверхностных отчетов об ошибках, которые были бы «достаточно осязаемы», и программное обеспечение неизбежно осталось бы с некоторыми серьезными критическими ошибками. Я не могу представить, что система когда-либо будет выпущена.
Разработчики сосредоточат все свое время и внимание на новом коде. Исправление уже обнаруженных ошибок не принесет абсолютно никакой финансовой выгоды. И у них будет стимул выпускать крошечные, незначительные релизы. Если они выпускают релиз, содержащий только одну строку идеального кода, они получают бонус в размере 100 тысяч долларов! Зачем вообще добавлять какие-то хитрые функции?
Обе команды яростно спорили о каждом отчете об ошибке и о том, действительно ли это была «осязаемая» ошибка или нет. (Это красивый и нечеткий термин. Я хотел бы услышать, как команда попытается дать ему конкретное определение). Такого рода аргументы не подготавливают почву для того, что я бы назвал продуктивностью.
И ни тестировщики, ни разработчики не будут тратить время ни на что другое. Никаких совещаний, никакой документации, никакой поддержки клиентов, никакой помощи другим, никакой подготовки к отправке. Эй, если бы это было важно, к этому были бы приложены деньги, верно?
И эта последняя часть имеет большое значение. Для работников умственного труда часто прикрепление денежных премий к задачам, которые они считают важными, является большим сдерживающим фактором. Если вы хотите лучше понять виды дисфункций, которые могут возникнуть из-за такого рода систем стимулирования, я настоятельно рекомендую вам прочитать «Измерение и управление эффективностью в организациях» Роберта Д. Остина.
Короче говоря, это ужасная идея.
Большинство хороших компаний-разработчиков программного обеспечения осознают безрассудство такого плана и стараются держаться подальше от подобных систем. Большинство компаний-разработчиков программного обеспечения понимают, что выпуск программного обеспечения без ошибок не является реалистичной целью и что более важно выпускать программное обеспечение своевременно.
Это кажется ужасной идеей. Вот несколько вещей, которые произойдут, помимо того , что ваши разработчики и тестировщики начнут ненавидеть друг друга и вас за то, что вы представили это:
Это просто не приходит мне в голову. Никогда не пытайтесь мотивировать программистов и тестировщиков деньгами, это просто ужасно. Их работа основывается на внутренней мотивации.
Кроме того, взгляните, пожалуйста, на этот анимированный TED-выступление о драйве и мотивации, так как он намного лучше объясняет, почему любая установка, включающая мотивацию умных людей деньгами, потерпит крах:
Это имеет такой же смысл, как если бы команда корабля была разделена на команды: те, кто занимается движением, и те, кто занимается навигацией, соревнуются в гонках друг с другом на одном корабле.
Я отказываюсь иметь антагонистические отношения со своими тестировщиками. Я ценю их. Они делают меня лучшим кодером.
Я также уважаю креативность, которую требует от них их работа. Вот почему я думаю, что деньги здесь неправильный мотиватор. Исследования показали , что если работа не является практически бессмысленной, денежные поощрения в значительной степени замедляют работу людей.
Творческая работа не лучше всего мотивируется деньгами. Его лучшими мотиваторами являются:
автономия – желание управлять своей собственной жизнью
мастерство – стремление стать лучше или развить навыки
и цель – необходимость делать то, что мы делаем, по более важным причинам, чем мы сами
Правильно, выбор, возможности для совершенствования и работа в команде будут работать лучше, чем деньги.
QA — это творческая работа. Задача действительно состоит в том, чтобы придумать то, о чем не подумали разработчики. Вот почему QA должен автоматизировать. Однажды придуманный тест не следует «ставить» снова и снова, как бродвейскую пьесу. Это должно быть автоматизировано, чтобы QA мог перестать думать об этом и подумать о следующем тесте. QA должен быть заполнен вашими самыми талантливыми разработчиками. Потому что они пытаются перехитрить другую команду разработчиков.
Некоторые так не думают. Некоторые считают QA свалкой для менее талантливых разработчиков. Если вы делали это, ваши приоритеты отстали. Попросите своих лучших разработчиков модернизировать ваше тестирование и убедитесь, что люди знают, что QA — это то, что вы делаете лучше всего.
Если эти деньги все еще прожигают дыру в вашем кармане, используйте их на обучение или, если нужно, на выходное пособие.
Мы не делаем бессмысленную работу здесь.
Имейте определенный фонд, это будет бонусом. Скажем, 100 000 долларов. За каждую обнаруженную ощутимую ошибку тестировщики получают 5-15 долларов. Все, что остается в конце месяца/года, идет разработчикам.
Это ужасно. По всем причинам в других ответах и из-за того, что он не проходит этот очень простой тест:
Что, если все ваши сотрудники молодцы, а багов не обнаружено?
Производство работает отлично и все деньги пойдут в DEVS
Что делать, если все ваши сотрудники дерьмо?
Производство просто сгорело дотла из-за багов, но эй, какая разница, деньги пойдут разработчикам.
Даже если бы деньги были мотиватором в нашем бизнесе, это было бы ужасно неправильно.
Возьмите деньги и наймите кого-нибудь, кто действительно хорош в написании спецификаций и планировании проектов с выполнимыми сроками. И DEV, и QA будут счастливее, чем любые деньги, которые они когда-либо могли сделать.
Это может быть апокрифом, но мне дали подобный пример в 1980-х годах, когда я освещал «Закон непреднамеренных последствий» в рамках курса BPR.
Пример касался заводской производственной линии, где отдел контроля качества поощрялся тем, сколько брака они сделали. Производственный отдел также поощрялся в зависимости от того, как мало брака они произвели.
Чистый эффект заключался в том, что служба контроля качества отбраковывала больше продуктов, чем раньше, а производство «идеальных» изделий занимало больше времени, поэтому общий объем производства снизился, а затраты выросли из-за поощрительных выплат. Качество не пострадало.
Это работает плохо. Я не видел этого с разработчиками и тестировщиками. Но министерство юстиции Новой Зеландии в какой-то момент периодически награждало надзирателей за каждого задержанного, которого они нарушили. Это произошло от одного нарушения в плохую неделю до того, что некоторые задержанные получили по 6 нарушений в день и оказались в тюрьме из-за этого. В итоге пострадал надзиратель.
Я сомневаюсь, что это зашло бы так далеко, поскольку это не то же количество и менее изменчивые люди (я думаю), но это порождает неприязнь между группами, которые уже не в ладах из-за их ролей.
В других ответах уже достаточно сказано, что ваша идея плохая ТМ. Поэтому я не буду повторять это, а вместо этого упомяну, что вам нужно изменить, чтобы улучшить идею.
Вы пытаетесь привязать деньги к тому, что в конечном счете указано на бумаге. Это число не создаст никаких денег. Что еще хуже, число, которое вы хотите использовать, в основном случайное: продукт, в котором никогда не было ошибок, внезапно имеет 50, и все они опечатки в документации. Ошибка, которая искажает цвет выделения 200 элементов, становится 200 ошибками. Как только вы попросите кого-нибудь заставить число волшебным образом увеличиться, это число станет совершенно бесполезным воображаемым числом. И вдобавок ко всему вы потратите десятки тысяч долларов в виде заработной платы на абсолютно бессмысленные встречи, где люди спорят о том, что является ошибкой, а что нет.
Если вы хотите привязать бонусы или другие вознаграждения к числам на бумаге, эти числа должны быть напрямую связаны с фактическими деньгами, заработанными компанией — одним из распространенных примеров является связь бонуса с прибылью в торговой компании.
Как было сказано в комментариях к вашему вопросу, некоторые формы геймификации могут работать. Как насчет присуждения трофея за «Лучшую ошибку», найденного за определенный период, присуждаемого голосованием обеих команд вместе ?
В здоровой среде разработки между тестировщиками и разработчиками существует общий «трепет» перед людьми (обычно тестировщиками), обнаруживающими те надоедливые ошибки, которые могут быть воспроизведены только при определенных условиях, перед этой прерывистой ошибкой, которая беспокоила вас месяцами, перед чем-то еще. очень просто, что проглядел разработчик и т. д. *
Трофей должен быть чем-то очень простым, потому что речь не идет о его внутренней ценности: маленькая табличка, кекс, плитка шоколада.
* Последний пример касается не поиска ошибки, а ее создания. В таком случае приз означает дружеское издевательство. Для этого вам нужна культура, в которой ваши коллеги признают, что все делают ошибки.
Я думаю, что результат будет плачевным. Это противоречит здравому смыслу как разработки, так и тестирования.
Ноль обнаруженных ошибок не означает, что программа хороша. Это может быть сложно для тестирования, или QA может пропустить некоторые тесты. Даже отсутствие найденных ошибок, обширный процесс тестирования и отличное качество кода не означают, что продукт хорош. Если требования были перепутаны, программное обеспечение может быть ужасным для клиента.
Игра против этой системы может быть чрезвычайно легкой.
Для разработчиков: поздние сборки. Для тестировщиков: концентрация на тривиальных ошибках.
При поздних сборках раннее тестирование невозможно. Мало времени для тестирования и удовлетворения количества ошибок? Тестировщики концентрируются на тривиальных ошибках, таких как орфографические ошибки или некоторые некритические случаи.
Если вы хотите знать, хорош ли продукт, просто спросите своего клиента.
Короче говоря. Разработчики и тестировщики работают на одной лодке — в вашей компании.
Легко критиковать разработчика за ошибки, которые они допустили, но трудно вознаградить их за ошибки, которые они не создавали.
Если ошибка попала в окончательную сборку, и клиент сообщил об этом, кого следует винить? Разработчик за то, что написал баг, или тестировщик за то, что не отловил?
Это по умолчанию вызывает напряжение между разработчиками и тестировщиками. Ваша идея создает дополнительное напряжение между ними. Вы действительно этого не хотите.
Если у вас дружественное рабочее пространство и вы хотите вознаградить всех за отлов ошибок, разделите бюджет по справедливости, составьте список разработчиков, и за каждую ошибку разработчик будет платить 1 доллар в банк. Организуйте рождественскую вечеринку и используйте банк, чтобы вознаградить всю команду. Убедитесь, что это веселее, чем награда/наказание, и что никто не воспринимает это (слишком) серьезно. Награждайте как «худших», так и «лучших» среди разработчиков и тестировщиков.
Честно говоря, стимул в лучшем случае кажется бесполезным, а в худшем — вредным. Если у вас есть преданная команда QA, вы уже выделили средства на поиск ошибок, поскольку это будет большой частью их должностных обязанностей. Между ними не будет большого дополнительного антагонизма, так как будет больше отношения к самой политике. Если вы на самом деле настолько обеспокоены этой проблемой, что бросаете деньги своим нынешним сотрудникам с определенными условиями, было бы лучше нанять кого-то, кто вам нужен, либо в QA, либо в dev.
Что может пойти не так, так это то, что на стороне разработчиков вы увидите снижение количества релизов из-за опасений, что им будут платить меньше из-за новых ошибок, а на стороне контроля качества вы можете увидеть гораздо более длительные этапы проверки из-за того, что тестировщики хотят некоторых доплата. Не говорю, что это произойдет , просто это возможно.
Никому не нужны ошибки в конечном продукте, но они случаются. У менеджера есть гораздо лучшие способы убедиться, что в коде меньше ошибок, например, поставить реалистичные цели и графики и разрешить содействие для лучшей разработки, например, проверку кода.
Натан Купер
Тоби Алафин
Эрик
Тони Ли
Кент А.
Виктор Захаров
Анкетам
Марк Роджерс
Фиксированная точка
Эрик
МэтьюРок
Деннис Джахеруддин
Тоби Алафин
Вал
Зеркало318
пользователь 253751
Кори Огберн
Тоби Алафин
Джефф
Боб Джарвис - Слава Україні
Боб Джарвис - Слава Україні
Джефф
JDługosz
Уэсли Лонг
СантиБайлорс
Дэвид Ричерби
Брандин
Тоби Алафин