Расставим точки в уже классическом обсуждении.
Постановка вопроса
Итак, кто несет ответственность за качество продукта?Уже тут к нам бегут душнилы (я первый) и вопят:
- Нужно определить слова _ответственность_, _качество_ и _продукт_ и только потом продолжать разговор!
Душнилам мы ответим, что для простоты:
- список потенциально ответственных ограничим ролями команды разработки: аналитиком, программистом, тестировщиком фичи и их менеджером
- за продукт мы возьмем те исходники, что во время релиза будем пытаться деплоить в бой
- качество измерим объемом косяков, которые надо срочно исправлять после релиза
- за несение ответственности условно примем ответ на вопрос "кого взгреть?"
А если душнилы продолжат прикапываться к терминологии, то просто выгоним их на мороз.
Итак, кого взгреть, если после релиза навалило косяков и пришлось всё бросить, бежать и чинить? Взгреем аналитика? Программиста? Тестировщика? Менеджера? Всех?
Мнения
Я опросил менеджера, программиста, аналитика и тестировщика.
Один уважаемый менеджер пишет:
Тестировщик контролирует качество, но ответственности за него не несет, так как не он придумал аналитику, нарисовал дизайн и написал код. А за процессы создания аналитики, кода, проведения тестирования и уменьшения количества косяков, возникающих на этих этапах, отвечает именно менеджер/
Не менее уважаемый программист считает иначе:
Программист полностью отвечает за качество своего кода, тестировщик иногда в меру сил лишь помогает ему в виде приятного бонуса.Какой-то неглупый аналитик сказал:
Ключевые решения относительно функциональности продукта принимает аналитик, поэтому ответственность за то, как работает продукт на боевой, несет (большей частью) онТестировщик может заметить:
Что только он защищает интересы юзеров и вообще он один на пути продукта к хаосу.Бытует мнение, что за качество должна отвечать вся команда. И, как у любого другого, у этого мнения есть противники, утверждающие, что если номинально отвечают всё, то в реальности никто ни за что не отвечает.
Правильный ответ
Согласно структуре сюжета, сейчас должен ворваться я, сорвать покровы и вынести на ваш суд свет истины.И я не подведу. Вот что я сформулировал для себя, во-первых, прочитав немало книг по теории управления, а во-вторых, получив некоторое количество практического опыта.
За качество продукта не отвечает никто, это результат стечения обстоятельств.
В этот момент к нам врываются бизнес-пацаны, бьют всех ногами и кричат: а мы знали! Вы ни за что не отвечаете! Давно пора прекращать платить вам такие деньги!
Подождите. Есть НО.
Каждый — программист, аналитик, тестировщик, менеджер — несут ответственность за набор действий и упражнений, которые они должны были выполнить в рамках создания фичи.
Этот набор действий не всегда прописан в должностных инструкциях, часто отсутствует регламент и согласованный список. Тем не менее, набор достаточно точно определяется:
- тем, что мы требуем на собеседовании
- требованиями к грейду, матрицей и комиссиями
- пройденными обучениями
- командными договоренностями
- локальными решениями менеджера
На мой взгляд, такой ответ на вопрос может и не является академически точным и эстетически приятным, но лучше всего применим практически. И статистика показывает, что именно этот подход интуитивно применяется в приличных командах.
Когда случился факап:
- Надо погрозить пальцем аналитику, если его обучали заказывать юзабилити исследования, а он этого не сделал.
- Сделать серьезное замечание тестировщику, если он не применил навык полученный на курсе по тест-дизайну и пропустил ошибку.
- Строго посмотреть на программиста, если он не написал тест, хотя на ретроспективе договорились, что он должен.
- Влепить выговор менеджеру, который не заметил рост количества факапов и продолжал брать джунов, хотя предотвращать такое умеют только ведущие программисты.
Никто не наказывает личный состав, если команда разработки сделала все правильно, но появилось что-то новое: внезапная нагрузка, смена законодательства, смена парадигм бизнеса. В таких случаях появляются новые командные договоренности, обучающие курсы, требования к ведущим специалистам.
К чему я веду
Я понимаю:
- что чем выше в иерархии руководитель или в грейде инженер, тем сложнее сформулировать действия и упражнения
- может показаться, что я хочу обмазаться регламентами и прикрыться бумажками
- это похоже на итальянскую забастовку, делать работу только по инструкции
Я веду не к этому. Я говорю о том, что пафосные лозунги вида
Я несу ответственность (во имя луны)!классно звучат, но на практике приводят к весьма плачевным результатам:
- появляются люди с ответственностью
- эти люди под гнетом большой ответственности не успевают делать нужные и зачастую не очень сложные упражнения
- этих людей не обучают, не выдают им инструкции, так как некогда, им надо нести ответственность
- а если покопать с спуститься до уровня физических действий, то за огромной ответственностью можно обнаружить фильтр в эксельке и пересылку писем.
Я призываю
Больше смотреть не то, кто за что отвечает, а на то, кто и что:
- обучен делать
- обещал делать
- способен и имеет возможность делать
- уже сделал
А еще призываю учить. особенно тех, кто несет много ответственности.
Привет, Макс! Шерстил живых друзей в жж и нашел, что ты переехал сюда! Рад, что ты трудишься и пишешь! (Антон Панов)
ОтветитьУдалить