Спецпроекты

Артак Оганесян: Тестировщику полезно услышать крики пользователей

Бизнес Аутсорсинг Финансовые результаты
Передачей процессов разработки ПО на аутсорсинг сегодня сложно кого-то удивить. Эту практику активно применяют организации самых разных направлений деятельности. Напротив, тестирование программного обеспечения компании до последнего стараются выполнять своими силами, не доверяя внешним командам проверку качества и надежности информационных систем. Что мешает организациям более широко использовать аутсорсинг в этой сфере? Как эффективно выстроить взаимодействие с подрядчиком и оценить качество его работы? Способна ли новая для российского рынка модель долгосрочного аутсорсинга – создание выделенного центра тестирования – изменить ситуацию? Об этом в интервью CNews рассказывает Артак Оганесян, заместитель генерального директора по развитию бизнеса компании EPAM Systems.

CNews: На основе каких моделей аутсорсинга наиболее эффективно выстроить сотрудничество заказчика и подрядчика: фиксированная стоимость, фактические трудозатраты, выделенный центр?

Артак Оганесян: Все зависит от конкретной ситуации. Разовые проекты часто реализуются по модели "фактические трудозатраты" (time and material – T&M). Но когда есть четко согласованные объемы тестирования (например, прогон такого-то количества тестов в такие-то сроки), то можно использовать модель "фиксированной стоимости" (fixed cost – FC).


Артак Оганесян: Передав все тестирование или его часть внешнему партнеру, компания доверяет ему безопасность и надежность своего бизнеса

Но нередко заказчик говорит: "Раз в квартал у нас выходит новая версия системы, ежемесячно – небольшая "заплатка". Давайте вы будете раз в месяц собираться маленькой командой для тестирования обновлений, а ежеквартально – большой командой для испытаний новой версии". Для таких проектов модели fixed cost или time and material – не лучший выбор. Во время паузы между выходом версий или патчей подрядчик перебросит команду на другой проект – и она не успеет освободиться к новому этапу тестирования для данной компании. В результате заказчик не получит именно тех ребят, которые выполняли проверку предыдущих версий его системы и которые уже прекрасно разбираются в ее специфике и особенностях использования.

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

CNews: Выделенная команда располагается на территории заказчика или поставщика услуги?

Артак Оганесян: Возможны различные варианты. Большинство заказчиков в нашей стране сосредоточили свои головные офисы в столицах – Москве и Санкт-Петербурге, где очень высокие зарплаты ИТ-специалистов, большие затраты на аренду помещений, выстраивание инфраструктуры и т.д. Так что держать команду тестировщиков в центральном офисе заказчика или аутсорсера невыгодно. С точки зрения оптимизации стоимости лучше построить выделенный центр тестирования в регионе. Здесь прямые и накладные расходы меньше столичных. При том же уровне квалификации и опыта сотрудники получают зарплаты на 20-30% ниже московских, они более лояльны к работодателю и менее подвержены соблазну быстро менять одну компанию на другую.

В нашей практике есть примеры, когда наши центры тестирования встраивались в инфраструктуру регионального отделения заказчика. Один из них - центр тестирования для Citi в России и СНГ, построенный на базе офиса этого банка в Рязани. Сейчас в нем работают порядка 40-50 человек, которые постоянно заняты на проведении функционального, нагрузочного, интеграционного тестирования систем банка, а также привлекаются для проведения приемочного тестирования ИТ-решений, разработанных для заказчика другими ИТ-компаниями.

Однако часто услуги по тестированию оказываются нами удаленно. В этом случае мы находим юридические, организационные и процессные условия, которые подходят и нам, и заказчику. Тогда сотрудничество является безопасным и взаимовыгодным, а, значит, успешным.

Встречается и смешанный вариант: часть команды находится в головном центре клиента, часть – в региональном офисе EPAM.

CNews: С какими рисками с точки зрения заказчика связан аутсорсинг тестирования ПО?

Артак Оганесян: Для заказчика основной риск – попасть в зависимость от аутсорсера. Передав все тестирование или его часть внешнему партнеру, компания доверяет ему безопасность и надежность своего бизнеса. У заказчика может возникнуть опасение, что поставщик будет шантажировать его, постоянно повышая стоимость услуг. Но в случае с долгосрочным аутсорсингом это не так. Подобное стратегическое сотрудничество закрепляется твердыми юридическими и финансовыми обязательствами обеих сторон, и на самом деле поставщик в не меньшей степени зависит от своего заказчика. Если вдруг компания откажется от сотрудничества, то придется в короткий срок искать варианты, куда перекинуть высвободившуюся команду, что делать с созданной инфраструктурой выделенного центра и т.д. Это прямые финансовые убытки. Обоюдная зависимость как раз позволяет выстраивать взаимовыгодные партнерские отношения и находить компромиссы, которые устраивают обе стороны.

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

CNews: Многие компании, в первую очередь банки и иные финансовые организации, трепетно относятся к вопросу защиты данных. Риск утечки информации и неуверенность в способности подрядчика обеспечить нужный уровень безопасности приводятся как доводы против аутсорсинга. Эти опасения справедливы?

Артак Оганесян: Разработка и согласование политики безопасности – один из ключевых вопросов при создании выделенного центра тестирования. Когда он встроен в инфраструктуру заказчика, то задача решается просто. На привлеченную команду распространяются правила и ограничения, которые действуют в компании. Специалисты подрядчика используют все средства обеспечения безопасности, которые применяются сотрудниками заказчика.

Для защиты данных в случае расположения центра на территории аутсорсера выстраивается специальный контур безопасности. Это спектр организационных, технических, кадровых, юридических мер, которые позволяют полностью избежать случаев утечки информации. Дополнительная гарантия появляется, если производственные процессы аутсорсера сертифицированы по стандартам информационной безопасности, например, SAS70 Type II или ISO/IEC 27001:2005.

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