Книги, научные публикации Pages:     | 1 | 2 | 3 | 4 | -- [ Страница 1 ] --

Эд - ДЕНЬГИ Создание команды разработчиков программного обеспечения Москва 2002 Р У С УДК 004.45 32.973.26-018.2 С16 Э.

С16 Ч программно го с англ. - дом - ил, ISBN 5-7502-0189-9 В этой книге ветеран индустрии программных Эд делится найденными в результате нелегкого трудя принципами, приемами и методиками коммерческого ПО. В книге раскрыты фундаментальные принципы, позволяющие выпускать програм мы в срок в любых обстоятельствах. Вы узнаете о реальном опыте разработки коммерческого ПО в начина ющей компании, о том как выбрать нужных разработки, настроить техноло гию, и проект, своевременно руживая и решая возникающие проблемы.

Книга состоит из глав и предметного УДК 004.45 ББК го к печати по с Corporation, Вашингтон, США.

- компании Apple Computer Inc.

BackOffice, Microsoft Press, MSDN. Outlook. PowerPoint.

Basic, Visual C++. Visual и Windows NT Microsoft в США и/или Все собственностью соответствующих фирм.

Если иное, псе н продуктов, у также имена лип. в примерах, и не никакого к и й Оригинальное на английском Ed й Перевод ни русский язык. Microsoft Corporation, й Оформление и к изданию.

ISBN дом Русская ISBN 5-7502-0189- Оглавление X XV Введение ЧАСТЬ ЛЮДИ, ОРГАНИЗАЦИЯ И Глава 1 и их найти Поиск и привлечение Общие проблемы и решения Глава 2 Резюме, собеседование сотрудников Собеседование с кандидатом сотрудников Типичные проблемы и их решение Глава 3 Организация проекта Модель структуры компании Управление проектом Роли и обязанности Типичные проблемы и их решение Глава 4 сотрудников и корпоративная Ранжирование Корпоративная культура Типичные проблемы и их решение Оглавление Глава 5 программы Средства управления исходным кодом Устранение проблем и Дополнительные Типичные проблемы и их Глава 6 Основы системы качества Основные принципы Что, когда и как тестировать Кто должен тестировать? Другие критичные моменты для контроля качества Типичные проблемы и их решение Глава 7 Основы разработки программ Технологи по разработке ПО Сборки Процедура установки Сбор всего вместе Типичные проблемы и их решение ЧАСТЬ И Глава 8 Требования Центральная идея проекта Формулирование требований Анализ требований Определение приоритетов Утверждение требований Управление внесением изменений Общие проблемы и решения Глава 9 оценка технологий и моделирование Чем полезны исследования и прототипы Исследования !

Оглавление Оценка технологий Моделирование Типичные проблемы и их Глава интерфейс Прототип пользовательского интерфейса Роль специалиста по психологии Типичные проблемы и их Глава Предпосылки Основные понятия и трудности планирования Как составить хороший план Типичные и их решение ЧАСТЬ ИСПОЛНЕНИЕ Глава Держим курс 2бЗ Аналогия с самолетом Процесс измерений и мониторинга состояния проекта Внесение изменений Общие проблемы и решения Глава Бета-тестирование Ценность Самая распространенная ошибка при бета-тестирования Типы программ бета-тестирования Элементы программы бета-тестирования бета-тестирования Общие проблемы и решения Глава Кандидат на выпуск Начальные требования Тестирование кандидата на выпуск Общие проблемы и решения \ Оглавление Глава Закрытие проекта Почему это так важно?

Как это делается?

Что дальше? Общие проблемы и Предметный Об авторе Посвящается Джейн, и Ханне Ч тем, и буду и всем сотрудникам, работавшим и работающим вас эта никогда не бы на свет.

Предисловие эта книга Управлению проекта ми посвящено множество книг. Здесь же речь пойдет о ре альных приемах создания и выпуска программ, причем осо бое внимание уделяется ситуации начинающей организа ции. Своевременный выпуск продукта Ч единственное, что имеет значение в этом поэтому книга сосредото чена на решении этой задачи. Ее автор Ч не просто счаст ливчик, которому повезло выпустить удачную программу.

Под его руководством был целый ряд замечатель ных программ, но важнее всего, что он воспитал плеяду менеджеров, повторивших его успех. Ими создано столько программ, сколько большинству организаций даже не лось. В этой отрасли практически невозможно воспитать менеджера проекта, умеющего успешно работать. Однако Эд многократно с этой трудной задачей, и в этой книге вы найдете те методики, которые он передавал своим ученикам.

В разработке ПО управление проектами значит чем в какой-либо другой поскольку в наше время Интернета* всем приходится работать в очень напряжен ном темпе, С другой стороны, группы стремятся мить время за управления проектом... в итоге Ч по стоянные срывы графика и куча ошибок в выпускаемых программах. Эта проблема особенно характерна для не больших фирм, спешащих поскорее использовать даже ми нимальную возможность, чтобы протиснуться на рынок. Та кая ситуация не редкость и в которые в погоне за постоянно ускользающими сроками разработки продукта ведут проекты без нормального Предисловие думать, что руководители проекта просто выдержали сроки выпуска, однако корни проблемы намно го глубже. Во всех образовательных учреждениях мира курс информатики дает очень мало или вовсе не дает управления проектами. Поэтому разработчи ков приходится заниматься самообразованием или перени мать опыт менеджеров, которые сами с трудом представля ют себе этот предмет. Написать код программы Ч это лишь малая часть любого проекта, но в большинстве компаний этого до сих пор не поймут. К счастью книга, которую вы держите в руках, дает представление об остальной, большей части работы;

такого материала вы больше нигде не найде те. Здесь нет теории управления проектами Ч лишь описа приемов, сработавших или не сработавших в весьма успешной молодой компании.

Нетрудно заметить, что по ходу изложения многократ но подчеркивается важность командной работы. Структу ра большинства компаний представляет собой отдел про граммирования, отдел тестирования и, возможно, отдел разработки документации, которые со временем превраща ются в удельные княжества. Формируется совокупность собранных для работы над продуктом (я даже не могу назвать ее командой в строгом смысле этого слова), подотчетных разным группам с разной структурой и уровнем полномочий. В силу этого большинство компа ний с самого начала обречены на неудачу из-за врожден ных недостатков Эд создал в NuMega коман ду в истинном смысле этого слова, где программисты, тес тировщики, инженерные психологи и разработчики пользовательской документации были собраны под нача лом единственного менеджера проекта. Даже когда NuMega разрослась настолько, что пришлось менять организацию в соответствии с традиционной структурой, Эд не отступал от концепции единой команды и отстаивал ее в боях с Предисловие В рамках принятой в структуры орга низации все необходимые для создания про дукта, приписаны только к этому продукту. Такая структура позволила NuMega справиться с массой искусственных про блем, обычно встающих на пути у других компаний. Ее до полнительное преимущество в том, что она позволяет каж дому своими глазами видеть, насколько работа других уча стников проекта важна для выпуска успешного продукта.

