воскресенье, 8 мая 2011 г.

Приносит ли тестирование деньги?



"Приносит ли тестирование ПО деньги?".
Часто приходится сталкиваться с мнением о том, что тестирование не приносит денег. Само по себе. При этом утверждается, что "сами по себе" приносят прибыль маркетологи, пресейлы и прочие, которые уполномочены ставить штампики и подписи в разного рода хитрых бумажках. Иногда к этой касте "кормильцев" в последнюю очередь ("Ах да, и , конечно, программисты") приплюсовывают разработчиков. Эдакий компромисс. Что же тестирование? Ему, тестированию, многие некоторые менеджеры разных уровней и некоторые авторы различных книг о разработке ПО отводят второстепенную роль. Далее я попытаюсь описать свой взгляд на проблематику.

1. Умирающие стереотипы
Долгое время тестирование программного обеспечения действительно имело второстепенную роль и зачастую этим видом деятельности (отдельной и целенаправленной) многие производители софта пренебрегали. Рынок не диктовал таких жестких требований к качеству как сегодня, конкуренция среди производителей не была столь высока, клиенты не были столь придирчивы и требовательны. То есть, чисто экономически , многие вендоры осознанно не тратили деньги на тестирование, потому, что их софт и так "уходил как горячие пирожки". С развитием рынка ПО эта ситуация стала меняться. И на Западе давно уже стереотипам о второстепенности тестирования нет места, они отжили и умерли. Изменилось и отношение к тестировщику , как представителю отдельной профессии, носителю специфических навыков и менталитета. В нашей стране еще перемены дошли не до всех, но ситуация меняется - доказательством этому является бурный рост коммьюнити, спрос на соответствующие образовательные курсы, рост зарплат и т.д. и т.п.

2. "Само по себе"
Многие дискутирующие на тему о прибыльности тестирования (имеется ввиду прибыльность для производителя софта) чрезмерно увлекаются теоретической декомпозицией процесса разработки. Приходится слышать "безусловно , без тестирования - никуда, но оно само по себе напрямую денег в кассу не несет, потому бла бла бла бла...". Сразу хочется прервать и спросить: "А что значит "само по себе"?". Или приносит ли "само по себе" деньги та же разработка? И что такое "разработка" - только лишь кодирование? Получаешь ответ "Конечно же нет, разработка это не только кодирование но и то-то то-то и то-то"... И в итоге получается, что ни одна стадия без другой немыслима. "Входы" одних завязаны на "выходы" других и наоборот.. Так кто "сам по себе" приносит деньги? Более подходящего ответа, чем "инкассатор" у меня ничего другого на ум не приходит :) Таким образом, если признается, что в данной конкретной фирме, проекте, процессе "без тестирования нельзя", тогда и говорить о том, что "оно не приносит денег" по меньшей мере некорректно.

3. Если что-то нельзя пощупать оценить, значит этого просто нет
Часто приходится получать встречный и резонный вопрос "Хорошо, допустим, тестирование приносит прибыль. Какую конкретно ?( в процентах, рублях или любой другой количественной форме)" Действительно , вопрос на первый взгляд непростой и , как говорится , с подвохом. Пытаться на него ответить "конкретными" процентами, полагаю, просто невозможно. Такой вопрос можно смело считать провокационным и смело об этом заявлять задающему :) Таких вопросов, считаю, после достижения понимания по п.2 ("Само по себе") быть попросту не должно.

4. Тестирование - не гарантия прибыли
Да, тестирование ПО, как один из важнейших компонентов системы обеспечения качества, в современных условиях играет все более важную роль в процессе разработки. Это тенденция. Неверное понимание этой тенденции иногда рождает и другие, ранее неведомые проблемы. Поясню на абстрактном примере: компания N инвестирует немалые деньги в тестирование своего софта, успешно продает его. Тем не менее время от време у клиентов возникают проблемы с этим софтом. Компания, считая процесс тестирования одним из важнейших компонентов СМК, начинает инвестировать в тестирование еще больше (нанимают больше людей, автоматизируют функциональное тестирование, вкладывают деньги в обучение тестировщиков и т.д. и т.п.) - результате количество проблем снижается, но тем не менее проблемы все еще есть и, иногда , довольно серьезные. "В чем дело? Тестировщики, плохо работаете? Тратим на вас деньги зря?" . Да, вполне может быть , что тестировщики работают неэффективно, может быть, некоторые из них некомпетенты. Но зачастую проблемы кроются не там, куда менеджмент раз за разом направляет свое внимание, средства и претензии. Например, на предприятии отсутствует система управления требованиями и , как следствие, управление изменениями хаотично и плохо контролируемо, что заведомо влечет большой оверхед для программистов и тестировщиков. Или, например, сами программисты работают с использованием устаревших методологий и технологий. Проблемы могут быть везде - у архитекторов (или в связи с их отсутствием) , у разработчиков, аналитиков, маркетологов, технической поддержки. Поэтому, уделяя пристальное внимание развитию тестирования, не стоит забывать, что этому процессу нужен надежный "фундамент" и не менее надежная "крыша".

Таким образом, могу для себя резюмировать еще раз: прибыль приносит слаженные , технологичные и контролируемые взаимодействия всего коллектива, сплоченного общей целью. И тестирование вносит в итоговое количество рублей (положительное или отрицательное =) свой существенный вклад. Поэтому, не стоит пренебрегать его развитием и нуждами, используя устаревшие и заведомо некорректные постулаты и тезисы.

6 комментариев:

  1. Эх, система управления требованиями....
    Какой больной мозоль (((((

    ОтветитьУдалить
  2. Есть фирмы, которые занимаются только тестированием. То есть одна фирма разрабатывает, другая тестирует. Это очень эффективно и результаты всегда более объективнее. У нас оплата тестирования входит в стоимость разработки, как отдельная графа. Потому говорить, что тестирование не приносит денег нельзя. Хотя некоторые стратапы (особенно те которые разрабатывают собственный продукт) часто сначала нанимают программистов и только когда вырастают, начинают набирать тестировщиков. Но, как известно этот подход в корне не правильный. Так как чем раньше найдены баги, тем дешевле их исправление. И таким образом они сами себя наказывают. Странно только, что это понимают далеко не все.

    ОтветитьУдалить
  3. @Arel, я предвидел упоминание об аутсорсинге в тестировании )) Но тут речь немного не о том . Я имею ввиду "деньги" , которое тестирование приносит или не приносит компании-разработчику, а не тестировщикам , штатным или аутсорсерам.

    ОтветитьУдалить
  4. Мне кажется, стартапы не привлекают тестировщиков в таком же объеме, как и уже успешные проекты по нескольким причинам:
    1) Стартапу нужно экономить. Он делается на инвестиции, прибыли еще не приносит.
    2) Еще не понятно, выстрелит ли идея. Если концепция пользователя не "зацепит", то уже неважно, насколько совершенен продукт.
    3) Стартапу больше прощается. Люди начинаются им пользоваться из интереса, они понимают, что новое менее стабильно чем старое. Если пользоваться чем-то долго, вкладывается много времени и жалко его терять. При пробовании пользователь почти не вкладывает сил, у него в стартапе не лежит годовая отчетность, которую завтра срочно сдавать. А если и лежит - то сам виноват ;)

    ОтветитьУдалить
  5. >Эх, система управления требованиями....
    >Какой больной мозоль (((((

    Можно и так сказать, а можно считать очень интересной проблемой для решения! :)

    ОтветитьУдалить
  6. Спасибо за информацию, отличная статья! Ну я считаю, что такой вид заработка приносит мало денег) успехов всем !

    ОтветитьУдалить