Введение

Введение

Эта книга в значительной мере основана на серии статей под названием Franklins Kite (Воздушный змей Франклина), появившейся в электронном журнале Rational Software «The Rational Edge» в начале этого века. Они предназначались руководителям в области разработки ПО и преследовали цель предостеречь читателей от ловушек, в которые часто попадают программные проекты и разработчики. Статей вышло более 20, и мы - мой редактор Майк Перроу (Mike Perrow) и я - обратили внимание, что многие начинают чтение ежемесячного выпуска журнала именно с этой серии.
Я хотел не просто собрать эти статьи вместе, но и организовать их так, чтобы они принесли еще большую пользу руководителям программных разработок и их руководителям. С этой целью я расположил их по темам, а не в порядке появления на свет. При этом пришлось немного отредактировать их, чтобы избежать появления «ссылок вперед». Я также поработал над сносками, которые в оригинале часто представляли собой URL, а в книге превратились в более формальные цитаты, когда это было уместно. Наконец, я сделал добавления в начале и конце каждой главы, благодаря которым стал яснее контекст каждой статьи как части целого.
Читатель быстро обнаружит присутствие нескольких разных стилей изложения материала. Одни главы описательные, другие скорее аналитические, а третьи представляют собой некие «беседы с Сократом», в которых автор вступает в диалог с мифическим персонажем по имени Роско Леруа. Этот Роско воплощает тип хорошего технического менеджера, который прежде не занимался разработкой программ. Он играет роль партнера, «неискушенность» которого вынуждает меня избегать технического жаргона. Я не пренебрегаю никакими средствами, чтобы передать свою мысль. Одним читателям понравятся главы в таком стиле, другим - в ином. Что даст нужный эффект, то и правильно. Я взял пример с Горация, написавшего в «Науке поэзии»: «Всех голоса соединит, кто мешает приятное с пользой, и занимая читателя ум, и тогда ж поучая».
Книга разделена на шесть частей, по четыре главы в каждой. Вот их темы:.
• Общий менеджмент. Эти главы содержат материал, полезный менеджерам в целом, а также знакомят читателя с моим опытом и пристрастиями. Я включил их в качестве основания, на котором строится дальнейшее изложение.
• Особенности разработки ПО. В этой части мы посмотрим, какие особые задачи управления возникают при разработке ПО.
• Разработка ПО с точки зрения управления проектами. Здесь я рассматриваю программный проект как разновидность проекта вообще, благодаря чему возможно применение классических методов управления проектами. В то же время я стараюсь подчеркнуть специфические отличия разработки программ.
• Человеческий фактор. В этой части я захожу с другой стороны и рассматриваю разработку ПО с точки зрения того, кто практически осуществляет ее. И здесь я снова стараюсь сравнивать и противопоставлять, выявляя сходства и различия между программными проектами и всеми прочими.
• Нестандартный подход. Есть много разных точек зрения на решение проблем разработки ПО. В этой части я излагаю некоторые рискованные и неожиданные идеи, с которыми читатель, возможно, не встречался.
• Более сложные вопросы: Успешного администратора программных проектов можно сравнить с удачливым игроком в пинбол: наградой за набранные очки служит дополнительная бесплатная игра. А эти новые игры ведут к еще большему росту его мастерства. В этой части я поговорю о ряде проблем, возникающих с приходом успеха.
В этой книге 24 главы.
Можно читать их подряд, а можно выбирать произвольно: они достаточно независимы. Это неплохая книга «для самолета»: прочтите какую-нибудь главу, а потом размышляйте над ней до конца рейса. Если вы найдете хотя бы одну новую идею в какой-нибудь из глав, которая окупит для вас стоимость книги, я сочту свой труд успешным.
Покончив с этими предварительными замечаниями, приступим к делу.
Общий менеджмент.
Первая часть книги посвящена вопросам, представляющим общий интерес.
Глава 1 «В начале начал» знакомит с темой разработки ПО и моими личными взглядами на управление им. Я делюсь некоторыми мыслями по поводу общих проблем менеджмента.
В моих взглядах отразились полученные мной образование и опыт, поэтому в главе 2 «Мои вычислительные корни» я рассказываю о себе немного подробнее. В частности я показываю, что мой подход к разработке программного обеспечения глубоко укоренен в «расчетах», т.к. в начале своей карьеры, когда вычислительные науки только зарождались, я занимался программированием научных задач, и моей «базовой подготовкой» было инженерное дело.
В главе 3 «Альпинизм» я провожу аналогию между альпинизмом и проектом разработки ПО. В молодости я немного занимался этим видом спорта и пришел к выводу, что существует масса параллелей между этими двумя видами деятельности и командами, которые ими занимаются.
В главе 4 «Менеджмент» я рассуждаю о том, как должен (или не должен) поступать хороший менеджер.