Время - деньги. Создание команды разработчиков программного обеспечения - [5]

Шрифт
Интервал

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

исполнение — как не дать проекту сбиться с курса, обнаруживая и решая проблемы как можно раньше;

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

работа с кандидатами на выпуск — как управлять заключительными этапами проекта и обеспечить готовность продукта;

закрытие проекта — что это такое, зачем оно нужно и как его провести.

Дополнительная информация

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

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

Как со мной связаться

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

Часть 1

Люди, организация и методы

Глава 1

Замечательные люди и как их найти

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

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

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

Определение «замечательных»

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

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

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

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

• C++ объектно-ориентированное проектирование;

• создание СОМ-компонентов;

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

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

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

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

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

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

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

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


Рекомендуем почитать
Голая статистика. Самая интересная книга о самой скучной науке

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


Ловушка времени. Классическое пособие по тайм-менеджменту

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


Канбан и «точно вовремя» на Toyota. Менеджмент начинается на рабочем месте

Эта книга – одно из самых читаемых изданий по управлению производством в Японии. В основу книги легли учебные материалы, подготовленные специалистами Toyota к семинарам по производственной системе Toyota, которые проходили в середине 1970-х годов. С тех пор прошло немало времени, но книга, неоднократно переиздававшаяся, в том числе и на английском языке, до сих пор служит кратким руководством по снижению затрат на производстве во всем мире. Системы «канбан» и «точно вовремя» – два метода управления производством и запасами, используемые в рамках производственной системы Toyota, – помогают найти лучшие способы повышения производительности процесса и качества продукции.


Что не убило компанию LEGO, а сделало ее сильнее. Кирпичик за кирпичиком

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


Письма по-английски на все случаи жизни

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


Обеспечение безопасности человека

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