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

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

Я очень обрадовался, когда Лизетт Веласкес (Lizette Velasquez) из "Lucent Technologies" рассказала мне, что она не только с успехом использует эту технику в работе, но что я забыл упомянуть еще один немаловажный момент: очень важно особо отмечать те места обсуждения, когда "происходило нечто интересное". Обычно обсуждение протекает довольно спокойно, но случаются моменты, когда какой-то вопрос вызывает целый поток дополнительных вопросов и комментариев. В таком случае, зрители наверняка захотят вернуться и просмотреть это место еще раз.

Теперь еще можно размещать подобные обсуждения в сети и снабжать их гиперссылками.

А тем, кто до сих пор предпочитает книги всем прочим средствам передачи информации, предложу сделать следующее: возьмите, к примеру, замечательную, но очень трудную книгу Design Patterns. Теперь представьте, что вместо того, чтобы разбирать значение паттерна "Decorator" с книжной страницы, у вас есть возможность щелкнуть мышкой и увидеть видеоклип, в котором авторы сами объясняют этот паттерн. Конечно же, в этом случае для передачи своих идей они будут использовать интонацию, жестикуляцию и синхронизацию общения.

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

Люди непостоянны

Когда речь идет о людях, говорить о режимах сбоя нужно осторожно. У англичан есть старинная пословица: "Если ты дашь собаке плохое имя, то лучше ее сразу пристрелить". В самом деле, как вы увидите из приведенных ниже примеров, простые изменения в стиле управления и местной культуре могут привести к огромным изменениям видимого поведения людей. И все же, весь мой опыт говорит о том, что ожидать от людей последовательности и постоянства действий практически невозможно. Как пишет Джим Хайсмит (Jim Highsmith) [Hi]:

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

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

"Как же мне справиться со всеми этими бумагами, которые приходят в мой офис?" - спрашивает один. Другой отвечает: "Ну, это совсем не сложно! Просто следи, чтобы твой стол всегда был пустым - четыре корзины по углам, несколько папок в верхнем ящике…". Он не смог закончить. "Чтобы стол был пустым?!" - закричали все. "Но ведь это невозможно!"

Обратите внимание, что советчик предложил им одновременно изменить свои привычки, а также совершать определенное действие постоянно и единообразно.

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

Как саркастически заметил Карл Вигерт (Karl Wiegert): "We are not short on practices , we are short on practice " ("нам не хватает практики, а не правил"). И таких правил, действительно, немало. Дэвид Гриз (David Gries) в своей книге "The Science of Programming" ("Наука программирования") дает подробные инструкции по тому, как нужно создавать правильные программы [Gr]. Хорошее средство проектирования представляют собой CRC-карточки [B87]. В методологии под названием "Extreme Programming" [EP], известной своим парным программированием и автоматическим тестированием [Je], тоже используются хорошо известные эффективные методики. Подробно описаны все составляющие методологии "Cleanroom" [Mi]. Уотс Хамфри (Watts Humphrey) дает подробные инструкции программистам, которые хотят работать более эффективно с помощью "Personal Software Process" (PSP) [Hu]. Последовательное и постоянное применение любой из этих методологий замечательно улучшило бы любой проект из тех, которые я видел.

Проблема в одном - в словах "постоянный" и "последовательный". Если PSP и Extreme Programming применять лишь время от времени, то они теряют свой смысл. Написанный наполовину код не может быть безошибочным. Точно так же, как и в случае с лишними бумагами на столе, методологию нужно применять полностью, последовательно, изо дня в день.

Непоследовательность - обычная причина режима сбоя у человека. Существуют методологии, которые требуют от своих адептов строгой последовательности действий. Такие методологии я называю "высоко дисциплинированными". Как показывают опросы, проводимые в различных проектах, именно такие методологии наиболее уязвимы, однако в некоторых проектах они используются довольно успешно. Вот пример применения методологии PSP в организации с пятым уровнем CMM. Мне он кажется весьма поучительным: [Web]:


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

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


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

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


Рекомендуем почитать
Рок-презентация: как придать своему выступлению страсть и экспрессию

Каждому из нас время от времени приходится выходить на публику, чтобы донести до нее свои идеи. Это может быть питч, презентация, рабочее совещание или беседа с боссом. Добавьте рока в свои выступления – сделайте их динамичными и запоминающимися!Найджел Барлоу, ведущий мировой специалист в области инноваций, разработал оригинальную методику привлечения и удержания внимания: несколько выверенных ярких аккордов – и вот уже аудитория настроена на нужную волну и готова ловить каждое ваше слово. А теперь пора «зажигать»!«Книга адресована тем, кто презентует свои идеи и хочет, чтобы слушатели усвоили эти идеи как можно лучше.


Money. Неофициальная биография денег

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


Управление отделом продаж

Ведущеее международное пособие! Самое актуальное издание классического учебника ‒ Марк Джонстон и Грэг Маршалл продолжают традиции мастерства, заложенные Черчиллем, Фордом и Уокером. Классика, полностью адаптированная к современной практике управления продажами.В новом издании вас ожидают:[ul]актуальный набор практических инструментов по управлению отделом продаж;примеры из современной практики управления продажами;разбор вопросов лидерства, технологий, инноваций, этики и глобального бизнеса;разные подходы к коммуникации в сфере продаж.[/ul].


Одиссея писателя: Как найти вдохновение и соблюсти дедлайн

Когда перед вами стоит задача написать что-то длиннее одного предложения, самое сложное – не вдохновение. Гораздо труднее заставлять себя регулярно садиться и писать, пока желанное произведение не будет готово. Писать, несмотря на лень, сомнения, горе-советчиков, собственный перфекционизм и отговорки.Кендра Левин, лайф-коуч и литературный редактор, в книге «Одиссея писателя» научит вас, как пройти весь непростой путь от идеи до готового текста. Вы получите удовольствие от процесса, не потеряв при этом связь с внешним миром, а заодно откроете новые грани собственного таланта.


Индустрия счастья. Как Big Data и новые технологии помогают добавить эмоцию в товары и услуги

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


Третья волна интернета. Какими качествами должен обладать предприниматель будущего

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