Допустим, у нас есть программист Вася, который умеет писать код. Как обеспечить, чтобы код у Васи было хорошим?
Теоретически, нужно заинтересовать его в качестве продукта и заставить укладываться в сроки. Как? Сам Василий может бесконечно долго изучать каждый символ, стремясь к совершенству. А время не ждет. Не станешь ведь подгонять человека — у него и так голова пухнет от задач.
Первая мысль, приходящая в голову: поставить над ним отдел качества, который не прощает ошибок и настойчиво долбит программиста Васю по голове за все косяки. И у самого кодера время высвобождается, и допиливание кода происходит по графику — казалось бы, вот оно!
Что происходит по факту. Добавляем тестировщика, который окружает Васю и его код — заботой, и бережно следит, чтобы все работало хорошо.
Багов на выходе становится меньше. Но! Теперь, ответственность за качество поделена между двумя людьми, Вася расслабляется и постепенно забивает на проверку своего творчества. А зачем ему отбирать хлеб у тестировщика, действительно. Тем более, у программистов времени нет, а QA знай себе тестирует, не торопясь. Пусть работает.
Итог — багов опять становится больше. В добавок к этому, какой-то их процент всё равно ускальзывает от внимательного взгляда QA — ведь ему приходится переключаться между задачами и пытаться понять каждый новый проект с нуля.
Противоядие? А пусть теперь и менеджер проекта все проверяет! А что, он — ответственное лицо, ему и краснеть, в случае чего. Наша схема еще немного усложняется:
Красота. Можно добавить еще проверку внешним менеджером проектов, после того, как все готово, а потом еще проверку арт-директором! Это на случай, если «замыленный глаз» пропустил что-то важное:
В общем, мы продолжаем наворачивать кольца защиты вокруг Васи, будь он неладен, вместе со своими дурацкими багами. Всех запарил уже!
Я это к чему? Забота о качестве — хорошо. Излишняя бдительность — только на пользу. Многократная проверка — замечательно. Проект на выходе будет настоящей конфеткой! Правда, стоить она будет так, что вы сами бы никогда такую в магазине не купили. Дают о себе знать растянутые сроки и отвлеченные от своих дел менеджеры, время которых тоже стоит немалых денег.
Гораздо эффективнее — не расхолаживать Васю всякими управленческими штучками, а наоборот, создать для него такие условия, когда он сам будет стремиться реализовать код — наиболее качественно, укладываясь в отведенные сроки. И обязательно проверяя за собой. Это должно войти в привычку, как «попил чаю — вымой кружку». Качество должно быть не внешнее, а «встроенное» в Васю.
Самая правильная жизненная позиция для Василия: «Я — тот, за кем проверять не надо!».