Человеческий фактор в программировании - [3]

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

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

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

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

Эта книга является сборником путевых заметок, начатых еще в Computer Language Magazine и продолженных в переименованном Software Development. Мои заметки выходили под рубрикой с простым названием «Peopleware». В этой книге собраны заметки из этой колонки, а также несколько других, тесно связанных с этой темой и опубликованных в других местах. Эти статьи и эссе были отредактированы в интересах последовательности изложения. Восстановлены некоторые материалы, которые были сокращены при публикации статей в журналах. Таким образом, данная подборка является «редакцией режиссера», в которой статьи размещены в квазилогических разделах, чтобы создать определенную иллюзию организации материала. Однако это не энциклопедия или учебник, и даже не карта огромной территории под названием «человеческий фактор в программировании», а только путевой журнал одного странника.

Путешествие продолжается.

I

Групповая разработка

1

Решения, решения

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

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

Опасность посредственности

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

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


Рекомендуем почитать
Стратегия чистого листа. Как перестать планировать и начать делать бизнес

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


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

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


Кадровый учет для «упрощенцев»

Любая предпринимательская деятельность – это не только извлечение прибыли, это прежде всего люди, которые работают в компании или у предпринимателя. Даже сам предприниматель, который трудится на себя, является работником. Аналогичная ситуация возникает и в том случае, когда в компании работает только генеральный директор, который одновременно является учредителем. И ошибочно полагать, что кадровый учет и кадровую отчетность в этом случае вести не нужно. Но большая ответственность на работодателе лежит, если в штате компании или предпринимателя трудятся работники.


Профилактика трудового спора с работником и действия в случае его возникновения

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


Три круга лидерства

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


Японский менеджмент. Прошлое, настоящее и будущее

Причины удивительного экономического успеха Японии в послевоенные годы и резкого спада экономики в 1990-е всегда были предметом оживленных споров ученых и журналистов. Хотя на эту тему написано много научных и популярных книг, мало кто до конца понимает, что это такое – японский менеджмент. Почему он отличается от европейского и американского? Что в действительности представляет собой и каков сегодня? В чем секрет японского экономического чуда и применимы ли японские методы управления в других странах? Какое будущее ждет экономику Страны восходящего солнца? Об этом и многом другом рассуждает Ингиу Оу.