Люди как нелинейные и наиболее важные компоненты в создании программного обеспечения

Люди как нелинейные и наиболее важные компоненты в создании программного обеспечения

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

Жанры: Бизнес литература, Программирование
Серии: -
Всего страниц: 11
ISBN: -
Год издания: 1999
Формат: Полный

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

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

( [email protected] )

Humans and Technology, Октябрь, 1999

Введение

Этот отчет базируется на моем личном опыте, который я приобрел, изучив около 40 проектов за последние 20 лет.

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

Наиболее заметными исключениями из этого правила являются Джеральд Вайнберг (Gerald Weinberg [Wei]) и Том Демарко (Tom DeMarco [Dm]), чьи книги публикуются сейчас в юбилейных (!) изданиях. Их работы так популярны в нашей отрасли, что, казалось бы, они должны были только повысить интерес к этому предмету и вызвать активизацию исследований в этой области. Сейчас все большее количество консультантов начинает относиться к людям как к главному фактору в разработке ПО [B99] [Hi], однако, в целом, сообщество разработчиков программного обеспечения продолжает игнорировать тот факт, что именно человек должен быть центральной темой исследований. Это представляется мне серьезным упущением - все равно, что не принимать во внимание металлические перекрытия в стенах и жаловаться на плохую работу радиоприемника.

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

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

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

Чем же это отличается от того, что писали в "Peopleware" Демарко и Листер (Lister)? Они высказали мнение, что люди представляют собой важный фактор, и указали на некоторую специфику вопроса. Меня же интересует то, как групповые и индивидуальные особенности человека влияют на проектирование способов разработки ПО (иными словами, на методологии), в применении к различным группам, работающим над разными видами задач.

Мои идеи весьма сходны с теми, которые излагал Вайнберг в главе "Teaming" ("Работа в команде") своей книги "The Psychology of Computer Programming" ("Психология программирования"). Особенно все то, что касается противопоставления двух стилей руководства - управления задачами (task management) и управления поддержкой (maintenance management). Это весьма близко к тому, что пытаюсь получить я - некие характеристики и рекомендации, которые из них следуют. Вайнберг основывается на тех проектах, которые он исследовал в 60-е годы. Однако его выводы остаются справедливыми и полезными и сейчас, 30 лет спустя, что еще раз подтверждает стабильность и важность человеческого фактора в разработке ПО. Мне кажется, уже наступило время тщательно изучить подобные факторы, и начать относиться к следующим из них рекомендациям как к основам разработки ПО, а не открывать их для себя каждые 30 лет.

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

Путь ошибок трудных

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


Проблема 1. Людям, занятым в проекте, совершенно неинтересно изучать нашу систему.

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


Еще от автора Алистэр Коуберн
Каждому проекту своя методология

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


Парное программирование: преимущества и недостатки

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


Рекомендуем почитать
Влюбленный Дед Мороз

Если к вам под Новый год является Дед Мороз, это вовсе не значит, что вы впали в детство. Это значит, что Деды Морозы существуют. И живут они среди нас с вами — только мы об этом не догадываемся. А в новогоднюю ночь они выходят к елке и исполняют желания — все, все, все! Вам, как и нашей героине Лилии, уже прилично за тридцать и вы перестали надеяться на взаимную любовь и семейное счастье? Тогда Дед Мороз идет к вам!


Роксолана. Страсть Сулеймана Великолепного

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


Автоматический тигр

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


Коровы не едят траву

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


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

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


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

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


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

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


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

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


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

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


Долой продуктивность! 9 шагов к тому, чтобы работать меньше и успевать больше

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