вторник, октября 23, 2007

Software Testing - Is it a cost or an Investment?

Прочитал заметку Software Testing – Cost or Investment?, потом прочитал предшествовавшее ей обсуждение в LinkedIn, и задумался -- как же всё это ложится на сервисную модель, когда компания занимается исключительно предоставлением услуг по тестированию?
(Вообще-то опрос был нацелен на "продуктовые компании численностью от 100 и выше", но ответы учитывали и другие варианты.)

Если тестирование -- это чистый расход, то получается, что сервисная компания вообще не инвестирует. Максимум, о чём может идти речь -- об инвестициях в репутацию. Ладно, пусть так.

Теперь предположим, что это таки инвестиции. Результатом этих инвестиций является "снижение расходов на сопровождение". Вкладываем сейчас, чтобы сэкономить потом. Но проблема в том, что экономятся-то чужие деньги! Получается, что это инвестиции не в себя, а в заказчика, то есть опять таки расход!

Впрочем, тут есть два варианта развития событий -- либо система тестируется на этапе разработки и на этом "сотрудничество" заканчивается, либо система потом остаётся у тестировщика на сопровождении в течение достаточно длительного времени, при этом в систему вносятся исправляются ошибки, после чего нужно выполнять повторное тестирование.

В первом варианте получаем как раз чистый расход -- тестировщики работали, вкладывались, потом заказчик ушёл и экономит свои деньги, а тестировщикам шиш.

Второй вариант более интересен, но и в нём есть одна неприятность. Дело в том, что далеко не всякий заказчик готов делиться деньгами, съэкономленными за счёт этих инвестиций, сделанных тестировщиками!

То есть если бы вы работали на себя, вы могли бы рассуждать так: "мы сейчас как следует потестируем, наймём 5 очень хороших тестировщиков, подтянем ремень, но зато потом на тестировании можно будет держать одного человека; а если сейчас мы возьмём 5 так-себе-тестировщиков, потом будет как всегда и придётся постоянно держать здесь трёх человек". Экономия -- два человека.

А если то же самое делается для заказчика? Если заказчик жадный, то подтягивать ремень и активно вкладываться в тестировании -- себе дороже, потому что он потом скажет: "ну, у вас же один человек прекрасно справляется с сопровождением, за одного и заплатим". А если не особо стараться, то он будет платить за трёх. Выбор очевиден.

С хорошим заказчиком можно договориться, что он после передачи системы на сопровождение будет оплачивать двух человек -- и точка. Вот только после этого опять начинает работать нормальная логика -- либо мы работаем сейчас плохо, а потом держим трёх человек (хотя заказчик оплачивает двоих, одного кормим сами), либо работаем хорошо, потом на сопровождении держим одного, а получаем за двоих. И заказчик тоже не в накладе -- платит за двоих, а мог бы за троих. Обе стороны в выигрыше.

Главное -- чтобы на заказчика не напала жаба и он не забыл, что это для него не расход, а это он так делится съэкономленными деньгами.

2 комментария:

E комментирует...

Алексей, мне кажется, что здесь немного перемешались мухи и котлеты...
В первом варианте (тестирование без сопровождения) постановка вопроса - затраты или инвестиции - на мой взгляд в принципе является некорректной. Для описываемой сервисной компании тестирование является продуктом, эта компания не принимает решение о необходимости и целесообразности тестирования и фактически не вкладывает свои деньги.
Во втором варианте помимо вышеуказанного замечания логика рассуждения о жадном и хорошем заказчиках понятна, но есть один вопрос - почему за основу принято, что заказчик покупает FTE сопровождающего персонала, а не выполнение SLA по поддержке, как это должно выглядеть в идеале? Как в этом случае будет выглядеть логика компании-исполнителя?

Unknown комментирует...

Евгений Пророк said: ... но есть один вопрос - почему за основу принято, что заказчик покупает FTE сопровождающего персонала, а не выполнение SLA по поддержке, как это должно выглядеть в идеале?
Собственно говоря, именно это я и пытался пояснить "на пальцах" -- почему покупка SLA выгоднее для обеих сторон (при условии достаточно долгосрочного сотрудничества), чем покупка FTE? и как заказчику можно объяснить это.

Для заказчика покупка SLA выгодна потому, что для исполнителя в этом случае хорошая работа приобретает смысл.

Но напрямую почему-то некоторые заказчики этого не понимают. Пытаешься им сказать -- мы продаём вот такое SLA, а они в ответ -- а сколько человек будет работать, чтобы обеспечить его выполнение? Они таким способом пытаются оценить стоимость SLA, и это нормально. Но что они понимают с трудом -- почему SLA получается дороже, чем FTE. Вот тут-то и приходится прибегать к описанному выше объяснению. Так они ПОНИМАЮТ, почему им может быть выгодно оплачивать SLA даже в том случае, если реально его выполнение может быть обеспечено меньшим количеством людей.

(Про сервисное тестирование без сопровождения я напишу отдельным постом...)