Это разительно отличалось от стиля отношений, принято го в большинстве компаний, который можно назвать ско рее конфронтацией (что особенно характерно для отноше ний между разработчиками и собрать команду и не допустить ее раскола Ч не из легких. ни один отчет о состоя нии дел в программной индустрии не обходится без упо минаний о постоянной нехватке кадров. Одним желанием, как бы велико оно ни было, хорошую не создать, если нет людей, способных стать ее участниками. Один из экстраординарных подходов компании NuMega Ч включе ние в персонал компании разра ботчиков. Как говорит Эд, один из важнейших секретов пеха NuMega Ч подбор и сохранение ценных кадров.

зультатом стала возможность мгновенной мобилизации сил и своевременного выпуска продукта на рынок. У Эда есть и собственная исключительная черта: набрав толковых со трудников, он уходит с дороги, чтобы не мешать им в пол ной мере проявить свои способности. Порой такие сотруд ники могли неделю работать, не встречаясь и не советуясь с менеджером проекта. Характерным качеством Эда было то, что он позволял менеджерам учиться на своих ошибках и, что самое важное, поощрял когда они извлекали уроки.

Если набрать толковых людей и правильно организо вать их, решать остальные задачи управления проектом ста новится намного легче. Важно тщательно следить за 'Х и Предисловие сом управления (и Эд подчеркивает это в своей книге):

ни распускать коллектив, ни слишком закручивать управления должно быть ровно столько, сколько нужно. Разделы, посвященные планированию и исполне нию проектов составлены из описания тех самых методов, которые он передавал менеджерам, обучая их основам тодики работы. Выпустить продукт нелегко. Изложенные в этих принципы Ч тяжкий опыт ошибок, заставлявших скрипеть зуба ми от досады, а порой до слез!

Будучи участником многих таких ситуаций и пережив все, о чем здесь говорится, я не понаслышке знаю, что ность опыта, изложенного в этой больше отданных за нее денег. Я начинал программистом в соста ве команды, работавшей над под началом Эда, бывшего в ту пору менеджером проекта. В конце кон цов я дослужился в до менеджера проектов по раз работке программных продуктов из серии TrueTime и Эд в это был уже начальником отдела разработки NuMega, Без методик, представленных Эдом этой книге, группы, отвечающие за создание TrueTime и TrueCoverage, никогда бы не сделали эти продукты такими успешными, какими они стали.

Я во многом завидую читателям этой книги, потому что.

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

Эд помог мне вырасти от программиста до состоявшегося технического специалиста и менеджера проекта (я думал, что никогда им не чью помощь в проектами используют компании по всему миру. Я никогда не смогу полностью отблагодарить Эда за то, что он был моим самым лучшим руководителем. Он все гда шутил, что достаточно знает о наших успехах в X Предисловие граммировании, чтобы мы оставались честны с ним. И все же я могу сказать, что почти всему, что касается успешного создания программ, меня научил Эд.

Когда Эд попросил меня написать предисловие к этой книге, я был просто ошеломлен, ведь это такая честь для меня! Но он сказал, что эта книга полностью на моей сове сти, поскольку я подал ему идею и постоянно стимулиро вал ее написание. Я тут же с радостью признал свою вину!

Когда я работал в мне часто задавали один и тот же вопрос: Как этим ребятам в NuMega удается выпускать столько замечательных программ? Теперь для ответа мне достаточно сослаться на книгу Эда. Я приятное волнение от того, что теперь у каждого есть шанс узнать, как один из лучших в своей отрасли менеджеров проектов сно ва и снова создавал программы, значение которых для раз работчиков трудно переоценить.

Роббинс 2001 года Благодарности Над этой книгой работало столько народа, что упомянуть всех очень трудно, поэтому я заранее хочу извиниться ред теми, кого нет в этом списке. Думаю, важно отметить как группы, так и отдельных людей, которые сыграли чевые роли в создании этой книги и прямо или косвенно по могли ей появиться на свет. Вот кого я хочу поблагодарить.

Джона бывшего по группе и одного из основателей Inc., вдохновлявшего меня в более чем двух лет во время написания этой книги. Его неисчерпаемый энтузиазм и поддержка в конце концов сделали свое дело. Спасибо за дружбу и веру в меня!

Группу редакторов и рецензентов: Барбару и Бёрд из Microsoft Press, а и Нэнси из Training Solutions, Inc.

проделали огромную работу по сведению содер жимого этой книги в единое целое и внесли ный вклад в каждый этап работы над ней.

Х Фрэнка Гроссмана и Джима совместно с кото рыми была основана компания Они преподали мне уроки разработки замечатель ных программ и составили компанию этого искусства. За это я всегда буду им бла годарен, Команду разработчиков BoundsChecker 3.0, 4.0 и 5.0, Большая часгь материала этой книги взята из их дости жений. вы лучшая команда разработчиков из известных И мое имя!

Благодарности Боба О'Брайена, менеджера по связям с обще ственностью, и по экономи ческим связям. Вы постоянно внимание к нашей вашим усилиям мы выглядели намного лучше, чем мы есть па самом Ваш вклад с остальными участниками группы маркетинга заслуживает такую как и вклад ос Моих родителей, и Лору научивших меня жизни и всему, что в ней важно, Мою жену Джейн, сына Мэтью и дочь позволив ших мне работать над книгой по ночам и в выходные.

Благодаря вашему и поддержке, оказанной в когда я больше всего нуждался в ней, я работу. Вы Ч драгоценное, что у меня есть, и я каждый за это Бога, наконец-то XVI Введение пришел в Technologies ] 994 года. Рабо тая над продуктом для обнаружения ошибок в программах для Windows, я совмещал должнос ти руководителя разработки и менеджера по маркетингу продукта. Тогда в было всего 14 сотрудников:

кроме двух компании Ч три ру ководитель административной службы, четверо специали стов по сбыту, один администратор в офисе, один посыль ный, три специалиста по технической поддержке и менед жер по маркетингу. Мы были небольшой по всем статьям подходящей под определение начинающей.

Каждому приходилось совмещать должностей и выполнять массу обязанностей. несмотря на не большие размеры у нас были большие и на дежды. Мы твердо создавать замечательные программы и хотели собрать группу специалис тов, способную создавать лучшие в мире инструменты для ПО.

Спустя несколько лет, благодаря заботам и усилиям первоклассной компания вы росла: в ней больше сотрудников. с ком панией рос и я, дойдя до поста начальника отдела разработ XVII ки. В первые четыре года мы создали шесть основных пусков наших приоритетных продуктов, и приобрели два новых продукта и еще четыре созда ли для внутреннего применения. Почти все эти продукты были выпущены в расчетный срок. Объем прибылей быст ро рос, и компания стала очень рентабельной. Наши дукты хорошо и они смогли завоевать ряд от раслевых наград:

2000 г.

Х Приз Лучший компонент или утилита для качества присуждаемый за DevPartnerо for Visual Приз На гребне присуждаемый Paradise, в номинации "Самый продаваемый инстру мент для и отладки за Edition.

Приз Выбор журнала за CodeReviewЩ 6.1.

Х Приз Выбор читателя за журнала 1999 г.

Журнал Magazine присудил Dev Partner Studio приз Jolt Cola За отличное качество продукта.

Х DevPartner Studio заслужил 5 в рейтинге Development.

Х Java присудил приз World>

Х 6.01 получил приз Выбор читателя жур нала VBPJ.

CodeReview 6.1 получил приз Выбор при журналом VBPJ.

Х 6.1 for Visual Basic получает приз Выбор читателя* журнала VBPJ.

Х Приз Выбор присуждается журналом VBPJ программе 1998 г.

Х DevPartner for Visual Basic получает от Х SmartCheck и TrueTime объявлены Выбором журнала Visual Basic Journal.

SmartCheck и TrueTime получают приз Выбор чита журнала Visual Basic Х DevPartner for Visual Basic получает от Software Development Cola производительность.

г.

Х становится первым экспонатом в зале славы Jolt Hall of Fame*. Программа у всех на устах как завоевавшая многочисленные награды за высокую про изводительность.

TrueTime* Visual Basic Edition завоевала на выстав ке Comdex приз Best of Show журнала BYTE.

Еженедельник PC Week присуждает приз Выбор анали тика программе SmartCheck* Х BoundsChecker второй год подряд получает от журнала Visual Basic Выбор читателя.

Х Журнал Windows Journal присуждает приз Star Tech программе как одному из наиболее значительных инструментов для разработки ПО.

BoundsChecker получает приз журнала PC Magazine Выбор редакции, опередив конкурентов по многим параметрам.

XIX Х для NT получает приз За луч ший и наиболее технически инструмент для разработки от PC Magazine.

BoundsChecker получает приз Jolt Cola За высокую и на конфе ренции Software Development West Х BoundsChecker становится обладателем приза Выбор журнала Basic Programmers 1995 г.

Tech присуждает свой приз Star Tech программе BoundsChecker как одному из наиболее значительных инструментов для разработки ПО года.

Х BoundsChecker для Windows NT получает Jolt Cola За качество продукта на конференции Software Development West 1994 г.

BoundsChecker для Windows получает приз Jolt Cola отличное качество продукта на конференции Software Development West Неплохой да? Однако нам пришлось столкнуть ся с теми же проблемами, с которыми сталкивается любая группа разработчиков ПО. Конфликтующие напря график, нехватка ресурсов и сил, плохо налажен ный обмен информацией Ч лишь несколько пунктов из списка проблем. Но нужно было своевременно выпускать качественные программы Ч в противном случае нас бы просто вытеснили из бизнеса.

Самое большое препятствие Ч неэффективное управ ление группами разработчиков и проектами. Сейчас это самая распространенная проблема индустрии программ ных средств. Она особенно актуальна для начинающих ком паний Ч они с пей ежедневно. И решать ее Введение надо, иначе Ч банкротство. Способность с этой проблемой Ч один из важнейших факторов успеха NuMega Цель этой книги Ч поделиться с вами приемами и методиками разработки коммерческого ПО в растущей среде компании, в ре зультате нелегкого труда. В книге будут раскрыты самые важные и фундаментальные позволяющие пускать качественные программы. Я не буду отвлекаться на праздные дискуссии или перечислять сотни возможных способов решения той или иной проблемы, а расскажу лишь о подходах, которые были с успехом для разработки коммерческого ПО в начинающей компа нии, Я также расскажу об опыте моей работы в NuMega: как мы своих специалистов и создавали наши в пути.

Думаю, что среда начиняющей тождественна и средним проектам (в которых занято до 30 человек). Мала или велика ваша организация, занимается она или информационны ми технологиями, являетесь вы гуру Ассемблера или Web программистом, Ч нужно выпускать качественные про граммы и делать это вовремя. Вы постоянно находитесь под давлением этой вам приходится иметь дело с идентичными и вы тоже стремитесь к успеху. В конце концов, когда последний раз ваша группа смогла избежать конфликта задач, накладок с графиком, нехватки ресурсов и других типичного цикла разработки ПО?

Пожалуйста, имейте в виду, что эта книга Ч не исчер пывающее пособие по какому-либо предмету.

щенных подробному анализу узких вопросов: набору кад ров, технологии разработки ПО, инженер ной психологин и др. Ч хватает. на собственном XXI опыте вы уже что во время цикла разработки редко удается полностью реализовать какой-либо отдель ный этап. Поэтому важно отличать главное от второстепен ного. Нужно овладеть основами и не беспокоиться о мело чах. Если можно время, силы или средства, эко номьте! Но если нет иного способа решить кроме трудного, все равно беритесь за эту задачу.

С другой эта книга Ч не обзор спосо бов решения различных задач. Вы не найдете здесь крити ки всех разнообразных стратегий решения конкретных за дач. Вместо этого я расскажу вам о наших испытанных ме тодах и покажу, как быстро и эффективно их воедино в цикле Хотя есть еще целый ряд за мечательных идей, своего воплощения, я сосредо точусь только на подходах, опробованных на деле.

Как пользоваться этой книгой Я не хочу сказать, что изложенные в этой книге идеи подой дут для каждой группы и будут работать в каждой компании.

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

Для кого предназначена эта книга Если вы занимаете (или занять) руководящую должность в проекте по ПО, то эта книга Ч для вас. К целевой книги также относятся:

верхние управления техническими подразде лениями (вице-президенты компаний, начальники от делов, руководители групп);

XXII Введение Х руководители проектов;

Х ведущие разработчики;

Х архитекторы ПО;

Х менеджеры Х менеджеры групп технических писателей;

ведущие технические писатели;

Х менеджеры групп ведущие Х по эргономике;

Х ведущие специалисты по эргономике;

Х менеджеры групп технологов по разработке ПО;

технологи по разработке ПО.

Если вы Ч рядовой член вам тоже следует про читать эту книгу. В ней описаны роли участников а не только менеджеров и ведущих специалистов.

Важно, чтобы вся команда работала как единое целое, раз деляя одни и те же концепции, единое отношение к разным проблемам, чтобы это были единомышленники и носите ли одной культуры.

Структура книги В книге три части, и в каждой описан один из критических аспектов управления созданием ПО.

Часть организация и методы Прежде чем приступать к планированию проекта или санию программы, нужно позаботиться об основах. Для эффективной работы необходимо подобрать их и вооружить их приемами. Без этого все усилия не отстать от графика безуспешны, и при воз растании темпа работы и давления сроков проект просто развалится на Первая часть посвящена XXI потребностям любого проекта, исполняемого бы стрыми темпами, Х Ч как и удержать нужных специалистов;

организацию Ч какова роль и обязанности каждого уча группы;

Х Ч ключевые инструменты для разра ботки и способы их использования;

Х тестирование Ч как вести тестирование параллельно с разработкой;

разработки Ч как поддерживать цело программы и обеспечивать ее пригодность к использованию на протяжении цикла разработки.

Часть 2. и проекта Если всерьез намерены выпустить программу в срок, то прежде, чем приступать к ее созданию, нужно понять, что и как должно быть создано. Даже самым талантливым лю дям требуется иметь о планируемых татах проекта, намеченных для использования технологи ях и конечном облике продукта. В с этим нужно:

Х сформулировать основные к проекту:

Х определить технологии, которые лягут в основу проекта:

Х создать модель проекта.

эти задачи, можно составить график, в котором задачи проекта приведены в равновесие с доступными кад рами и уровнем их способностей. В определенной степе ни можно быть уверенным, что при таком подходе будет создан реалистичный график создания именно такой про граммы, какая нужна.

Все четыре предмета Ч требования, технологии, ис и график Ч тесно связаны, поэтому если ваша Ч успешный их нельзя рассматривать в отрыве друг от друга. Без них придется полагаться только XXIV на догадки, и игнорировать ключевые элемен ты проекта, внося неприемлемый часто ведущий к возникновению проблем и срывам графика. Помните: по чти все самые ошибки делаются в первые несколь ко недель работы над проектом, при Часть 3. проекта Планирование Ч готово для создания про дукта. При толковых людей, технологичес ких приемов и хорошего плана шансы уложиться в срок весьма велики. необходимо следить за тем, что бы и на стадиях проекта все шло должным образом.

В третьей части я рассказываю о моделях исполнения проекта, управляющих работами по разра ботке продукта. Мы рассмотрим;

исполнение Ч как не дать сбиться с курса, об наруживая и решая проблемы как можно Ч как с помощью бета-тестирова ния получать из мира отзывы о программе и расширить возможности тестирования;

Х работа с на Ч как управлять этапами проекта и обеспечить готов ность продукта;

Х закрытие Ч что это такое, зачем оно нужно и как его провести, Дополнительная В конце каждой главы ответы на распростра вопросы и методы решения проблем, часто возни кающих во время применения изложенных в идей на практике. вопросов и проблем взято из ных случаев, поэтому я что они помогут вам вый ти из реальных ситуаций.

XXV Кроме по ходу изложения есть врезки под заголов ком Из собственного иллюстрирующие примене ние некоторых принципов и концепций в компании NuMega. Эти врезки позволили мне ровать, рассказать несколько интересных, а порой анекдо тичных историй, благодаря которым разработка ПО явля ется таким веселым Как со мной связаться Я бы хотел услышать ваши соображения и комментарии по поводу этой книги. Кроме того, было бы интересно, если б читатели поделились своими уроками, которые они извлек ли из собственного опыта, а также оригинальными спосо бами создания программ в срок. мне по адресу:

XXVI ОРГАНИЗАЦИЯ И МЕТОДЫ люди и как их найти Часть 1. Люди, и методы амечательные люди создают замечательные програм мы. Они формулируют требования, отлаживают техно логию и придерживаются графиков. Они тестируют, доку ментируют и сопровождают продукт. Их идеи, профессио нализм и энтузиазм определяют успех или провал разра ботки. Поскольку на проекта больше всего важно нанимать самых под людей.

Так-то оно так, но в команды разработчиков часто по падают не совсем те. с поиском кандидатов и способность распознать талант могут усугубляться жестки ми требованиями к срокам поставки продукта, хотя их при нимают в расчет из лучших побуждений. Если вам не по силам решить эти проблемы, то в лучшем случае вы набе рете команду в худшем Ч несостоятель ную. И не надейтесь, что таланты сами придут к вам: как бы там ни было, так будет далеко не всегда. Напротив, нужно иметь жесткое, закрепленное на уровне организации пра вило находить и удерживать наиболее квалифицированных специалистов. Это правило должно на три ключевых направления деятельности: поиск, вание удерживание кандидатов.

В этой и следующей главе мы обсудим лучшие методи ки поиска, отбора и удерживания талантливых людей. Я же расскажу о том, почему эта деятельность, как и сама раз- работка ПО, требует планирования, дисциплины и ля исполнения.

Определение Прежде всего нужно понять, кого же вы ищете. Если вы не можете определить, кто вам нужен, как вы узнаете, что на шли того, кого искали? Как отличить классного разработ чика, потрясающего писателя и от не столь выдающихся? Критериев оценки мас са, но я выделил шесть основных.

Глава Замечательные люди и как их Квалификация Каждый кандидат должен иметь признание в своей области. Разработчик должен иметь квалификацию в своей специфической технической области, технический писатель Ч опыт в создании инженер по качества Ч владеть методами автоматизи рованного тестирования.

Я говорю не просто о компетентности, а о мастерстве.

Кандидат должен в совершенстве (ну, почти) владеть пред метом, относящимся к потребностям проекта. Он должен быть способен с лету рассказать о своей теме и в любой момент продемонстрировать глубокое понимание того, что и как было Разработчик, например, должен дока зать, что его технические познания соответствуют гаемой ему должности. Вот некоторые возможные темы:

C++ и проектирование;

Х создание MFC и разработка пользовательского интерфейса;

ассемблер и организация Windows;

разработка драйверов устройств;

Х разработка сетевых протоколов;

Х оптимизация производительности.

Почему это важно? Во-первых, если человек в совер шенстве овладел хотя бы предметом, он, вероятно, при необходимости освоит и другие. Технология меняется быстро, и способность к обучению и постижению сложных Ч очень важное качество.

Во-вторых, в мощных командах важно друг к другу ее а оно зачастую основывается на зна ниях и способностях. Каждый должен иметь квалификацию в одной или нескольких областях, в которые он может вне сти такой же или чем другие.

И я и охь ' ЭН ИНО ХИ и о Ч g чхэон -НЭП ЭН Часть 1. Люди, организация и методы Значит ли это, что каждый разработчик должен иметь ученую и 20-летний опыт разработки ПО? Нет, ко нечно. Но если вы решили разработ чика поддержки и вы должны быть уве рены, что он выделится на а не просто ему соответствовать.

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

ваш объявит о выпуске своего продукта ведущий разработчик заболеет, дукта окажется низкой Ч мало ли что! Но но преданность ваших и их вера в то, что они дела проект до Они будут демонстрировать свою приверженность делу, прекратят работу и будут помогать, пока не добьются своего. Самые преданные люди стремятся к завершению проекта и готовы пожертвовать чем угодно во имя победы.

Из собственного опыта Прекрасный пример того, па способна и Ч разработанный продукт В декабре г, в самом на чале Интернет-революции, Билл Гейтс рассказал о планах Microsoft относительно Интернета. 8 декабря, на следую щий день после его заявления, нам позвонили из Microsoft и спросили, хотим ли мы их Sweeper SDK и с Если то представьте пресс-релизы и на предстоящей в начале ион ино я он ХИ я оя я эхин И ИНО си и он ино етлннижетй'эн и ми raiqffodBE Ч хо но л и И Глава Замечательные люди и как их найти месяцев и через год. что вы правильно оценили способность к он не ярок, как другие члены команды. Не бойтесь взять подаю щего надежды человека и вырастить его.

Из собственного опыта В мы часто людей по их и возможности учиться: если человеку сидится на ме сте и он постоянно хочет свои у него есть важнейших качества, необходимых для успеха в будущем. Обнаружив такие черты у молодых кан дидатов, мы принимаем их на Мы устраиваем их на начальные технические в техническую или контроль качества Ч туда, нам нужна помощь и подходит их Кандидат может не знать столько, сколько другие но он должен быстро набираться знаний и может со обогнать Паршивая овца...

Иногда просчет при выборе кандидата может обернуться серьезными проблемами.

Х Неспособность адекватно поручения До пустим, это было сделано не по злому умыслу Ч просто кто-то не приложил достаточно усилий, чтобы оценить квалификацию нового но он принят на должность, для которой не годится.

Х Изоляция от коллектива В сплоченных командах важно, чтобы каждый тянул свою лямку. Работник.

не способный со своей работой, часто ста новится изгоем: люди редко советуются, просят помо щи или у отстающего. Им что он си дит у них на Если у вас более одного щего, коллектив раздробится на группировки, интриги... Чтобы команда функционировала нормаль Часть Люди, и методы но, должен вносить свой ощутимый вклад общее дело.

Х Неустойчивый дух Если с одним из членов команды невозможно работать, боевой дух всей ды начнет стремительно падать. Нужно проверять, что любой кандидат Ч особенно претендующий на роль лидера, Ч хорошо вписывается в команду.

Х Отставание от технологического прогресса Для об щего успеха очень важно реагировать на изменения в своей индустрии. Например, если вы ли, что ваша традиционная стратегия двухуровневых клиент-серверных приложений устарела и вам нужно переходить на трехуровневую стратегию Web-приложе ний, а кто-то из членов команды не способен достаточ но быстро усовершенствовать свои знания, вы потеря ете время, а возможно, и интересные заказы.

Финансовые затраты Теперь посмотрим, как неправильный выбор сотрудника сказывается на финансах. Вот пример одно- и двухгодич ных выплат одному разработчику:

S90 000 Зарплата $5 S20 000 Комиссионные агентам по найму S30 000 Социальное страхование, льготы, обучение 5145 000 Затраты за первый год 000 Затраты за первый и второй год (включая небольшой рост, без премий) Куча денег! И только на одного человека. Так как зачас тую оплата труда является крупнейшей статьей при разработке ПО, возникает вопрос: стоит ли тратить Глава люди и как их столько же времени и сил на оценку как на и средства В обоих случаях вы хотите быть уверены. В что удовлетворены ваши сегодняшние и будущие потребности, И в том, что сделали надежный выбор, который облегчит вашу деятельность. что вы должны выбирать вых сотрудников не менее тщательно, чем оборудование.

Влияние плохого кадрового обеспечения Одно неверное решение при подборе сотрудников, конеч но, не очень приятно, но не имеет фатального влияния на Гораздо сложней преодолеть последствия серии при подборе персонала, в результате которых команда формируется из посредственностей.

Х Низкая Низкая производитель ность для слабой команды Ч норма. Трудно рассчиты вать на череду успехов, победы и ект начинает пробуксовывать. Сбиваясь с пути, слабая команда начинает бессмысленную борьбу, поскольку не может понять суть проблем и сменить курс быстро и решительно, Х к и качеству Слабая команда часто выпускает продукт. У людей нет стремления сделать свое дело наилучшим образом и страстного создать солидный продукт, удов пользователя. В плохой команде люди не остаются после работы и не прихватывают обеденное время, чтобы чуть повысить производительность про граммы, прогнать или переписать пара граф документации. Без таких мелочей время работы увеличивается, а его качество значительно ухудшается.

Х Задержка в выпуске продукта Плохой команде труд но график выпуска продукта.

ли зачастую не осознают сложность технологий, с Х Часть Люди, организация и методы имеют дело, способны предвидеть возмож ных проблем и желают жертвовать во имя своевре менного работы. Сама по себе задержка проекта не значит, что у вас плохая Но я убеж ден, что для плохой команды это в порядке вещей и что проблемы являются следствием плохо орга низованного кадрового обеспечения.

Поиск и привлечение достойных кандидатов Как же их найти? Основных методик девять. В мы использовали практически все. Кто скажет, откуда возьмет ся хороший кандидат! Так что мы решили задействовать все имеющиеся механизмы. Каждая методика имеет свои плю сы и но некоторые работают лучше других, особен но для начинающих компаний (табл.

1-1. Каналы для поиска новых сотрудников.

Канал Прила- Подходит для циальный гаемые компаний?

Web-узлы поиска Высокий Средние Да Собственный Высокий Средние Л Рекомендации Высокий Средние Профессиональные Средний Средние la кадровые агентства Колледжи Средний Средние Объявления и ярмарки Низкие Нет Низкий Низкие Нет Целевой поиск Низкий Высокие Нет Исключительные события Средние Нет Web-узлы поиска кадров Сегодня Интернет предоставляет, пожалуй, самые широкие возможности для найма сотрудников. Важнейшим преиму ществом Интернета является его огромная популярность во :.:

Глава 1. Замечательные люди и как их найти всем мире и то. что он может на круглосуточ но. Кроме обычной публикации объявлений в телеконфе из способов Ч работа с интерактив ными узлами поиска кадров: они могут дать вам исключи тельную найти талантливых профессионалов.

пара хороших узлов: и wwwhotjobs.com, Идея проста;

вы, как работодатель, публикуете на Web узле описание своей работы, а потенциальные кандидаты просматривают список предложений в поисках интересу ющих их должностей. Чтобы это работало, нужно очень четко описать предлагаемую работу. Web-узлы обычно ог раничивают описание предложения лишь парой так что убедитесь, что оно содержит четкое описание долж ностных обязанностей, технологии и рабочей обстановки.

Собственный Web-узел Web-узел вашей также играет важную роль. Хотя большинство работодателей часто используют свои узлы для описания вакансий, многие из них недооценивают, на сколько важны узлы для кандидатов, Привлеките внимание Большинству малых или вновь появившихся компаний трудно привлечь кандидатов на свои о них просто мало кто знает. Поэтому что кандидаты об ратят внимание на компанию только благодаря ваше му Web-узлу. Но если ваша компания побольше или широ ко известна, нужно использовать эту возможность. В по исках работы люди часто заходят на Web-узлы компаний, о которых они что-то слышали или об успехах которых они знают.

По мере роста вашей компании и укрепления ее репу тации вы будете замечать увеличивающийся трафик посе щений вашего узла потенциальными Приго товьтесь к этому. Если компания широко известна, не Часть 1. Люди, организация и методы выгоду из вашей репутации и представляйте свои всем посетителям Web-узла, Представьте товар лицом Независимо от возможностей компании привлекать внима ние людей к Web-узлу разместите па нем ваши предложе ния по трудоустройству. Нет разницы, откуда кандидату ста ло о вас известно (от агентства, из по рекомендации или как-то еще), Ч что теперь именно ваш должен разрекламировать ваши кансии и компанию. Нужно, чтобы на посетителей узел произвел глубокое впечатление. Профессионально ли сделан узел? ли четко подана информация, на сколько он интересен и ярок? Надо не просто показать, почему это так здо рово Ч работать в вашей Почти все хорошие кандидаты посмотрят Web-узел компании перед собеседованием. Даже если ваша компания маленькая и вы в ресурсах и во важ но произвести впечатление на потенциальных кан представляя свою компанию и имеющиеся вакан сии. Далее я привожу список наиболее важных задач, кото рые должен решать ваш узел.

Х Предоставьте и точное описание предлагаемой работы:

опишите свободные вакансии;

$ опишите применяемые технологии;

укажите требуемый опыт работы.

Приведите описание интересных проектов или продуктов:

объясните, что может программа;

объясните, почему продукт так нужен организаци ям или расскажите об особых навыках, со трудниками при работе над проектом;

;

Глава люди и как их найти фотографии команды разработчиков позво лят сделать знакомство менее формальным.

Предоставьте сведения о вашей компании и достигну тых ей успехах:

обозначьте цели компании и ее виды на будущее;

укажите, как долго работает компания;

укажите, является ли компания государственной или частной;

укажите, получает ли компания финанси рование;

расскажите о достигнутых успехах;

включите один из последних пресс-релизов компа нии;

покажите фотографии зданий, помещений, кафе и мест отдыха в компании.

Х Опишите программу предоставляемых льгот:

опишите стандартный пакет опишите особенности, отличаю щие ваши льготы от других.

Х рабочую обстановку;

используется ли официальная форма одежды или произвольная;

возможен ли гибкий график работы;

укажите, есть ли возможности для активного отдыха;

укажите, имеет ли место какая-либо особая обще ственная деятельность.

Рекомендации Рекомендации сотрудников исключительно важны, особен но для начинающих Программа найма сотруд ников по рекомендациям должна стимулировать уже рабо тающих сотрудников к привлечению своих бывших коллег, Часть 1. Люди, и методы друзей или знакомых. Вместо того чтобы платить боль шие комиссионные профессиональным агентам по тру доустройству, часть этих лучше заплатить своим ботникам, Метод найма по рекомендациям основан на очень про стой концепции: классные специалисты обычно образуют некое сообщество, зачастую включающее разных специа листов: разработчики ПО знакомы с писате архитекторы с менеджерами и т. д. Еще одна прекрас ная особенность этого метода в том, что рекомендующий ручается за лицо, которое он рекомендует, демонстрируя свое желание снова с ним работать.

Рекомендации сотрудников Ч это не только прекрасная методика найма. Если у вас уже высококвалифицированная команда и вы используете этот метод, вы увеличиваете шан сы пополнить ее другими специали стами. Кроме того, люди склонны рекомендовать тех, с они хотели бы работать. По сути рекомендующий заинте ресован в том, чтобы рекомендуемый добился успеха, и не будет стоять у него на пути.

Благодаря многие начинающие и ма лые компании очень быстро. Это самый простой и надежный способ найма квалифицированных кандидатов. компании легко попасть в зависимость от рекомендаций.

время рекомендаций меньше, или они вообще пере станут поступать, так как все варианты будут испробованы.

Нельзя слишком крепко привязываться к этому подходу, как и к любой другой найма работников.

Из собственного опыта В за первые три года 40% наших по пали к нам по рекомендациям. Цепочка рекомендаций получилась длинной и запутанной, и было довольно Глава люди и как их найти бавно ее распутывать. Так, мы начали с который ру чался за Джона, который и свою очередь ручался за Бэр ни, а тот Ч за Мэри не всегда помнят о том, что им имеет смысл за бывшими коллегами. Чтобы метод найма ра требуется регулярное (со брания, доски объявлений, электронная почта) и серьезное материальное Выплачивайте премии за реко на общих собраниях. Не забывайте информиро вать новых сотрудников о программе рекомендаций Ч сде лайте это частью своей обучения новых сотруд ников. Пусть кадровики встречаются с новыми сотрудниками через несколько недель после начала работы и узнают, не могут ли они потенциальных кандидатов.

Профессиональные кадровые агентства Один из традиционных способов поиска работников прибегнуть к услугам профессиональных кадровых агентств.

Получив от вас описание предлагаемых вакансий и емой агентства ищут подходящих кандида тов. Затем они посылают вам удовлетворяющие вашим требованиям. Если вы нанимаете кандидата, мендованного вы выплачиваете агентству в ка честве комиссионных от до 25% годовой зарплаты но вого сотрудника.

способ работы с профессиональными агент ствами Ч установить с ними крепкие взаимоотношения.

Если вы продемонстрируете, что готовы уделять им доста точно времени, подробно опишите свои предложения, обеспечьте обратную связь Ч и вы достигнете лучших ре зультатов. А еще лучше, если вы согласны ограничить чис ло посреднических агентств, платить большие комиссион ные и покажете, что у вас хватает вакансий. У агентства бу дет реальный стимул, и в результате вы из самых лучших Часть 1. Люди, организация и найденных ими выберите ра ботника.

Достоинства кадровых очевидны. Кто-то дру гой ищет того, кто а вы это платите. Если вы знаете хорошее кадровое агентство и можете себе позво лить заплатить им то, что они Ч все счастливы. Но хорошие агентства встречаются редко. Во многих случаях резюме, получаемые от них, неважно, а агентство не предоставляет о кандидате достаточной информации.

Снова вы должны на самих себя.

Колледжи Может, поискать в колледжах? У нас в не было ре сурсов для поиска талантов по всей стране. Мы ли несколько ключевых учебных заведений в нашем не и установили связи с деканами, профессурой и служащи ми, отвечающими за распределение Проделан эту мы вызвались на общественных началах расска зать о своей компании, отрасли и о том, чем мы занимаем ся. Когда наши отношения укрепились, нам стали рекомен довать талантливых новичков на постоянную а так же для работы на неполный рабочий день и на время каникул.

Объявления и ярмарки вакансий Рекламные объявления и ярмарки вакансий Ч пожаЩ, ста рейшие методики найма работников. Но объявления в га зетах очень дороги, и хотя в результате вы мно го резюме, большинство из них Ч от неподходящих канди датов. Обычно хорошие кандидаты не обращают внимания на объявления и не посещают ярмарок вакансий они склонны вращаться в своем кругу. Вот почему так ны рекомендации. Возможно, вам удастся найти самородок Глава 1. Замечательные люди и как их найти в горе песка, просматривая объявления и ки, но приготовьтесь копаться в пачке резюме, посланных на всякий случай.

Выставки Поиск сотрудников на выставках может быть эффектив ным, но только если у вас очень специфические запросы и вы выставляетесь на соответствующей специализирован ной выставке. Как правило, выставки посещают люди пре данные своей компании и не с целью найти новую работу а узнать что-то новое. Как бы там ни было, не упускайте пи одной разрекламировать свою компанию или организацию. Если у вас свой стенд, не забудьте подгото вить рекламные листовки с информацией о вакансиях для потенциальных кандидатов.

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

Понимание всего этого Ч лучшая защита от чтобы компания не стала целью такого поиска. Помните стое правило: если вы не способны удовлетворить вашего сотрудника, это сделает кто-нибудь другой.

Часть Люди, организация и методы Исключительные события К событиям относится закрытие нии и увольнение целой команды отдела. Когда такое случается, надо очень быстро. Большинство компаний, сталкивающихся с подобными трудностями, реализует программы по ко торых реорганизация. Поскольку такое случа ется довольно редко, стоит строить специальную про грамму, рассчитанную на подобные события. Однако если повезет, вы получите несколько хороших из одной команды, Какая методика лучше?

Итак, какой способ лучше? компании читают Интернет или рекомендации, поскольку эти мето дики дешевле, проще и эффективней. Вы можете свою политику подбора кадров, опираясь только на два этих подхода. Остальные методики мене популярны или так как требуют больше времени, денег и усилий.

Однако поскольку и высококвалифициро ванные кандидаты очень важны, а найти их можно любым способом, следует работать по всем описанным каналам, Просто надо на самые продуктивные из них.

Короче, вы должны постоянно и целенаправленно при лагать усилия в поиске кадров Ч это процесс бесконечный и непрерывный. Кроме тех случаев, когда надолго замо раживаете программу найма новых сотрудников, вы исходить из предположения, что вам нужна некоторая реор кадров с заменой старых сотрудников новыми.

Общие проблемы и решения Пожалуй самая сложная кадровая проблема Ч поиск каче ственных специалистов. Если кадровое обеспечение у вас Глава и как их найти отстает, вы можете под влиянием хоть кого, бы Но это очень новый сотрудник должен прежде всего стать полноценным членом команды.

Кроме того, любое плохое кадровое решение скорей всего приведет к проблемам, описанным в этой главе.

Классные специалисты распознают достойные организа ции и хотят работать только в самых лучших. Не разбавляй те команду посредственностями Ч это может сказаться на ваших возможностях найма работников.

Но что делать в кризисных ситуациях? А нот что.

Нанимайте Контрактников можно эффективно использовать, заполнив пробелы в штат ном расписании и используя их для работ, не являю щихся или уникальными в вашем проекте.

Даже если их способности позволяют выполнять более задачи, все равно имеет смысл их использовать для таких работ, это вашим лю дям работать над более или интересными частями проекта. Контрактники Ч люди временные, и их легко уволить по завершении работы или если они окажутся несовместимыми с командой.

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

Часть 1. Люди, и методы обеспечения Отсутствие до стойных может говорить о том, что прила гается усилий для кадрового обеспечении.

Зачем вводить в команду слабых специалистов, создавая дополнительные если на самом деле вам нужно разобраться с Резюме, собеседование и удерживание сотрудников Часть 1. Люди, организация и методы отя команда создается из отдельных людей, но вооб ще-то нужно работать с коллективом Ч обдуманно и осторожно. В этой главе мы рассмотрим основы построе ния коллектива: анализ резюме, собеседование с кандида тами и создание необходимых условий.

Умение отличить плохих от хороших на основе их резюме Ч важное качество. Ничего не сто ит швырнуть в корзину резюме прекрасного специ алиста или потратить уйму времени и сил на с человеком, с которым не стоило и встречаться, Анализ резюме Давайте использовать определение подходящих кандидатов из предыдущей главы применительно к анализу резюме, Опыт работы Как давно кандидат работает в интересующей вас области и насколько сложны проекты, с которыми он имел дело? Например.

или 10-летний опыт разработки на C++? Писал код высокопроизводительных приложе ний с обработкой транзакций для финансовых инсти тутов или простой код для вывода диалоговых окон в вузовской программке? опыт скажется на способности специалиста разбираться со сложными технологиями и применять их в работе. Вам нужны люди, справившиеся со сложной работой хотя бы в од ной из интересующих областей.

Х Один из способов оценить это качество Ч посмотреть в резюме, не ле тун ли он: если за последние три года он сменил четы ре места, его преданность работе можно поставить под вопрос. Хотя причины смены работы могут быть впол не обоснованными, такое поведение заслуживает при стального внимания.

Глава 2. собеседование и сотрудников па которых работал в про шлом (отношение к делу, умение команде) Еще одна неплохая получше узнать циального работника Ч посмотреть, где он работал раньше. Вам нужны люди, которые хорошо в того которая у вас есть или которую вы хотите создать. Где работал кандидат;

всегда только в компаниях или в малых?

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

Часть 1. Люди, организация и методы произвел;

овладел;

управлял;

определил;

написал;

интегрировал;

направил;

создал.

глаголы в целом означают меньшую привер женность делу и ответственность. Применение таких может указывать, что кандидат не в полной мере овладел предметом. такие слова:

принимал участие;

ознакомился;

следовал;

$ помогал;

Ф способствовал;

комментировал.

Сфера ответственности (поведение, умение рабо тать в команде) сферу Насколько большим был проект? Какова была доля уча стия в нем Насколько важно это было для компании? Что бы произошло при срыве проекта?

Сколько людей участвовало в проекте?

Способность свои мысли (умение работать в команде) Резюме и сопроводительное письмо Ч первые примеры способности кандидата письменно излагать свои мысли. Они же могут быть и единственными, если вы не попросите кандидата напи сать еще. Хорошо ли это читается? Не слиш ком ли многословно? Не чересчур ли сжато? Понимае 2. Резюме, и удерживание те ли вы, что хотел сказать кандидат? Не забудьте оце нить все, что получили от кандидата.

(жажда знаний) Жажду можно оценить (с некоторыми исходя из широты профессионального опыта. В целом тот, кто стремится расширять свои знания, склонен принимать позволяющие ему вать что-то новое. Хорошей мерой профессионально го кругозора является оценка его сти работать на разных уровнях абстрагирования. Мо жет ли он работать как с кодом (например, с пользовательским интерфейсом и общей логикой программы), так и с техно логиями (потоки, управление памятью, внутренняя организация ОС и т. п.)?

Резюме не дает полной картины Резюме лишь помогают отобрать кандидатов для собеседо вания. Не забывайте оценить жизненный опыт кандидата на основании письма и резюме, Иногда из него видны характерные человека, которые могут иметь значение для предлагаемой работы. Вполне ве что умение играть на нескольких ин струментах говорит о способности работать с нескольки ми языками программирования, успехи в спорте Ч об ак тивной натуре, а опыт военной службы Ч о дисциплине.

Телефонное интервью Прежде чем назначать встречу кандидатам для ния, имеет смысл провести их предварительный по по телефону. Телефонное интервью ное средство получения дополнительных сведений о кан дидатах, а также прекрасная возможность сэкономить время. Оно поможет не только понять, для какой должнос ти в степени подходит кандидат, но и ->ХХ Часть 1. Люди, организация и методы ли ему по целесообразно в случаях.

Вы хотите больше о кандидате тельный разговор по телефону Ч лучший способ ре шить, подходит ли вам кандидат, когда вы в нем не уве рены. Резюме не дает полного представления о канди дате, так что если у вас есть сомнения, поговорите с ним по телефону. Соберите наиболее важные сведения, ко помогут вам решить, отсеять его или назначить ему встречу.

+ Нужно установить по возможности Если ваш график не позволяет своевре менно провести созвонитесь с кандида том, при этом наличие вакансии. Так, если у вас есть разработчика пользовательского интерфейса для самых современных карманных компь сообщите об этом кандидату. Если у вас отлич ная команда и прекрасные условия работы, кандидат должен об этом знать. Это поможет поддерживать заин тересованность кандидата в вашей компании, ког да он будет рассматривать другие предложения, а вы сможете решить, нужно ли уделять ему больше внима ния, чтобы его себе.

собственного опыта Иногда для мы просматриваем старые резюме на ших сотрудников. Показательно (и смешно), плохи их резюме в сравнении с тем. что на са мом деле представляют эти люди или кем они стали. Ког да-то я зачитывал такие резюме, не имени авто ра, и спрашивал у коллег, взять ли нам его на работу. От веты были очень интересными!

Глава 2. Резюме, и удерживание сотрудников Собеседование с кандидатом Наконец появился хороший кандидат. Следующий шаг Ч со беседование. Далее я расскажу о принципах его проведения.

проводящая собеседование В собеседовании должны принимать участие ки, которые будут непосредственно связаны с новичком.

забывайте: вы создаете команду и важно, чтобы другие ее члены приняли нового сотрудника. Им будет легче это сде лать, если они будут участвовать в выборе кандидатов.

Ключевые темы При собеседовании вы должны оценить:

Х квалификацию;

Х отношение к делу;

Х поведение:

Х умение работать в команде:

Х жажду знаний.

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

Часть I. Люди, организация и методы Что такое потоки? Как они Х Зачем они Х Каковы наиболее распространенные проблемы ис пользования Х Опишите наиболее сложную проблему, связанную с потоками, которую вам удалось решить.

Откровенно говоря, один и тот же набор вопросов вы можете использовать для самых тем, ска жем, обсуждая СОМ, серверы Sun и базы данных Oracle. Если ответы становятся короче и поверхностней, стоит копнуть глубже. Но если кандидат отвечает свободно, подробно и приводит примеры из реальной жизни, вы скорее всего имеете дело с кандидатом, знающим свое дело, Из опыта Как-то в мы связались с кандидатом, из резюме которого следовало, что он был архитектором сложных систем на базе СОМ, мы попросили своих экспертов по СОМ провести с ним собеседование. Сначала кандидата попросили схематически изобразить его проект на ке, а затем пройтись по объектной модели и объяснить проектные решения. Кандидат нарисовал на доске один долго на него таращился, а потом сказал: Лад но, поймали. Я в своем резюме Ч я это не разра батывал. Вывод: всегда нужно убедиться, что кандидат умеет делать то, что он Ключевые вопросы Вопросы на должны быть связаны с преды дущей практикой кандидата, а не с абстрактными ями, для которых кандидат обычно знает правильные от Вам нужно определить, как он работает в реальных Глава 2. Резюме, собеседование и удерживание сотрудников условиях. Оцепив человека предыдущих ситу ациях, вы можете как он будет справляться с новой работой. Рассмотрим ряд общих проблем в тех об ластях, на которых сосредоточиться. Они не претен дуют на полноту Ч это лишь примеры относя щихся к ключевым темам.

Квалификация.

Опишите последний когда для решения про вам требовалась помощь других специалис тов. Долго ли вы ее ждали? Как вы взаимодействова ли? Что получилось в итоге?

Расскажите о сложной проблеме, которую вам при шлось выявлять и устранять. Что это было? Как вы ее обнаружили? Каково было решение?

Расскажите о каком-нибудь фрагменте кода, кото рый вам нужно было написать в сжатые сроки. Как вы это делали? Получилось ли у вас и почему?

Преданность.

часть вашего предыдущего проекта была са мой сложной? Как БЫ к этому В чем за ключалась ваша роль? Что получилось в результате?

Ф Расскажите о ситуации, когда ваш проект должен был на внешние воздействия. Что было причиной? Какова была реакция команды? Какова была ваша реакция?

Отношение к делу.

Опишите последний случай, когда вы не уложились в сроки. Что случилось? Как вы реагировали? Что произошло потом?

Опишите последний случай, когда вы оказались в затруднительном положении. Из-за чего? Как вы реагировали? Как вы вышли из положения?

Часть 1. Люди, организация и методы Х Поведение.

Ф Опишите последний случай, когда вы отвлеклись от своих дел, чтобы помочь кому-то другому. Почему вы это Каков был результат?

Расскажите о ситуации, когда вы делали дополни тельную работу, хотя вас об этом не просили и ник то не знал, что вы это Х Умение работать в команде.

Опишите самого во взаимоотношениях человека, с которым вам приходилось работать. Что делало таким сложным общение с ним? Какова была ваша реакция? Как вы к этому относились?

Каковы наиболее важные принципы плодотворной работы с другими людьми? Почему? Приведите при меры, подтверждающие ваше мнение.

Ф Жажда знаний.

Как вы поддерживаете свои знания? Какие книги или журналы вы читаете, какие выставки посещаете?

Опишите, что сейчас происходит на рынке с про дуктом X. Что может случиться в дальнейшем?

Из собственного опыта Один из любимых вопросов наших специалистов:

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

Глава 2. Резюме, собеседование и Обсуждайте с ними и по данному канди а также вопросы, требующие дальнейшего изучения.

Не пытайтесь друг друга Ч ограничьтесь про стым в рамках своей Иногда становится что канди дат годится. То ли он не соответствует тому, что написа но в его резюме, то ли из его вытекает, что он не вписывается в коллектив. бойтесь прервать собеседова ние, если стало ясно, что кандидат у вас работать не будет.

Наше правило: если двое что не продол жать собеседование, они его кончают Ч какой смысл попу сту тратить время?

Тестирование кандидата Проверка кандидата может дать очень на глядные результаты. Для начинающих и малых компаний позволяющее больше узнать кандидата, чем зачастую является важным шагом, предшествую щим приему на работе Тестирование не должно требовать большого объема вспомогательной информации.

Вместе с тем тест должен быть достаточно сложным, что бы можно было увидеть, как кандидат решает трудные про блемы, наиболее важная часть Ч не тест как та ковой, а реакция на пего. Не паникует ли кандидат? Не сда ется ли он через пять минут? Находит ли он творческое или уникальное решение? ли усилия? Не сломило ли его то, что он не смог закончить тест или нашел ответа?

Многие считают, что Ч порядочный стресс и без Может быть, но работа в среде разработки ПО Ч стресс еще больший. Вы должны быть уверены, что ваш человек до степени умеет справляться со стрессами.

Часть 1. Люди,- и методы Из опыта Многие годы мы и тот же программис тский тссг каждому Он не требует никако го оборудования или к справочникам. Канди датов просят написать отображающую на эк ране свой собственный исходный текст, не обращаясь к чтению файлов. Хотя для многих кандидатов этот тест оказался сложным, он позволил многое в них открыть.

Кое-кто сдавался через пару минут, другой присылал от вет потом, поскольку нашел решения но время собесе дования. Один даже позвонил из самолета, с собеседования! Не такие ли люди вам нужны?

Примеры разработок Другой способ кандидатов Ч анализ приме ров их Многие разработчики го интерфейса, технические по эр гономике и программисты могут запросто представить вам такие образцы. Скажем, разработчики пользовательского и эргономисты могут продемонстрировать снимки экранов поставляемых продуктов, а технические писатели Ч документацию или справочные ко торыми они работали. У зачастую есть их старые планы тестирования или другая вспомогательная документация. Внимательно с предыдущи ми работами, вы сможете получить хорошее представление о предыдущем опыте и способностях кандидата. Когда вы не знаете, как с кандидатом, образцы его разра боток могут направить вас в нужном Привлечение кандидата При положительных результатах собеседования вы начина ете рассматривать кандидата как явного претендента на место. Теперь вы должны суметь объяснить, почему эта ' !

Глава 2. Резюме, собеседование и сотрудников должность, эта компания и эта рабочая обстановка Ч имен но то, что ему нужно. У хорошего кандидата предложений хватает, поэтому важно уметь кратко описать преимуще ства, которые он получит, работая на вас.

Чтобы привлечь кандидата, задайте себе следующие вопросы относительно группы и компании;

Х что вы предлагаете в плане технологий?

над какими продуктами будет кандидат?

как можно охарактеризовать компанию, в которой бу дет работать кандидат?

в чем уникальность предложения?

Х какие уникальные преимущества есть у предлагаемой рабочей обстановки?

Заметьте: о зарплате и льготах в вашем предложении ни звука. О них я скоро расскажу. Вам не нужны люди, рассмат ривающие работу только через призму зарплаты. Прежде чем переходить к цифрам, нужно убедиться, что кандидат интересуется работой, Из собственного опыта В все аргументы в пользу компании абсолютно четко определены, и их знают наизусть. кан дидатов это завораживает.

Вопрос: что вы предлагаете в плане технологий?

Ответ. на нижнем уровне.

Х Вопрос: над какими продуктами будет работать канди дат?

Ответ: средства разработки и отладки.

Х Вопрос: как можно охарактеризовать компанию, в ко торой будет работать кандидат?

стремительно развивающаяся коммерческая компания Ч поставщик ПО, о Часть Люди, организация и методы Вопрос: в чем предложения?

Ответ: передовых закрытых технологий Microsoft и Intel: в элитарной команде ботчиков.

Х Вопрос: каковы преимущества предлага емой рабочей ная на сочетающая работу и отдых.

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

вы нашли победителя;

вы не победителя;

не ясно, кого вы Ч мнения разделились.

Сделайте предложение кандидату, только если что вы имеете дело с Ч не нужно лишнего риска. Если после многочисленных дискуссий у какого-то команды остаются серьезные возражения, лучше ос тановиться. Важно учитывать мнение каждого члена коман ды. Особенно важно вводить кандидата в команду на сильно. Маловероятно, что команда, участвовавшая в собе и процессе примет и будет помогать человеку, который ей не подходит.

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

Предложение Когда приходит пора делать кандидату дей ствуйте быстро и предлагайте солидные начальные условия.

Нужно продемонстрировать кандидату, что он является важной частью команды. Не забывайте: вы берете на рабо ту только лучших и времени не намерены!

Я очень рекомендую предлагать солидную базовую зар плату и поощрения, производительность.

Обычно это делается в виде премий и некоторой доли ак ций в соответствии с тем уровнем вклада в общее дело, торый вы ожидаете от нового сотрудника.

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

Часть 1. Люди, организация и методы Если вы упустили кандидата Принятие Ч эмоциональный, здесь и ме лочи могут сыграть роль. Когда говорит убедитесь, что на то есть причи ны, не какие-то легко разрешаемые пустяки. Для этого нужно разобраться, почему отклонено. Не ус услышав о предложении. Нужно понять, что лежит за этим ответом, Из собственного опыта У нас как-то был хороший кандидат на должность отказавшийся от предложения по мейным Поговорив с ним, мы выясни ли, что он обещал свозить свою семью в диснеевский парк. Он думал, что у него не будет свободного из-за жесткого с выпуском продукта. Вообще-то он был прав Ч нам нужны люди, готовые сразу к работе и довести ее до конца. Но, узнав причину отказа, мы обсудили ситуацию с руководством и согласились, что он Ч ценное дополне ние к нашей команде и достоин того, чтобы учесть его В другом случае мы сделали предложение прекрасно му который затем решил продолжать рабо над своим текущим проектом, так как в нем была нуж да и он должен был с примириться. Мы, огорчились, но оценили его позицию и надеж что он свяжется с нами, проект. Мы не пыта лись обсуждать с ним его Нельзя че чтобы он отказался тех ценностей, ради которых мы его сами принимаем на Вдруг, оказавшись в зат положении, он нам позвонил, и мы взя ли его на Мы были его уверенные, что он будет так же предан нам, как работодателю.

: Глава 2. Резюме, собеседование и удерживание сотрудников Удерживание сотрудников Набран людей, важно удержать их компании. Есть три ос группы по которым люди у сво его работодателя.

Х Хорошие работники рабо тать. Они очень гордятся своим делом и хотели бы ви деть в нем что-то Люди должны знать, что их работа важна и по достоинству оценивается. Им нуж их компания выделяется среди других и внесли свою лепту ее успех. Важно отдавать себе от чет в наличии таких потребностей и обеспечить обрат ную связь как с отдельными людьми, так и с группами.

С другой стороны, если у вас важнейший ект в мире, надо время от сотрудникам возможность заниматься новыми Новые инте ресные задачи, новые коллеги и технологии, с которы ми на новом месте, не позволят им по терять интерес к Х Финансовые Исследования показывают, что деньги Ч причина смены работы. Хотя, конечно, у вас работают платить им нуж хорошо. Оплата должна включать базовую премии за особые достижения и выпла ты, в долговре менном успехе компании. Такая схема оплаты не дает сотрудникам расслабляться и удерживает их, если акции компании растут.

редко испытывают с поиском высокооплачиваемой работы. Но если вы предлагаете больше среднего, люди считают, что вы их цените высоко, и даже более солидная зарплата дру гих местах становится для них не такой привлекатель ной. Риск потерять человека из-за денег будет если вы и другими способами демонстрируете, что вы Ч деньги Люди, и методы его Если же интересуют только деньги, это.

вероятно, не лучший Х Рабочее место, являющееся соци среды, может чудесным образом влиять на удер сотрудника. Если люди общаются со своими коллегами и довольны рабочей обстановкой, очень ма ловероятно, что они захотят поменять рабочу (если при этом их и матери альные потребности). Нельзя недооценивать удобство офиса и мощность множества компьютеров, находя щихся в распоряжении каждого члена коллектива. До бавьте сюда заботу о здоровье и отдыхе, и у вас Ч сплоченного коллектива.

Методики удерживания сотрудников Лучший способ сохранить работников Ч уделять одинако вое трем рассмотренным сферам, Хотя лег че достичь превосходства в какой-то одной области, реаль ные выгоды компания обеспечив баланс между всеми тремя. Вот некоторые рекомендации, как достичь такого баланса.

Х Убедитесь, что люди получают и про буют что-то Люди должны знать, что они отвечают за свою ра боту.

Люди должны важность своих продуктов и проектов, Хвалите людей как лично, так и публично.

Чаще переводите людей из одной группы в чтобы обеспечить их рост и взаимозаменяемость.

Узнавайте о целях карьеры своих сотрудников и обеспечивайте их карьерный рост.

Глава 2. Резюме, собеседование и сотрудников Х условия.

Зарплата и другие выплаты должны быть средних по отрясли.

премии за выдающиеся Премируйте ведущих сотрудников акциями компании.

Социальная сфера.

Прикрепляйте ко новичкам старых ков, чтобы они по-дружески помогали им прижить ся в коллективе.

Ф Организуйте внеурочные мероприятия (спортив ные игры, походы в кино).

Заботьтесь о социальных контактах между членами коллектива.

Поощряйте социальную активность как па рабочем месте, так и вне его, не рассчитывайте лишь на черинки по большим Типичные проблемы и их решение мы обсудим ряд типичных проблем и вопросов, воз при использовании описываемых здесь а также их решения.

Собеседование: проблемы и решения и подходы Это очень проблема. или но вички, или плохо справляются со своим делом. Люди, проводящие собеседование с кандидатами, должны иметь соответствующие знания и быть обучены (хоть Ч они должны знать, что и как делать.

Если сотрудник кандидатов просто по инту иции и лишь пожинает когда его просят обо сновать решение, вы кончите тем, что будете нани мать не тех людей и упускать достойных кандидатов.

Часть Люди, организация и методы Плохо Собеседование должно проводиться для конкретной вакансии (если только это не ознакомительное собеседование). Если вы не те функциональных обязанностей вакантного поста, вы получите совершенно разные мнения членов группы, проводящей относительно приемлемо сти кандидата. Четкое описание работ для всех сий должно быть доступно всем интервьюерам го до прихода кандидата Слишком много ным кандидатам Не тратьте на больше вре мени, чем нужно. Совершенно нормально дать знать кандидату, что он не подходит. Продумайте способ срочного завершения собеседования. Не тратьте го времени и времени кандидата на ко торое не приведет к положительным результатам.

или недостаточная реклама собственных Некоторые организации не предостав ляют о себе достаточных сведений. Кандидата интер вьюируют так дотошно, что у него не остается возмож ности узнать о вакансии. У него остается масса вопро сов, и он не знает, подходит ли ему эта вакансия. Другие организации слишком много себя рекламируют и по сути не кандидата. Вы должны знать сильные стороны компании и рассказать о них в под ходящий момент, но не в процессе собеседования.

Нереализованные возможности Вам нужно иметь пару людей, знающих, как довести работу с кандидатом до конца. Кандидат не должен уйти, не получив ответа на важные вопросы или не совсем понимая, что ему предлагается. У вас должен быть ответственный сотруд ник, который может ответить на все вопросы, если кан дидат не принял предложения. Он должен ориентиро ваться в широком круге включая видение Глава 2. собеседование и удерживание возможности роста по службе и уметь сравнивать и предложения, Хороших кандидатов трудно найти.

Если вы уверены, что нашли достойного, Ч действуйте быстро. Не стесняйтесь на интер вью вечером или предложить прилететь на выходные.

провести собеседование в тот же день. Я не предлагаю спешить с собеседованием, но бывают обстоятельства, требующие быстрого принятия реше в том числе во внеурочное время.

Дело нужно так, чтобы вы могли принять кандидата на работу Время исключительно при поиске талантливых людей, и почти вам придется конкурировать с другими Нет ничего чем найти канди а потом услышать, что он принял другое предло пока вы Сохранение сотрудников: проблемы и решения Х баланс Большинство проблем с удер живанием сотрудников связано с неправильным балан сом финансовых и социальных Вы не сможете долго жертвовать чем-то од ним в пользу другого. Нужно на регулярной основе обеспечивать баланс между профессиональной удов денежным стимулом и социальной Не ждите, когда возникать проблемы.

Текучесть Текучка существует всегда. Меняют ся личные обстоятельства и приоритеты. Люди уходят по причинам, вы не контролировать:

родился ребенок, нужно быть к родным, ко до С другой стороны, текучка может указы вать на серьезные проблемы в коллективе или Часть Люди, и Чтобы в курсе причин текучести кад ров, беседуйте с людьми перед их увольнением и при слушивайтесь к их замечаниям. Если обнаруживается внутренняя других сотрудников, разделяют ли они такую точку зрения. В больших орга низациях неплохо вести список причин сотрудников. Эти сведения помогут отслеживать тен денции и принимать меры.

Организация проекта Часть 1. Люди, организация и методы бы ни были они все равно не смо гут работать с максимальной эффективностью, если их не правильно. Проекты часто страдают от недостатка организованности и неясностей в распределе нии ролей и Каждый должен знать свой ма невр общем контексте проекта.

В этой главе мы подробно разберем модель организа ционной структуры, используемой в а также рас смотрим роли, и необходимые участ никам группы в рамках этой модели.

Модель организационной структуры компании NuMega Программы, как правило, создаются коллективами, а не оди ночками. Команда разработчиков Ч это группа людей с раз личными техническими навыками, работающих над реали зацией общего проекта. Поскольку разработать ПО доволь но сложно, в требуются специалисты с самыми разными навыками и способностями, необходимыми для создания продукта. Вот какие специалисты должны быть в группе:

Х основной состав Ч специалисты, в создании нового программного продукта:

менеджеры проекта;

программисты;

разработчики документации;

инженерные психологи;

технологи по разработке ПО;

+ группа Ч специалисты, не занимаю щиеся созданием программ, но, тем не менее, играющие важную роль в реализации проекта:

Глава 3. Организация проекта и маркетинга продукта:

специалисты по технической поддержке ПО;

администраторы бета-тестирования.

Очень чтобы участвовали в работе над проектом с само го начала. Чем раньше люди смогут понять суть требований к и принять участие в их критическом анализе, тем лучше подготовятся к исполнению собственной мис сии и ощутят свой вклад в успех Кроме того, что бы завершить создание продукта в все перечисленные подразделения должны работать параллельно на протяже нии всего цикла разработки. Решение этой задачи будет описано главе Ч там мы рассмотрим включение в гра фик проекта взаимно скоординированных во времени про межуточных этапов.

С другой если при подборе кадров какие-либо функциональные подразделения будут не (недо-) укомплек тованы, то реализовать такие важные условия разработки ПО, как глубокое понимание задач, синергизм в работе и прогресс, будет невозможно. Я не настаиваю на том, чтобы все подразделения были полностью уком плектованы к первому дню работы над проектом, но по крайней мере их представители (хочется надеяться, что это будут ведущие специалисты) работать над проек том с самого начала, недооценивать как важность этого требования, так и трудность его реализации.

Управление проектом В качестве примера структуры оптимальной системы уп равления небольшой компании я подробно остановлюсь на организации управления в позволившей ей спра виться с трудностями. Как и любой молодой компании (и большинству начинающих групп разработчиков), нам тре Часть 1. Люди, и методы выполнить работу в сжатые сроки, этом ресурсы были ограничены. Мы знали: чтобы воспользоваться всеми со трудников, которых нам удалось привлечь с таким необходимо их эффективно организовать. Нужна такая структура организации, которая позволила бы оперативно реагировать па возникающие трудности, сводить к миниму му разного рода издержки и которую можно было бы рас ширить в Чтобы реализовать сформулирован ные требования, мы решили задействовать простую модель структуры организации, в которой за все аспекты ки продукта отвечает один менеджер проекта. В сферу его ответственности входит за всеми программи стами, технологами и разработчиками до кументации, т. е. за основным составом группы. Важнее го, что все способные сотрудники были собраны под лом одного менеджера.

Остальные сотрудники (группа технической поддерж ки, администраторы бета-тестирования, группа та и маркетинга продукта) не отчитывались перед жером проекта, но работали с ним в прямом контакте для решения своих проблем и получения всего необходимого для работы. Этот подход дал неплохие результаты, так как приоритетной обязанностью каждого из вспомогательных подразделений было решение конкретной задачи рынка, формирование политики, обработка вхо дящих сообщений, реклама и т. д.) и не предполагало по вседневного участия в разработке продукта. Поскольку же все подчинялись одному менеджеру проекта, взаимодей ствие функциональных подразделений стало заметно про ще и понятнее.

Хотя избранная нами структура организации работала хорошо, применение следующих принципов способствова ло дальнейшему ее эффективности.

Глава 3. Организация проекта Гибкое ресурсов Менеджер проекта мог выделять нужные ресурсы и группу специ алистов для любой отдельной проблемы, уст ранения той или иной неполадки или полдержания ка кой-либо Такая система позволила менед жеру проекта распределять ресурсы в соответствии с текущими приоритетами проекта и обес печила полноту использования и оперативную ровку ресурсов согласно быстро меняющимся потреб ностям проекта.

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

Централизованное принятие решений Поскольку проект целиком находится в ведении одного менедже ра, он может оперативно принимать критически важ ные решения, разрубая Гордиевы когда не уда лось достичь согласия.

Более четкое взаимодействие Каждый, у кого возни кают вопросы или трудности, может обсудить их с ме неджером проекта. Таким образом, простая и понятная 1. Люди, и методы схема взаимодействия участников позволяла тивно затруднения, возникающие у участни ков как основной, так и групп.

. Менеджер та Ч это не просто но один из тех, кто заинтересован в продукта. Он должен быть в се конъюнктуры и а также четко ценность функций Без этих знаний он не сможет оперативно ход реали ПО и обеспечить выполнение работы на ном уровне. Менеджер проекта работает в одной ке с менеджером продукта, формулирующим ния и курирующим экономические аспекты создаваемого продукта. Оба вносят свой вклад во областях: в формирование политики лицензирования, ценообразование, продвижение и сбыт продукта. В ко нечном счете они вместе отвечают за успех продукта и наделены полномочиями принимать ключевые ния. Обладая большой властью, они могут быстро нимать нужные решения. В то же время участники ко манды, зная, что они работают непосредственно с кто принимает решения, в курсе их идей и уверены в том, что их работа не просто нужна, но имеет решаю щее значение для успеха проекта.

Из собственного опыта в самое важное проекту, Ч Всем участникам проекта, шимся в одной комнате, говорили, что продукт может быть создан только с участием каждого из них Ч все дол жны посвятить реализации проекта. Пока проект не будет отправлен заказчику, каждый должен выполнять свои обязанности. Если проект будет успешным и чик его одобрит, будет результатом общих усилий команды, а если проект будет Ч опять же в этом Глава 3. проекта будут все. Методика, в рамках которой коман да получала прямые полномочия, позволяющие ей при нимать большинство решений, необходимых для результаты.

Ведущие Мы также назначили ведущих специалистов в каждом из функциональных подразделений. Ведущий специалист яв ляется возглавляющим работу во вверенной ему области. На протяжении всего цикла очень тесно сотруд ничает с менеджером и ведущими специалистами других подразделений. Ведущие специалисты играют важную ру ководящую роль, управляя разрешением проблем и решений в вверенных им ключевых областях. Такая система позволила без труда число сотрудников функциональных подразделений, поскольку их возглавлял человек, управляющий созданием данной части продукта.

Связи между менеджером проекта и ведущими специали стами функциональных подразделений показаны ниже (рис. 3-1).

Ведущий программист - Ведущий Ведущий разработчик Менеджер проекта Ч документации Ведущий специалист по инженерной психологии Ч Ведущий технолог Рис. Связи между менеджером проекта и функциональных Поскольку мы нанимали высококвалифицированных и опытных специалистов, они могли работать почти без над зора менеджера. Их нужно было лишь с обя Часть 1. Люди, организация и методы и планом. Важнее всего, что такая модель по держать ключевые ресурсы под одного человеку Ч непрерывно был в курсе группы.

Роли и обязанности Рассмотрим роли и обязанности функ циональных участвующих в создании про дукта.

Менеджер проекта Совершенно ясно, что менеджер играет роль проекта. Его функционал включает многочисленные роли и обязанности.

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

Х Формулирование и Форму и исполнением плана проекта руководит менеджер проекта. Он группу формулирующих и согласовывающих требования, а также отслеживающих их выполнение. Когда список план, регламен тирующий все для реализации проекта: программирование, разработку работу технологов по разработке ПО и инженерных План также учитывает Глава 3. Организация проекта ключевые аспекты создания а именно: состав ление графика работы, реализацию технологии про граммирования, подбор кадров, а также сти и риск. Это не что все решения принимает только менеджер проекта, но именно он отвечает за то.

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

Поскольку менеджер проекта не только отвечает за реализацию функций продукта, кадровое обеспечение и балансировку ресурсов но и курирует график реализации всего проекта, именно он отвечает за со графика работы над проектом и обязан вно сить соответствующие коррективы в случае возникно вения проблем.

Менеджер проекта график работ на основе сведений, поданных всеми участниками проек та. Как правило, в соответствии с этим графиком рабо та над проектом подразделяется на ряд промежуточных и базовых уровней. проекта должен следить за исполнением графика, вносить нужные изменения и сообщать о них группам разработ Часть Люди, и методы и им в сотрудничестве с которыми ведется работа (группы держки и администраторов бета-тестирования), а же верхнего управления. Подробнее мы ворим о в главе Руководство Менеджер проекта отвечает за плавное и эффективное исполнение разработки дукта. Менеджер проекта устраняет возникающие пре пятствия и обеспечивает все необходимое для успешной работы команды. должен определять области, работать ускорением проблем и поддерживать команду в состоянии сосредоточеннос ти и гармонии. Он также быть в роли инструктора или наставника, обладающего дос таточными знаниями и опытом в разных областях, что бы оценить успехи и при по мочь ей.

Обеспечение связи между Менеджер проекта Ч главное связующее между разработчи ками и группой и маркетинга. Он отвечает за сбор пожеланий в группах и их в плане проекта. Во он также отвечает за доведение или изме в плане проекта до менеджера продук та и по Кроме того, проанали зировав планы менеджмента и маркетинга, продукта дать свой отзыв о них.

Менеджер проекта является главным каналом связи между группами разработчиков, технической под держки и администраторов бета-тестирования. Он дол жен решать любые проблемы, возникаю щие как во время тестирования продукта клиентами так и после выпуска;

Глава 3. Организация Менеджер проек та также создание завершен ного и продукта. Таким ответ за достижение целей, разработчиками документации и психологами ложится в сче те на плечи менеджера проекта.

Программисты три основных категории разработчик (программист), щий программист, отвечающий за реализацию определен ной функции и рядовой (рис. 3-2).

Ведущий программист, Программист отвечающий за реализацию функции X Программист Ведущий программист.

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

Часть Люди, организация и наблюдение за соблюдением архитектурных и техни ческих спецификаций продукта;

подбор технологических инструментов и Х диагностика и разрешение всех проблем;

Х выполнение роли технического инструктора и консуль танта для проекта;

и контроль за работой групп разработчи документации, и технологов;

Х мониторинг состояния (ведение списка руженных ошибок):

подбор инструментов разработки, метрик и стандартов и за их использованием;

ну и, конечно, программирование, программирование и еще раз программирование.

Ведущие отвечающие за функций Отвечают за реализацию функций продукта, ча сто на основе конкретной технологии. Обычно определе ние функций формулируют довольно например, линтеграция с IDE или API доступа к БД. Обя занностями ведущих программистов, отвечающих за созда ние отдельных ПО, являются:

согласование архитектурных вопросов с коллегами, ответственными за разработку других функций;

Х формулирование к функциям и их ческий анализ;

Х проектирование функций;

Х снабжение тестировщиков и разработчиков документа ции техническими материалами;

Х ну конечно, программирование, программирование и еще раз программирование.

Глава 3. проекта Рядовые Работают над реализацией определенной функции ПО обычно под ведущего программиста, ственного за эту функцию. Они за реализацию конкретных аспектов этой например, за линтег рацию в IDE окоп X, Y и Z>> или "написание для API баз дан методов create, update и delete. В круг их обязаннос тей Х функции:

ее тестирование;

Х исправление ошибок в реализованной функции;

Х помощь техническим писателям в функции;

Х помощь в испытаниях этой Отвечают за и исполнение плана тестирования создаваемой в рамках Чтобы обеспе чить истинное между кто пишет код и теми, кто его тестирует, роли и обязанности группы должны быть обязанностям раз работчиков.

Традиционно группы и разработчиков функционируют раздельно, обладая независимыми полно мочиями в качества ПО, велика ность того, что события пойдут по сценарию хорошо изве сказки про лису, которой доверили курят ник. С другой стороны, группы со менеджером, обладающим равными полномочиями с менеджером проекта, может привести к Со временем группы могут отдалиться от друга, и меж ду ними мопт натянутые отношения, отравля ющие любые Часть Люди, организация и методы В удалось обеих передав право окончательного решения вопросов о качестве ПО в руки менеджера проекта. Он должен предоставить каче ственный и с него спросят любые про блемы с продуктом. решение о готовности про дукта, ему приходится полагаться на результаты проведенных группой Такая структура организации (рис. 3-3) позволяет группе тестировщиков оставаться независимой, так как она является самостоятель ным подразделением под руководством своего ведущего Однако, будучи подотчетными тому же менед жеру, что и разработчики, они ощущают, что их восприни мают так же, как любых участников группы, и обра щаются с ними соответственно. Подробнее о тестировании будет в главе 6, Менеджер проекта (отвечает за своевременное создание продукта) Ведущий разработчик Ведущий (отвечает за (отвечает за реализацию программы) тестирование программы) Рис. 3-3. группами и тестировщиков.

Ведущий Отвечает за организацию и исполнение тестирования ПО в период разработки. Он сам должен обладать навыками и быть способен возглавить других тестировщиков и направить их усилия в нужное русло. Его обязанности таковы.

Х Составление плана продукта План тестирования, регламентирует работы испытанию программы, т. е, как и когда протестировано, Главе 3.

Ведущий также занимается до проблем, потребностей и необходимых Исполнение плана тестирования Ведущий отвечает исполнение плана на протяжении всего цикла разработки. Он сравнивает результаты тестирования продукта со спецификациями базовых и промежуточных этапов, определен ных в графике разработки а также следит за тем, чтобы тестирование новых функций программы проводилось своевременно.

Автоматизация Управление автоматиза цией наиболее критических тестов согласно с целью ускорить тестирование. Испытание готовит и проводит группа, но ответственность за проведение испытания лежит па ведущем Проведение регрессивного тестирования Ведущий те следит, чтобы после каждой сборки граммы проводилось ее регрессивное Лучше проводить эти тесты также как базо вые тесты) ночью, их результаты были готовы к утру, Ведущий отвечает за ежедневный анализ результатов и регистрацию оши бок в системе слежения за ошибками.

Выбор метрик и стандартов те стирования Во время реализации проекта ведущий тестировщик отвечает за выбор и использование инст рументов, метрик и стандартов для тестирования, т. е, делает то что и ведущий разработчик для своей группы. Так, ведущий тестировщик отвечает за целост ность данных в системе слежения за ошибками анало тому, как разработчик отвечает за целос тность данных Б системе управления исходным Часть 1. Люди, организация и методы Инженер по В основном занимается созданием автоматизированных тестовых согласно плану. Этот специалист, как пра обладает большим навыком с для автоматизации написания сценариев и часто программирования. Перед инженерами ставится задача по автоматизации тестирования набора функций программы, и они концентрируются на тестировании которых частей продукта, работу которых можно описать Это позволяет им тесно сотрудничать с ведущими специалистами, отвечающими за разработку этих функций. Круг обязанностей инженера по автомати зации более узкий в сравнении с другими участниками группы, так как он должен обеспечить автоматизацию тес тирования той или иной функции лишь после завершения К его обязанностям относятся:

планирование испытаний;

автоматизация испытаний;

Х оценка и выбор инструментальных средств.

Отвечает за исполнение плана тестирования, составленно го ведущим Обычно прихо дится играть роль пользователя программы, и он должен знать ее функции как свои пять пальцев. Он должен быть посвящен во все секреты конструкции программы и быть способным провести тестирование пользовательского ин терфейса для его подгонки и шлифовки. В круг этого специалиста входит:

тестирование программы установки, всех функций и пользовательского интерфейса согласно плану тестиро вания;

Х проведение автоматизированных испытаний;

Глава 3. Организация проекта Х регистрация результатов автоматизированных испыта ний и анализ Х окончательное подтверждение устранения ошибки;

Х подготовка среды для испытаний, Группа пользовательской документации Обеспечивает пользователя справочными материалами:

печатной документацией, электронной справочной систе обучающими программами и карточками быстрой справки.

Отвечает за составление плана создания документации для всего проекта. Опираясь на свое знание продукта и потреб ностей пользователей и принимая в расчет ре сурсы, он составляет план, регламентирующий виды и ки создаваемой документации.

Ведущий разработчик пользовательской документации отвечает за определение стандартов документации (и уча ствует в их создании) и следит, чтобы в продукте были от ражены самые последние изменения в правилах и гиях написания технической документации.

Рядовой пользовательской документации Помимо написания и производства документации, группа разработчиков пользовательской документации отвечает за удобство в работе и качество ПО. Часто недостатки ПО за прежде всего именно техническому писателю, так как, работая с продуктом, ему приходится ставить себя па место пользователя. Приведу пару примеров, Поскольку пользовательской документа ции создает руководство, описывающее использование продукта, часто именно он первым несо гласованности, проблемы с про Часть Люди, организация и методы и недостатки в функций. Нет необычного, когда технический писатель заявляет: Да.

на собрании, анализу спецификаций, у меня никаких вопросов не возникло. Но теперь, когда я начал писать мне ясно, что придется выполнить целых десять дей чтобы эту задачу, Ч чепуха какая-то! Та ким образом, он на ранних стадиях цикла разработки выполняет весьма ценную параллельную проверку удоб ства использования программы и дает отзывы, позволя ющие скорректировать Х Разработчик пользовательской документации работать с программой практически ежедневно, чтобы точно задокументировать новые функции и идти в ногу с изменениями, вносимыми в программу. Регулярная работа с продуктом обнаружить проблемы с качеством на стадиях цикла разработки, когда решать их еще не так трудно. Хотя разработчики доку ментации не могут они пыта ются работать с фрагментами программы, собранными вместе, поэтому они могут обнаружить ряд важных ошибок, которые в противном случае всплывут гораз до позже. В этом смысле разработчик документации дополнительную проверку качества продукта и часто дает весьма реалистичную оценку его качества.

Инженерные психологи Впечатление, которое оставит у пользователя, кри тически важно для его успеха на рынке. Интерфейс, доку ментация, упаковка Ч все должно работать на то, чтобы создать у клиента положительное впечатление о продукте.

Мы в всегда были что именно пер вые 20 минут общения с нашим продуктом примет ли его и будет ли продолжать с ним работать. Это явление получило название первоначальное Глава 3. Организация проекта от работы с продуктом. Если не ос тавил у пользователя впечатления не помог ему легко и быстро решить свои проблемы, малове роятно, что этот продукт будет использоваться или будет по-настоящему ценным для потребителя.

Инженерные психологи помогают справиться с этими проблемами. Ведущий специалист по психо логии отвечает за перевод требований к проекту в фунда которые должен решать пользователь, и далее в модель пользовательского интерфейса. Эти фак торы оказались весьма существенными для оптимизации и определения других приоритетных направ лений работы команды. Так, концентрируют свои усилия на проверке ключевых задач, определенных группой психологов, а разработчики докумен тации будут следить за тем, чтобы этим задачам было уде лено наибольшее внимание в учебниках и руководстве пользователя. Эти задачи, определяющие основную цен ность предлагаемого продукта, непременно нужно завер шить в срок и выделить для этого достаточно времени.

Этот момент имеет решающее значение: все участники группы должны знать, какие задачи наиболее важны для пользователя и как они должны быть реализованы в про грамме. Если кому-то в группе эти задачи будут неизвестны.

вся группа рискует погрязнуть в бессмысленной работе.

Приходилось ли вам как разработчики и тестиров щики корпят над явно второстепенной функцией, когда главные программы работают плохо или вовсе не работают: или группы, завязшие в бесконечных спорах и конфликтах о пользовательском интерфейсе на ющих этапах бета-тестирования? Скорее всего в таких группах отсутствует единое понимание приоритетных по требностей клиента, и способ их реализации там никогда заранее не обговаривали. Основные принципы работы спе Часть Люди, и по инженерной психологии рассматриваются в главе 10.

Специалист по инженерной психологии должен:

транслировать требований в задачи;

Х разрабатывать дизайн пользовательского интерфей са (макеты диалоговых окон и т. д.) для решения этих задач:

Х тестировать разработанный дизайн и согласовывать его с командой;

Х определять, как сформировать положительное первона чальное от проводить подгонку и доводку пользовательского ин терфейса;

Х работать с заказчиком после выпуска ПО.

Технологи по разработке ПО Обеспечивают работу базовых служб, необходимых для поддержания работоспособности принятой модели ботки ПО. Эту работу должны выполнять специалисты или сами даже если для этого придется продлить календарный план. Не впадайте в обман, думая без работы: выпустить ПО ремя без нее не получится. Подробнее о работе технологов по разработке ПО см. главу 7.

В общем случае у технолога по созданию ПО три основ ные обязанности.

Х Создание и среды для ки продукта Сборка программы Ч необходимый пер вый шаг, который должен быть завершен как можно раньше. сборка программы Ч ключ к успе ху проекта, без невозможно воплотить многие кон изложенные в этой книге.

Глава 3. проекта Создание и сопровождение процедуры Что бы извлечь выгоды частой сборки программы, нуж чтобы каждая новая сборка устанавливалась автома тически. Кроме установочную процедуру требует ся сопровождать и обновлять по ходу цикла разработки, а также следить, чтобы для этой задачи было выделено достаточно ресурсов, Сопровождение и систем управле исходным Важно, чтобы за сопровожде ние системы исходным текстом постоянно один и то же специалист. Об инструментах для управления исходным текстом см. 4.

Группа менеджмента и маркетинга продукта С точки зрения эта группа иг рает две роли;

первая Ч сбор вторая Ч ее выдача.

В рамках первой роли группа менеджмента и маркетин га продукта определяет приоритетные сегменты рынка, экономические и потребительские к Наличие у разработчиков ясных, реальных и обо экономических требований к продукту имеет решающее значение для его успеха. В дополнение к сбору сведений о необходимой функциональности продукта в обязанности этой группы входит формулирование требо ваний к комплектности продукта, установочной програм ме, лицензированию и документированию, С другой стороны, группа менеджмента и помогает техническим представить продукт за пределами Сюда относится реклама, обучение и оснащение средствами специалистов по сбыту, аналитические совещания, пресс-релизы и ги, а также новости, публикуемые в Web.

Часть 1. Люди, организация и методы Технические группы на группу та и маркетинга в распространении информации о своей работе;

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

теснее они сотрудничают, чем в большей степени они единомышленники и чувствуют себя целым, тем больше шансов, что коррективы будут вноситься быстро и повышая тем самым шансы на успех.

Между прочим, с программы заказчику та над не Проект можно считать завершенным, лишь когда продукт принесет ную прибыль и решит перед ним экономи ческие задачи. В конечном счете успех определяется не фактом сдачи проекта, но завоеванием рынка.

Группа поддержки Специалисту по технической наверное, прихо дится чаще всех контактировать с клиентами после выхо да продукта. Он изо дня в день является представителем группы разработчиков перед клиентами. Этот специалист очень важную и ценную роль не только для тов, но и для разработчиков. В частности, разработчики рассчитывают на помощь группы технической поддержки в решении следующих задач:

Х формулирование требований к функциям программы с целью облегчения ее технической поддержки в Х внимания к важным про блемам с качеством и реализацией функций во время бета-тестирования продукта и после его выхода;

Глава 3. Организация проекта статистики поступающих обращений за технической поддержкой (упорядоченной по типу и серьезности а также по числу обра щений) и демонстрация необходимости исправлений или изменений программы;

Х помощь в решении проблем с пользовательским интер фейсом проверки ранних версий при заминках с тестированием и при исправ лении ошибок Ч здесь технической поддержки выступает в роли независимого эксперта, Чтобы справиться с этими следует назначить специалиста по технической поддержке разраба тываемого продукта. У него должны тесные связи с менеджером проекта и ведущими специалистами. Он будет в создании продукта с начала и до конца.

Во время разработки программы ведущий специалист по технической поддержке имеет доступ к файлам, внутренней планам и графикам. После отправ ки ПО заказчику он занимается неотложных про блем совместно с другими ведущими специалистами и лярно отчеты об успехах продукта в отрас ли, подкрепленные данными, характеризующими продукт как с так и с отрицательной стороны.

Нельзя недооценивать группы технической поддержки. Она входит в состав технических подразделе ний и должна полностью интегрироваться в проводимую ими Хорошая техническая поддержка позволяет преодолеть все недостатки обнаруженные после его выхода, и уменьшить недовольство клиен тов продуктом (если оно будет иметь место).

Администратор программы бета-тестирования Отвечает за управление и исполнение про граммы Хорошо проведенная програм Часть 1, Люди, организация и способствует успеху продукта, печивая поступление отзывов о нем из реального мира.

Важность столь что я посвятил этому вопросу целую главу. По пока просто рассмотрим обязанности администратора программы бета Х поиск, проверка квалификации и привлечение тов в бета-тестеры;

Х распространение и ПО среди бета-тесте ров;

рассылка кандидатам в бета-тестеры анкет и других не Х опубликование бета-тестирование внутри группы:

Х постепенное усовершенствование процесса бета-тести Типичные проблемы и их решение Далее обсуждается ряд типичных проблем и воз при использовании описываемых здесь методик, а также их решения.

или, наоборот, чересчур жес тко круг Даже самым нужно их роли и обязан ности. Они должны представлять, что от них требует ся, чтобы знать, чему посвятить свое время. Формули ровки обязанностей должны быть подробными и ори на решение тех или иных задач. Но не переусердствуйте с этим, иначе эти формулировки станут формальными и жесткими. Вряд ли чтобы участники группы лишь цитировали их задания, когда пора уже выпускать продукт. Главное Ч избежать основных просчетов при проек Глава 3. Организация проекта та, а не управлять всем и всеми, даже в мело (см. описание специалистов, приве денное в этой главе);

Дисбаланс Одно лишь наличие модели, которая поощряет равновесие навыков и опыта специ алистов различных подразделений не означает, что проекта кадрами как надо.

Постоянно следите за балансом ресурсов функциональ ных подразделений проекта. Например, хватает ли в для реализации проекта? Бес смысленно держать тестировщиков на 100 разра ботчиков, даже если первые обладают необходимыми навыками. Отношение числа разработчиков к числу тс критично для проекта и должно быть лансировано. Значение этого зависит от по требностей проекта, но организаций стремится поддерживать его между 2:1 и 4:1. Даже если не соблюдать такое тестирование все рав но придется проводить, только в этом случае оно зай мет больше времени, Недостаток масштабируемости Один из потенци альных недостатков модели проекта, опи в этой главе, Ч слабая масштабируемость. При расширении числа участников скажем с 20 до 100, единственного менеджера будет недостаточно для работы проекта. К счастью, у этой проблемы есть два решения.

Первое Ч Ч наращи числа ведущих разработчиков, те стировщиков, технических писателей и т. д. В отноше нии вверенных им групп они берут на себя значитель ную часть выполняемых менеджером проекта, Обычно это решение дает неплохие ты, особенно если проект остается однородным, т. е. все Часть 1. Люди, организация и методы человек работают над одного и того же продукта. При менедже ров эта модель может давать хорошие результаты, даже если большой.

Второй подход Ч создать несколько групп с выше описанной структурой небольшие или средние по Это особенно хорошо когда в рамках проекта разработка независи мых двух продуктов, редакций или независимых компонентов одного продукта. Для рабо ты над каждой из независимых задач можно выделить небольшое число людей и обойтись даже показанная здесь, групп, решить с руемостью, но при этом друтие проблемы, этой модели. Так, организацию из чело век можно разбить на независимые группы по 6-7 че но они не смогут в полной мере задействовать в совместной работе инструменты, стандарты, ные средства, процедуры и Один из наилучших способов справиться с этой задачей Ч назначить для каждого функционального подразделения техно логов, разработчиков документации, инженерных пси хологов) квалифицированного эксперта, который воз главит процесс и разрешения общих К их числу можно общих струментов для тестирования, создание общей определение стандартов доку ментации, ПО и многие друтие вопросы.

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

Ч Ранжирование сотрудников и корпоративная Часть 1. Люди, и методы анжирование позволяет оценить эффективность от сотрудника по размеру вклада и его значению для организации, не отрицая важности работы и личного других участников группы. В основе оценки значе ния индивидуума Ч его вклад, а не выполняемые им обязан ности или положение в иерархии компании.

Часть этой главы посвящена такому понятию, как кор поративная культура занятых в разработке ПО.

Производительность труда команды и способность своев ременно выпустить ПО зависит от корпоративной культу ры труда меньше, чем от любого другого фактора.

Ранжирование Само по себе понятие рейтинга не Одни из приме ров Ч спортивные команды, возводящие самых результа тивных спортсменов в ранг Их значение для команды настолько что с зак лючаются контракты на особых условиях. В некоторых организациях, занятых в создании ПО, рейтинг воплощен в системе должностных титулов. Например, используют та кие приставки к названию должности, как специалист пер вого (или второго) ранга, или главный специ алист. Во всех примерах ранг служит для решения важных кадровых вопросов.

Правила ранжирования Правила ранжирования должны быть просты, не стоит чрезмерно усложнять чтобы не посвящать расчету ранга большую часть своего времени. Как говорит мой опыт, про ще всего вести приписывая сотрудников к одному из кругов: или внешнему.

Внутренний круг Его составляют наиболее важные для компа нии. Любой хороший руководитель или ведущий Глава 4. сотрудников и корпоративная культура лист должен знать, кто из участников команды вносит наи больший вклад и на кого можно всегда положиться. Эти люди Ч движущая сила проекта (а и всего бизнеса).

Их участие имеет стратегическое для успеха боты команды, поэтому их нужно соответствующим обра выделять и поощрять.

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

Средний круг Включает перспективных сотрудников. Эти люди могут быть не столь как члены внутреннего круга, и иметь их навыков. Однако они очень важны для успеха проекта. Как правило, недостаток опыта по сравнению с людьми внутреннего крута компенсируется у них неуемным энтузиазмом, заинтересованностью, потенциалом роста и амбициями.

Здесь также можно встретить людей, которые работают неплохо, но обычно не демонстрируют качеств. Они стабильны, надежны и последовательны, но их никак нельзя назвать выдающимися. Создание текущей вер сии продукта во многом зависит от их способностей, одна ко их нельзя считать ключевыми Часть 1. организация и методы Внешний круг круг по состоит из людей, новых которые не оправдали ожиданий в полной мере. Какими бы ни казались новые работники, пока они все равно остаются неизвест ными и неиспытанными. Нужно дать им время, чтобы влиться в работу и доказать свои способнос ти делом, Людей круга можно особого труда заме нить. Их уход из организации не будет иметь стратегических для ее успеха.

Для чего нужно С помощью ранжирования легче распределить ограничен ные ресурсы и перед кем открыть новые возмож ности. Кроме того, оно помогает позаботиться о сших наибольший вклад в успех организации, и избежать увольнения сотрудников, играющих ключевые роли в со здании ПО. Обсудим некоторые области применения ран Х заслуженных Ранжирование позволяет отметить заслуженных сотрудников. Если пять лет трудился на благо группы, то факт этого человека к внут реннему кругу и особого отношения к важен не только для него, но и для других членов группы. Он сви о том, что организация видит личный вклад сотрудника, благодарна за и вклад других людей со также заслужит признание.

привилегий и ограниченных ресурсов Ког да в компании появляются новые и ресур которые нельзя разделить поровну, возникает воп рос: кому отдать предпочтение? Хорошая мысль Ч Глава 4. Ранжирование сотрудников и корпоративная культура достойных по их рангу. Не что это дет: захватывающие исследования новой технологии, посещение выставки, собственный кабинет или ча с клиентом на Гавайях, Ч ранжирование дает упоря доченный список авторов вклада в успе компании, которые будут первыми кандидатами на получение привилегий.

Значит ли это, что все блага будут доставаться лишь людям круга? Вовсе нет. Если внутреннего круга уже обеспечены, а при вилегия имеет особое значение для другого работника.

наверное, разумно было бы отдать ему эту Важно, чтобы все привилегии не лишь од ному Ч вместе с членами круга что то должны получать и люди среднего и внешнего кру гов. И все же основной принцип остается в силе: достой ны заботы лишь те, кто заботится об успехе продукта.

Планирование Рейтинг также помогает спланировать повышения зарплаты, денежные и другие премии. Несомненно, наибольшее внимание при этом надо уделять людям внутреннего круга, чтобы выразить им благодарность за большой вклад в дело компании. Возможно, их следует внести в список получение премий или подарков, а может быть, и в оба списка. Что бы вы ни выбрали, важно компенсировать усилия, чтобы люди видели признание их достижений.

Во вторую очередь следует позаботиться о членах среднего круга и наконец Ч о людях внешнего. Помни те: слова во и в очередь вовсе не означают, что размер компенсации должен быть рав ным или меньше рыночного уровня. Вы не пытаетесь наказать людей внешнего круга, просто размер их воз награждения не так велик, у других. Сам факт, что по Часть Люди, организация и методы работы открывает доступ к более вы сокой должен быть стимулирующим.

кадровой Один как то сказал мне, что текучесть подобна ветру: не если он сорвет большую листьев (т. е. если уйдет много людей внешнего круга): пройдет немного и они снова. Намного хуже, если ве тер повредит ветви круг) или ствол (внутрен ний круг) Ч их трудно восстановить и они долго рас тут. Мораль проста: если компанию покидают люди среднего и кругов Ч это признак ной которую нужно решить.

