Джеймс Уиттакер - Как тестируют в Google
Так как у меня было достаточно людей, я смог снять ветеранов вроде вас двоих с текущих проектов, заняв более серьезными задачами. Джефф тогда занимался реализацией очереди предварительной отправки для Google Toolbar, а Джейсон тестировал Google Desktop. Какое глупое использование ваших талантов! Поделюсь секретом хорошего менеджера: подберите каждому человеку идеальную для него задачу — и ваша работа сделана. Люди счастливы, и проекты делаются лучше. Правда, эта роскошь стала доступной только благодаря тому, что к моему приходу набралась критическая масса сотрудников.
Еще один плюс большого количества сотрудников — стало больше людей, которые могут тратить свое «двадцатипроцентное время» на эксперименты. Мне удалось собрать команды на несколько рискованных проектов. Мы начали с инструментов и опытов, которые не имели отношения к выпуску программных продуктов, скорее мы просто делали то, что нам было интересно. Оказалось, что ничто так не воодушевляет тестировщиков, как разработка инструментов. Честно говоря, наверное, это самая приятная часть работы. Наверное, в душе я больше разработчик инструментов, чем тестировщик.
— Что тебе больше всего нравится в организации работы Google?
Джеймс: Командная игра. Я твержу об этом кандидатам, когда хочу убедить их работать у нас: тестировщики рапортуют тестировщикам и сами определяют свою судьбу — это то, что я больше всего люблю в Google. Тестировщики сами нанимают сотрудников, сами проводят собеседования, сами решают, кого повышать. ООН признала нашу Республику Тестирование независимым государством!
В нашей стране нет формального подчинения. И еще одна тому причина — дефицит тестировщиков. Ни одна команда разработки не получит себе тестировщика просто так, его нужно заработать. И тестировщикам приходится постоянно изобретать короткие пути. Нас настолько мало, что нам нужно все хорошо приоритизировать. Нам нужно постоянно улучшать автоматизацию, учиться договариваться с разработчиками. Дефицит способствует оптимизации. Пат многое сделал правильно, но дефицит, на мой взгляд, это одна из вещей, которые сильно повлияли на культуру.
— Долго ты привыкал к культуре Google? Ведь ты пришел из Microsoft, где не было централизованной организации тестирования?
Джеймс: В начале моей работы Пат Коупленд дал мне два совета. Первый — просто изучи обстановку. Это было критически важно. Нужно время, чтобы разобраться в том, как работает большая компания. Чтобы успешно работать в Google, нужен другой набор навыков, не такой, как в Microsoft. Так что первые пару месяцев я следовал совету Пата — только слушал и задавал вопросы. Кажется, я даже продлил себе период адаптации на пару недель.
— А второй совет?
Джеймс: Да, извини, увлекся. Иногда Пат говорит умные вещи, и, кажется, мне попалась как раз такая. Второй совет мне совсем не понравился, но оказался еще полезнее первого. Пат отвел меня в сторонку и сказал: «Слушай, парень, я знаю, что у тебя есть репутация за пределами Google, но внутри ты еще ничего не сделал». Пат — человек прямой, и в разговоре его сложно понять неправильно. И я осознал — Google не было дела до того, чем я занимался до прихода сюда. Чтобы состояться именно здесь, я должен сделать что-то внутри компании. Нельзя заслужить уважение в Google, просто прогуливаясь и насвистывая. Пат предложил мне взяться за большой проект и удачно завершить его, да еще и так, чтобы это было заметно. Я выбрал Chrome и Chrome OS и стал там первым менеджером по тестированию. Проект был выпущен, и я передал его одному из своих ребят.
Пат был прав. Менять порядки стало легче после того, как я сделал что-то значительное. Мое резюме позволило мне попасть в компанию, но в стенах Google еще нужно удержаться. Я справился с задачей и внес свой вклад в продукт, важный для многих людей, поэтому ко мне стали прислушиваться. Если я когда-нибудь поменяю место работы, то снова воспользуюсь этой формулой: сначала все узнать, потом заслужить репутацию и только потом — искать возможности для нововведений.
— Кроме тестирования продуктов, какими направлениями ты занимался по совету Пата?
Джеймс: Да, он попросил меня взять под крыло роль инженера по тестированию. Тогда профессия разработчика в тестировании уже укрепилась, и мы понимали, как строится их карьерная лестница. Мы понимали ожидания людей и знали, как измерять их прогресс и как повышать. А вот с тонкостями роли инженера по тестированию нужно было разбираться. Пат спланировал вернуть фокус на эту роль как раз к моему приходу. Думаю, что Пат заранее хотел дать мне эту задачу, вряд ли это совпадение. Подозреваю, что ему казалось, что весы склоняются в сторону разработчиков в тестировании, и он хотел вдохнуть новую жизнь в роль тестировщика. Конечно, он мне ничего такого не говорил, это просто мои догадки.
— И что же ты сделал для инженеров по тестированию?
Джеймс: Мы с Патом создали рабочую группу инженеров по тестированию, которая существует до сих пор. Сначала мы собирались раз в неделю на два часа, постепенно свели к одной часовой встрече в месяц. Пат приходил на первые встречи, а потом оставил меня рулить этим. Команда состояла из двенадцати инженеров по тестированию, отобранных Патом лично. Я еще был новичком и никого из них не знал. На первой встрече мы создали два списка: что в нашей роли круто и что — отстой. Составление списков стало моментом истины для многих участников. Они были единодушны в своем восприятии плохих и хороших факторов в профессии. Меня поразило, насколько они были честны с Патом, — никто даже не пытался сглаживать острые углы! Я видел уйму встреч, на которых все ждали, пока выскажется самый авторитетный участник, или отмалчивались из-за его присутствия. В Google все было иначе. Никого не волновало, что думал Пат, — это была их встреча, и если Пата что-то не устраивало, это была его проблема. Все это сильно воодушевило меня.
Рабочая команда много сделала для определения роли инженера по тестированию. Например, мы переписали рекомендации по карьерному продвижению. Мы выдвинули новый вариант карьерной лестницы на открытое голосование всего сообщества инженеров по тестированию в Google, и ее приняли. Это было здорово — я даже выписал премию всей рабочей группе, чтобы отпраздновать это событие. Наши идеи исходили «снизу», от людей, работающих в специальности, и поэтому принимались легко. Мы написали рекомендации по проведению интервью и разослали их рекрутерам и инженерам, участвующим в собеседованиях. Я думаю, что сейчас роль инженеров по тестированию определена так же четко, как и роль разработчика в тестировании.
— Ты уже достаточно давно работаешь в Google и знаешь всю подноготную. Можешь выдать нам секретный ингредиент Google? Что делает наше тестирование магическим?
Джеймс: Рецепт такой: возьмите высокую квалификацию тестировщиков, добавьте дефицит человеческого ресурса (который заставляет разработчиков помогать, а тестировщиков — оптимизировать), первым делом автоматизируйте (чтобы люди делали только то, в чем компьютеры не сильны), введите способность работать итеративно и быстро внедрять изменения после обратной связи от пользователей. Смешать, но не взбалтывать! Любая компания, которая захочет воспроизвести нашу организацию тестирования, должна начать с этих четырех ингредиентов.
— Как насчет другой книги? У тебя уже задумана следующая книга по тестированию?
Джеймс: Не знаю, я ведь никогда не планирую книги заранее. Моя первая книга родилась из курсовых заметок, которые я использовал для преподавания тестирования в Политехническом университете Флориды. Однажды после презентации на конференции STAR ко мне подошла женщина и спросила, не думал ли я о написании книги. Вопрос оказался с подвохом, так как она была книгоиздателем. Так родилась серия «How to Break Software». Я написал первую книгу сам до последнего слова и был сильно утомлен процессом, поэтому решил больше не писать в одиночку. Над следующими двумя книгами я работал с соавторами. Хью Томпсон написал книгу «How to Break Software Security», Майк Эндрюс написал «How to Break Web Software», а я помогал им обоим. Это действительно их книги. Я всего лишь написал часть материалов и управлял процессом. Мне нравится писать, но ни Хью, ни Майк не стали бы смущать меня, утверждая, что я пишу лучше, чем они. А вы двое? Я так не думаю. Но факт в том, что без меня никто бы не решился писать. В конечном итоге все, что происходит в моей карьере, заканчивается книгой, а окружающие меня люди становятся соавторами. Будете отрицать?
— Вообще-то читатель сейчас держит в руках доказательство твоих слов. Как тут поспоришь!
Джеймс: Не буду говорить, что я совсем не могу писать в одиночку. «Exploratory Testing» — книга, которая была написана без соавторов. Она появилась из презентаций, которые я проводил на конференциях. Я создал тонну материалов, и со временем их накопилось достаточно на книгу.