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

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

Авторы:

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

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

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

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


С этой книгой читают
Кто. Решите вашу проблему номер один

Авторы книги, эксперты в области найма Джефф Смарт и Рэнди Стрит, предлагают простое и эффективное решение главной проблемы – выбора неправильных сотрудников. Вы узнаете, где найти правильных людей и как привлечь их на работу, как расценивать ответы кандидатов и чего ни в коем случае нельзя делать на собеседовании. Авторы дают рекомендации, основанные на интервью с 20 миллиардерами, 30 топ-менеджерами крупных компаний, а также успешными директорами и руководителями некоммерческих организаций. Книга будет интересна менеджерам по персоналу, CEO и владельцам бизнеса.


Пособие по журналистике данных

Эта книга адресована журналистам, программистам, дизайнерам, издателям, руководителям медиакомпаний, а также широкому кругу читателей, интересующихся развитием жанра журналистики данных. книга доступна для свободного копирования, распространения и повторного использования согласно условиям лицензии Creative Commons "Атрибуция - Распространение на тех же условиях". Соавторы книги сохраняют авторские права на свои произведения и любезно согласились на их публикацию на условиях данной лицензии. Иллюстрации к печатному варианту книги взяты из оригинального онлайн-издания.


Не бесите меня!

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


От батутов до попкорна

В этой книге собраны 100 примеров дел Федеральной антимонопольной службы (ФАС России) против «пседомонополистов» – представителей малого и среднего бизнеса. Обосновывается введение законодательных «иммунитетов» для малого бизнеса от антимонопольного преследования по статьям о злоупотреблении доминирующим положением и антикононкурентным соглашениям, включая картели.


Искусственный интеллект на службе бизнеса

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


Лабиринт: искусство принимать решения

Любое решение, которое вы принимаете, меняет вашу жизнь. Роковое слияние «Даймлера» и «Крайслера». Банкротство «Miramax». Авария на «Аполлоне-13». Что объединяет все эти события? Ошибки, которых можно было избежать на этапе принятия решений. Каждый наш шаг – это выбор, но мы редко задумываемся над ним, спеша жить дальше. Международный эксперт по лидерству Павел Мотыль описывает 16 правил эффективного принятия решений, которые заставят вас измениться. Он анализирует не только примеры из мира бизнеса (хотя именно их тут больше всего), но и нетривиальные случаи из жизни альпинистов, астронавтов, военных и… мафиози. Скорость жизни стремительно растет, а мы блуждаем в сложном лабиринте решений.


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

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


Ненастье

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


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

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


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

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


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

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


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

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


Поделиться мнением о книге