помогает разобраться, где текучка и какой ущерб она наносит группе.

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

Привилегии и ответственность Большие привилегии означают и более высокую ответ ственность. В случае ранжирования как никогда верна ста рая поговорка: положение обязывает, Не что бы привилегии, которыми на/делены сотрудники в соответ ствии с их рангом, были больше возложенной на них отвегственности. Если что-то одно начинает перевешивать, жди проблем, малых и не очень.

Глава 4. сотрудников и корпоративная культура Из собственного опыта В мы шутку инженеров бога полубогами и лучениками Хотя псе работ ники компании были по крайней мере а боль шинство Ч не все одинаковый в дело компании, Чем больше вклад сотрудника, тем больше у него было возможностей и свободы. Но от них ожидали но вых идей и способности при необходимости направить их усилия и помочь сове том. большинство наших были не только талантливы, но и скромны, их вклада редко у других эмоции.

Когда люди меняются Что происходит, когда член внутреннего круга начинает вести себя как член внешнего? Или наоборот, когда нови чок поражает всех качеством своей работы?

В первом случае лучите всего обсудить возникшие про блемы с этим конкретные фак ты в подтверждение снижения его труда, Часто такое обсуждение позволяет выявить источник про блемы: это упадок сил или какие-то пробле мы? Вооружившись этим знанием, можно попробовать сра зу же решить эту проблему с большими шансами па успех.

