Время — деньги. Создание команды разработчиков программного обеспечения - Страница 11
— Узнавайте о целях карьеры своих сотрудников и обеспечивайте их карьерный рост.
• Финансовые условия.
— Зарплата и другие выплаты талантливым сотрудникам должны быть выше средних по отрасли.
— Выдавайте премии за выдающиеся достижения.
— Премируйте ведущих сотрудников акциями компании.
• Социальная сфера.
— Прикрепляйте к новичкам старых сотрудников, чтобы они по-дружески помогали им прижиться в коллективе.
— Организуйте внеурочные мероприятия (спортивные игры, походы в кино).
— Заботьтесь о социальных контактах между членами коллектива.
— Поощряйте социальную активность как на рабочем месте, так и вне его, не рассчитывайте лишь на вечеринки по большим праздникам!
Типичные проблемы и их решение
Далее мы обсудим ряд типичных проблем и вопросов, возникающих при использовании описываемых здесь методик, а также их решения.
• Слабые методики и подходы
Это очень распространённая проблема. Большинство интервьюеров или новички, или плохо справляются со своим делом. Люди, проводящие собеседование с кандидатами, должны иметь соответствующие знания и быть обучены (хоть неформально) — они должны знать, что и как делать. Если сотрудник оценивает кандидатов просто по интуиции и лишь пожимает плечами, когда его просят обосновать своё решение, вы кончите тем, что будете нанимать не тех людей и упускать достойных кандидатов.
• Плохо описанная вакансия
Собеседование должно проводиться для конкретной вакансии (если только это не ознакомительное собеседование). Если вы не знаете функциональных обязанностей вакантного поста, вы получите совершенно разные мнения членов группы, проводящей собеседование, относительно приемлемости кандидата. Чёткое описание работ для всех вакансий должно быть доступно всем интервьюерам задолго до прихода кандидата
• Слишком много времени уделяется неквалифицированным кандидатам
Не тратьте на кандидата больше времени, чем нужно. Совершенно нормально дать знать кандидату, что он не подходит. Продумайте способ досрочного завершения собеседования. Не тратьте своего времени и времени кандидата на собеседование, которое не приведёт к положительным результатам.
• Чрезмерная или недостаточная реклама собственных возможностей
Некоторые организации не предоставляют о себе достаточных сведений. Кандидата интервьюируют так дотошно, что у него не остаётся возможности узнать о вакансии. У него остаётся масса вопросов, и он не знает, подходит ли ему эта вакансия. Другие организации слишком много себя рекламируют и по сути не интервьюируют кандидата. Вы должны знать сильные стороны компании и рассказать о них в подходящий момент, но не в процессе собеседования.
• Нереализованные возможности
Вам нужно иметь пару людей, знающих, как довести работу с кандидатом до конца. Кандидат не должен уйти, не получив ответа на важные вопросы или не совсем понимая, что ему предлагается. У вас должен быть ответственный сотрудник, который может ответить на все вопросы, если кандидат не принял предложения. Он должен ориентироваться в широком круге проблем, включая видение будущего компании, возможности роста по службе и уметь сравнивать и противопоставлять альтернативные предложения.
• Медлительность
Хороших кандидатов трудно найти. Если вы уверены, что нашли достойного, — действуйте быстро. Не стесняйтесь пригласить кандидата на интервью вечером или предложить прилететь на выходные. Будьте готовы провести собеседование в тот же день. Я не предлагаю спешить с собеседованием, но бывают обстоятельства, требующие быстрого принятия решения, в том числе во внеурочное время.
Дело нужно поставить так, чтобы вы могли сразу принять кандидата на работу. Время исключительно важно при поиске талантливых людей, и почти всегда вам придётся конкурировать с другими компаниями. Нет ничего неприятнее, чем найти прекрасного кандидата, а потом услышать, что он принял другое предложение, пока вы раскачивались.
• Неправильный баланс
Большинство проблем с удерживанием сотрудников связано с неправильным балансом профессиональных, финансовых и социальных факторов. Вы не сможете долго жертвовать чем-то одним в пользу другого. Нужно на регулярной основе обеспечивать баланс между профессиональной удовлетворённостью, денежным стимулом и социальной поддержкой. Не ждите, когда начнут возникать проблемы.
• Текучесть кадров
Текучка существует всегда. Меняются личные обстоятельства и приоритеты. Люди уходят по причинам, которые вы не можете контролировать: родился ребёнок, нужно быть поближе к родным, далеко до работы… С другой стороны, текучка может указывать на серьёзные проблемы в коллективе или организации. Чтобы оставаться в курсе причин текучести кадров, беседуйте с людьми перед их увольнением и прислушивайтесь к их замечаниям. Если обнаруживается внутренняя проблема, спросите других сотрудников, разделяют ли они такую точку зрения. В больших организациях неплохо вести список причин увольнения сотрудников. Эти сведения помогут отслеживать тенденции и принимать соответствующие меры.
Глава 3
Организация проекта
Как бы ни были талантливы люди, они всё равно не смогут работать с максимальной эффективностью, если их не организовать правильно. Проекты часто страдают от недостатка организованности и неясностей в распределении ролей и обязанностей. Каждый должен знать свой манёвр в общем контексте проекта.
В этой главе мы подробно разберём модель организационной структуры, используемой в NuMega, а также рассмотрим роли, обязанности и навыки, необходимые участникам группы в рамках этой модели.
Модель организационной структуры компании NuMega
Программы, как правило, создаются коллективами, а не одиночками. Команда разработчиков — это группа людей с различными техническими навыками, работающих над реализацией общего проекта. Поскольку разработать ПО довольно сложно, в команде требуются специалисты с самыми разными навыками и способностями, необходимыми для создания продукта. Вот какие специалисты должны быть в группе:
• основной состав группы — специалисты, полностью занятые в создании нового программного продукта:
— менеджеры проекта;
— программисты;
— тестировщики;
— разработчики документации;
— инженерные психологи;
— технологи по разработке ПО;
• вспомогательная группа — специалисты, не занимающиеся созданием программ, но, тем не менее, играющие важную роль в реализации проекта:
— группа менеджмента и маркетинга продукта;
— специалисты по технической поддержке ПО;
— администраторы бета-тестирования.
Очень важно, чтобы перечисленные функциональные подразделения участвовали в работе над проектом с самого начала. Чем раньше люди смогут понять суть требований к продукту и принять участие в их критическом анализе, тем лучше подготовятся к исполнению собственной миссии и ощутят свой вклад в успех проекта. Кроме того, чтобы завершить создание продукта в срок, все перечисленные подразделения должны работать параллельно на протяжении всего цикла разработки. Решение этой задачи будет описано в главе 11 — там мы рассмотрим включение в график проекта взаимно скоординированных во времени промежуточных этапов.
С другой стороны, если при подборе кадров какие-либо функциональные подразделения будут не (недо-) укомплектованы, то реализовать такие важные условия разработки ПО, как глубокое понимание задач, синергизм в работе и постепенный прогресс, будет невозможно. Я не настаиваю на том, чтобы все подразделения были полностью укомплектованы к первому дню работы над проектом, но по крайней мере их представители (хочется надеяться, что это будут ведущие специалисты) должны работать над проектом с самого начала. Нельзя недооценивать как важность этого требования, так и трудность его реализации.