Шрифт:
ПО так, чтобы они зафиксировали свою проблему (которая стала
нашим багом).
Например, если проблема была в интерпретаторе Python, то един-
ственное, что мы можем сделать, — это найти обходной путь
(workaround). Для того чтобы программист начал искать такой
путь, мы должны оправдать его усилия тем, что закроем баг с ре-
золюцией 3rd party bug и занесем новый баг, над которым он и
станет работать.
Важный момент: этот новый баг будет с типом "Feature Request".
Вариант 2: мы можем повлиять на производителей "не нашего'"
ПО так, чтобы они зафиксировали свою проблему (которая стала
нашим багом).
Одним из видов особей, обитающих в софтверных компаниях,
являются менеджеры проекта (Project Manager or PjM). Менед-
жер проекта — это администратор, который отвечает за проект.
Жизнь замечательных багов
243
Основа его работы — координация между такими частями про-
екта, как идея, дизайн, кодирование и тестирование, и всеми связан-
ными с ними нюансами типа сроков, людей и прочих ресурсов.
Можно также провести аналогию с должностью директора кар-
тины в советском кинематографе, который мог ничего не пони-
мать в работе оператора, но который знач все ходы и выходы,
чтобы достать и пленку, и аппаратуру, и самого оператора.
Менеджер проекта — это первый и главный контакт, кото-
рый должен быть в курсе событий, знать состояние дел и
знать, кто за что отвечает, чтобы быстро и точно переадресо-
вать проблему тому, кто ее может решить.
Кстати, термин "проект" употребляется здесь (в разговоре о менед-
жерах проекта) в двух значениях:
• некая часть ПО, например, "Оплата". У Оплаты может быть свой
менеджер проекта, который на постоянной основе ведает всеми
делами, связанными с ней;
• новая инициатива, например, под названием "Обновление архи-
тектуры базы данных".
Хороший менеджер проекта — это благословение проекта, пло-
хой — его проклятие. Любимое развлечение плохих менеджеров
проекта — организация бесконечного числа бесконечных сове-
щаний с переливанием из пустого в порожнее.
Кстати, я однажды подсчитал, сколько денег компания тратила на ка-
ждое из совещаний по одному из проектов, — цифра была более чем
внушительная. Вот формула для консервативного подсчета стоимости
одного совещания, может быть, пригодится как-нибудь:
total cost of meeting =
= number of participants x median hourly rate x number of hours,
где total cost of meeting — сколько стоит компании одно совещание;
number of participants — число присутствующих на совещании; median
hourly rate — средняя заработная плата в час. Заработная плата каждого
— это вещь индивидуальная, но все равно можно прийти к некой условной
величине, исходя хотя бы из вашей собственной заработной платы; number of
hours — количество часов, которое длится совещание.
Я встречал PJ'MOB очень разных квалификаций и навыков в обще-
нии. Бывали даже случаи, когда я шел к своему менеджеру и про-
сил его дать мне другой проект, так как не хотел работать с неким
конкретным менеджером проекта.
В подавляющем большинстве случаев в стартапах обязанно-