Во втором случае похоже, что вы наткнулись на звезду. Во-первых, важно убедиться, что продемонстриро ванные незаурядные стабильны. Не стоит спе шить с выводами, обычно лучше подождать конца цикла разработки. Суперзвезды не вспыхивают на миг, но продол жают светить и постоянно проявляют себя. Если новый со трудник продолжает демонстрировать выдающиеся резуль таты, следует с радостью принять его во внутренний круг.

Часть 1. Люди, и методы К чему стремиться Естественно, конечная задача Ч перевести всех работников во внутренний круг. Самый лучший исход, которого мож но желать, Ч это формирование стабильной команды, со стоящей сплошь из людей внутреннего круга. Не следует искусственно ограничивать число людей внутреннего га. Обычно во внутреннем круге меньше сотрудников, чем в среднем, а в среднем Ч меньше, чем во внешнем. И все же не следует насильственно поддерживать такое ние Ч оно должно отражать реальный вклад участников группы.

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

Почему культура так важна?

Как и у индивидуума, так и у команды должно быть пред ставление о предназначении, важности, уровне мастерства и способности решить поставленную перед ней задачу.

Если самооценка команды высока, ее мотивация и работо способность достаточны, чтобы с высокой производитель ностью труда создавать высококачественные продукты. И наоборот, если самооценка низка, команда будет работать Глава 4. Ранжирование сотрудников и корпоративная ниже своих способностей, даже если она состоит из талан тливых людей! В определенном смысле культура может как повышать, так и снижать общую работоспособность кол лектива.

