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

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

Авторы:

Жанры: Бизнес литература, Программирование

Циклы: не входит в цикл

Формат: Полный

Всего в книге 11 страниц. Год издания книги - 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 миллионов человек заняться математикой. Правильно было бы поставить вопрос следующим образом: "При каких обстоятельствах и для чего нужно включать в проект специалиста по формальной разработке?"


С этой книгой читают
Сильный средний бизнес
Автор: Роберт Шер

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


Мастер историй. Увлекай, убеждай, вдохновляй
Автор: Пол Смит

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


Креативатор. От идеи до воплощения

Гениальные идеи возникают у вас все время, прямо на работе. Да, это не шутка. Просто вы не даете им развернуться в полном объеме. Когда вы начнете «играть» со своими идеями, то совершенно забудете, что находитесь на работе. Вы перестанете замечать время, испытывать стресс, будете действовать более продуктивно. 8 часов (а иногда 10 и даже 12) пролетят незаметно. Само слово «работа» утратит негативный подтекст, станет чем-то, что отягощает кого угодно, но только не вас. Успех – он приходит, когда рождаются новые идеи.


Папа, у меня есть бизнес. Как нормально зарабатывать в 16 лет

Классно в 16 лет иметь возможность самостоятельно покупать все, что хочется, помогать близким и дарить дорогие подарки важным людям. Кристина решила, что хочет зарабатывать сама. В итоге у нее получилось не только купить самый дорогой ноутбук, но и оплатить каникулы в Дубае для себя и папы, параллельно продолжая учиться в школе. Как у нее получилось? Благодаря этой книге вы: • Сделаете первый шаг к собственным деньгам • Избежите ошибки при трудоустройстве на работу • Сможете заработать деньги на воплощение мечты.


Hewlett Packard. Стратегия антихрупкости

В этой книге отражен результат 15-летнего исследования стратегического лидерства Hewlett Packard. Реальный опыт успешного применения принципов антихрупкости на практике, которые позволили компании выстоять против кризисов XX и XXI века.


Эффективные коммуникации

Harvard Business Review – главный деловой журнал в мире. Новый выпуск серии «HBR: 10 лучших статей» посвящен вопросам эффективных коммуникаций. Если вам необходимо улучшить собственные навыки общения и выстроить коммуникацию внутри компании, эта книга для вас. Из сотен статей HBR, посвященных одной из самых важных для руководителей тем, мы выбрали самые полезные и применимые на практике. Вы узнаете, почему то, как мы излагаем идеи, порой бывает важнее самих идей. Разберетесь, почему так важно по разному составлять презентации новых проектов для начальников-харизматиков и начальников-последователей.


Полмиллиона часов

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


Ненастье

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


Цыпочки в Лондоне

Мало кто из впервые посетивших Лондон скажет, что он прекрасен. Воображение поражают не красота, а брутальность, оригинальность и великолепие британской столицы. И жительницы Лондона с успехом перенимают эти качества у своего города. В них нет особой красоты, но есть нечто большее: выносливость, дерзость, смелость, неукротимость.Цыпочки вам расскажут о Лондоне много интересного…Нет, они не элегантны, им на это глубоко наплевать.Да, они пьют слишком много, но это не ваше дело!Нет, им не холодно в мини-юбке в середине декабря, они сделаны из закаленной стали.Да, они любят заниматься сексом безрассудно, а что, в других странах это делают как-то иначе? Расскажите им, они с удовольствием послушают.Нет, они не говорят на иностранных языках.


Вспышка страсти

У рыжеволосой и решительной Джери Галифакс была совершенно не женская профессия — частный детектив. Не самое удачное поприще, чтобы обрести счастье в любви. Но у судьбы свои капризы. Однажды в агентстве Джери появляется загадочный Коннер Фаррен, который просит установить наблюдение… за ним самим. Столь странное задание неожиданно оборачивается взаимной страстью…


Другие книги автора
Каждому проекту своя методология

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


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

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