Есть задача: выбрать модель тестирования для нового заказного проекта.
Вводная: проект большой, силами разработчиков его тестить как-то не очень. Заказчик человек умный и готов платить за качество. Вопрос только в том открывать ли для этих целей свой отдел (работы ему точно хватит только по этому одному проекту) либо не заморачиваться и вынести тестирование на плечи аутсорсинговой компании. Логично оценить затраты. Прикинем.
Я себе вижу оценку затрат примерно следующим образом, почему и склоняюсь к своему отделу:
Есть N человеко-часов тестирования (планирование, управление ресурсами — включено).
Есть M часов, которое можно отвести на тестирование, согласно планам разработки (срок понят и принят и разработчиками и заказчиками).
M/N = T кол-во тестировщиков (включая руководителя или менеджеров).
Кол-во занятых тестировщиков в принципе своём неизменно не зависимо от варианта.
Есть два варианта: нанять Т сторонних тестеров (зааутсорсить) и нанять Т своих тестеров (свой отдел).
Накладные расходы в том и в другом случае:
Для сторонних тестеров.
Давайте смотреть реально: нужно кормить не только самих тестеров, но и штат компании которая берётся за тестирование. У них есть офис, амортизация оборудования и ваши расходы, за счёт которых руководящий состав хочет вернуть вложения — особо хочу отметить этот этап. Кроме того стоит денег, которые уйдут на сторону, организация рабочих мест (локальных или же удалённых — то есть затраты на инфраструктуру связи с разработчиками).
Для своего отдела: офис, амортизация оборудования, зарплата (всё как и в предыдущем случае), за исключением того, что нужно кормить всю машину сторонней компании, которая этим самым аутсорсингом живёт. По сути всё звено менеджеров, которое привело вас в эту компанию, идёт в перерасход по сравнению со своим отделом (я не утрирую — даже если вы их нашли сами через сайт к примеру, сайт тоже стоит денег и он также учтён в плане возврата инвестиций).
Как я вижу — свой отдел будет дешевле.
Аутсорсинг разработки понятен, если разработка ПО не есть профильном для компании, которая хочет получить систему. Но аутсорсинг тестирования?! Для компании, которая разрабатывает ПО? Есть своя инфраструктура IT направления. Есть специалисты по управлению, опыт поиска новых специалистов, есть программа и опыт разработки. Почему выносить тестирование, которое есть по сути своей частью разработки на сторону? Аутсорсить тестирование можно в одном и только одном случае — если это приёмочное тестирование, проводимое самим заказчиком.
Особо хочется отметить стратегические выгоды при своём отделе — опыт не уходит в трубу аутсорсинга — мы точим своё оружие. Бесценный опыт тестирования, которое в последнее время всё больше становится полноценной отраслью разработки специфичного класса программных систем, не должен уходить на сторону вместе с командой нанятых под проект тестеров. Они приходят, точат на нашем проекте своё умение — своё оружие! — и уходят, как гордые самураи-наёмники, унося знания о предметной области, а зачастую и коммерческие наработки.