Высокая культура разработки ПО, в частности, огромное значение при освоении новых возможностей или для выхода из ситуации. Если в компании развита культура создания качественных продуктов, весьма вероятно, что стремление и приверженность к этой практике не иссякнут и в будущем.

С другой низкая культура лишь осложняет и без того трудную ситуацию. Допустим, команда, в которой никогда не воспитывалась культура быстрой реакции на события, оказалась в требующей немед ленных действий. В этом случае успех попытки быстро от реагировать на событие представляется весьма сомнитель ным;

такой группе, даже не стоит и пытаться лать это.

Как воспитать корпоративную культуру?

Лучший способ создать и воспитать корпоративную куль туру Ч начать с приверженности определенным принци пам и культивирования некоторых манер поведения, пос ле чего группа какое-то время должна работать по новым правилам. Действия группы в соответствии с этими прин ципами и будут факторами, формирующими ее культуру.

опыта Воспитывая корпоративную культуру мы специ ально предпринимаем ряд конкретных действий, Х Четко кто мы и какие цели Нам совершенно ясно, кто мы и что должны делать.

Звучит довольно просто, да? Но на деле это не так про сто, как кажется.

.-. i Часть организация и Мы стремимся создавать лучшие в мире средства в частности инструменты, которые помо гают разработчикам программы и устра нять в них неполадки. Мы также знаем, что любые методы достижения этой цели автоматически попа дают наше поле зрения. Мы должны разобраться в них, перенять и применять их лучше, чем кто-либо другой.

элитарность Строгий отбор при приеме на работу позволяет многим считать легией принадлежносгь к числу технических специ алистов нашей компании. окруже ния, построенного на привилегиях, позволяет под держивать высокий боевой дух и снижать текучесть кадров. Элитарность воспитать такие чер ты культуры, как приверженность делу, стрем ление делать заметные вещи и участвовать в решении нестандартных задач.

Отмечаем успехи и помним свою историю Со вре менем в компании сформировалась история выпуска замечательных успешных как в ком, так и в отношении.

постоянно приводят эти успехи в качестве примеров на собраниях и неформальных встречах.

Все следят за чтобы каждый новичок знал исто рию и путь развития компании. Это стимулирует фор мирование культуры стремления к успеху, создания замечательных продуктов и заставляет быть экспер том в выбранной нами области.

Эти принципы имеют большое значение, ибо ис тория компании влияет на формирование культуры.

Обязательно отмечайте успехи и передавайте исто рию компании новым работникам.

дух Ставя цель перед коллективом, мы четко определяем правила I Глава 4. и корпоративная культура и относимся к поставленным целям как к гам, после чего, атакуем их. Цель со ревнования очень четко обозначена и пронизывает предметы наших многочисленных обсуждений и раз мышлений. Порой проходят так оживлен но, что мысли через принимая причудливые формы, чего стоят те которые творят разработчики. Наглядевшись на это, я понял:

эта команда сделает все возможное и чтобы добиться успеха, и нам удалось сформировать замечательную культуру соперничества.

Х свои способы и весело У работников технических компаний есть два удо вольствия: от души повеселиться и раз ные способы отдохнуть от повседневных забот. У нас куча футболок, рекламных материалов с выставок, бесплатных обедов, кроме того, specials (пицца с поджаренным луком, чесноком и самодельные площадки для гольфа и велосипедные дорожки прямо в помещениях компа Все это формирует атмосферу исключительно сти и веселья. Мы знаем, что это очень нетипично, но это нам и нравится!

Х прячем своих разработчиков от клиентов В искренне убеждены, что разработчиков не следует прятать от клиентов. Проще всего попросить их присутствовать на стенде компании на какой-ни будь выставке. Там они смогут не только отдохнуть от работы, но и попадут на передний край общения с клиентами, смогут ответить на их получить идеи и о созданных ими продуктах как хорошее, так и плохое.

Такие выставки поднимают боевой дух разра ботчиков до небес, поскольку каждый из них полу чает сведения о потребностях из первых Часть Люди, организация и методы рук. Таким образом удается наладить живую связь между теми, кто создает программы, и теми, кто ими Немного конкретизируем изложенное выше. Первый этап культуры Ч определение приоритет ных ценностей. Какие ценности заложены в культуре вашей компании в данный момент? должны быть воплощены в будущем? Подумайте, можно ли ваша команда:

Х вовремя работу?

ценит техническое превосходство?

высокое ценит даже минимальный вклад?

поощряет риск?

Х поощряет производительность труда?

Х проявляет к проблемам?

Х считает, что каждый должен принимать участие в тес тировании продукта?

оперативно реагирует на внешние угрозы?

считает, что тестирование практичности программы имеет решающее значение?

Х считает сверхурочную работу обычным делом при от ставании от графика?

Следующий этап Ч выбор действий, формирующих корпоративную культуру. Какие препятствия вы сможете преодолеть при этом, какие решения сможете ка кие проблемы и на какие конфронтации пойти ради воспитания необходимой культуры? Подумайте об этом и последовательно воплощать приня тое решение. Помните: в конечном счете культура все рав Глава 4. сотрудников и корпоративная культура но возникает, пытаетесь вы направлять ее формирование или нет.

Корпоративная культура и технологические приемы Другой аспект состоит в и освое нии внутренних технологических приемов. Характерной чертой некоторых культур является наличие множества технологических приемов разработки, в то время как у дру гих их почти нет. Молодые компании часто неохотно ос ваивают новые технологические приемы, тогда как в более крупных организациях без них не обходится ни одно зада ние. По мере роста группы следует подумать о том, как вы собираетесь осваивать новые технологические приемы.

Какие типы приемов необходимы, а без каких можно обойтись? Как не впасть в крайность, всю работу на самотек или изнурив себя разными правилами и поло жениями?

Вот некоторые правила, которых полезно придержи ваться при росте организации.

Взвешивайте затраты на внедрение приемов и от них Необходимо сразу распозна ситуации, когда добавление нового приема не при несет пользы. Польза от каждого дополнительного этапа или процесса должна окупать затраты на его внедрение.

Порой это трудно выяснить сразу, и в сомнительных случаях лучше отказаться от внедрения новшества, Если вы чувствуете, что новый процесс необходим, важно знать, как его внедрить. технологические приемы приносят наилучшие результаты, когда они чет ко определены, а их внедрение сулит очевидную выго ду (обеспечивая реальные и измеримые результаты) и не встречает сопротивления коллектива. Если новый прием соответствует этим критериям, велик шанс, что можно будет с успехом использовать.

Часть Люди, организация и методы С другой если прием описан туманно, не очевидной или не следует раз спросить: а нужен ли он? Я не имел в виду, что следует вовсе отказаться от его внедрения, просто нужно быть уверенным, что выгода от внедре ния перевесит затраты. Также неплохо было бы прора ботать проблемы, которые могут встретиться на пути внедрения нового приема. Не следует с добав лением новых приемов, но как только исчезли дние сомнения в их необходимости, следует без коле баний приступать к внедрению.

Pages:     | 1 | 2 | 3 | 4 |    Книги, научные публикации