Искусство управления IT-проектами — страница 11 из 25

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

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

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

Для иллюстрации процесса работы над идеями я воспользуюсь, главным образом, этапом проектирования (см. главу 2), который затрагивает период времени приблизительно после готовности общего плана (например, концепции) и до начала разработки программного продукта. Если реализация вашего проекта организована несколько иначе, ничего страшного: материалы этой главы вам все равно пригодятся. Приводимые в ней советы достаточно легко применить к любой ситуации, требующей решения проблем и выработки идей.

Разрыв между требованиями и решениями

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


Рис. 5.1. Проектирование зачастую выглядит как некий таинственный переход от первичного планирования к выработке технических условий


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

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

Для заполнения пробела существует два простых средства. Во-первых, это выработка качественных требований, во-вторых, проектные исследования. Тесная взаимозависимость этих двух аспектов предопределяет возможность их пересечения по времени реализации.

Качественные требования и ошибки

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

Требования имеют решающее значение. Они являются отправной точкой для зарождения идей и потенциальных решений. Если в требованиях определено, что «это будет сарай зеленого цвета», то все задействованные в проектировании специалисты будут думать о всем разнообразии зеленых сараев. Из этого можно извлечь двоякую пользу. Во-первых, из рассмотрения исключается масса ненужных идей (можно будет с легкостью поставить на место тех, кто уже заготовил эскизы голубых космических кораблей). Во-вторых, проектировщики получают возможность задавать вопросы, ведущие к дополнительным исследованиям требований. Эти вопросы могут быть вполне конкретными, например: «Подойдут ли светлые оттенки зеленого или нужен только темно-зеленый цвет? Какова должна быть площадь сарая?», или более общими, например: «Для чего будет использоваться сарай? Предусматривается ли чердак? Он и обойдется недорого, и в хозяйстве пригодится». В зависимости от того, кто несет ответственность за выработку требований и проектирование (см. главу 3), принимать решения, какими должны быть ответы на эти вопросы или предлагать их измененные варианты, будут разные люди, наделенные соответствующими полномочиями. Но стремление задавать вопросы, уточняющие требования и повышающие их качество, должно поощряться.

Итак, чем больше внимания уделено выработке требований, тем выше шансы на то, что проектировщики найдут соответствующие им решения. Если требования не сформулированы, проектировщикам придется работать на собственный страх и риск (то есть если вы ведете проектирование, не имея требований, в ваших собственных интересах составить их самостоятельно). В качестве примерного руководства по улучшению требований я привожу краткий перечень типовых ошибок, которых следует избегать во время разработки этих требований.[27]

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

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

 Постарайтесь выявить все упущения. Самые грубые ошибки в составлении требований связаны с упущениями. Они могут носить как частичный, так и общий характер. Частичные упущения заключаются в пропуске одного из аспектов требования (например, при указании поля данных пропущен его формат), а общие – в пропуске какого-нибудь требования целиком (веб-сайт должен быть на греческом языке и поддерживать работу в Firefox 1.0). Упущения могут допускаться по двум совершенно разным причинам: либо заказчику безразличен данный аспект проблемы, либо этот аспект важен для него, но он о нем не подумал или забыл включить в перечень. Тут, как и в случае с ошибочными предположениями, именно руководитель проекта должен выявить все информационные пробелы и определить одну из двух причин их возникновения.

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

 Постарайтесь уточнить или исключить все случайно вкравшиеся неоднозначные понятия. Такие слова, как быстрый, большой, маленький, хороший, красивый и удобный, понятны лишь в сравнении. Их неопределенность может устраивать только в том случае, когда все участники выработки требований (заказчики, руководители, программисты и т. д.) согласны отложить их уточнение до следующих переговоров. В противном случае каждый составитель требований не захочет вносить уточнения там, где это ему не выгодно. Зачастую простейшим способом устранения неоднозначности является установка определенных границ («Наша домашняя веб-страница должна загружаться в Firefox как минимум с такой же скоростью, как страница www.cnn.com, но лучше, если она будет загружаться так же быстро, как www.oreilly.com»). При этом должны быть легко различимы абсолютные (должно быть так) и желательные (было бы неплохо, но можно обойтись) требования.

Используя одну из постановок задач, рассматриваемых в главах 3 и 4, рассмотрим один из вариантов качественной формулировки отдельного требования:

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

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

Исследование проекта

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

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

На рис. 5.2 показано пространство решения проблем, определяемое на основе имеющихся требований. Как только проектировщик приступит к исследованию идей, удовлетворяющих требованиям, пространство решения проблем станет расширяться. Его расширение обусловлено тем, что в процессе ранней проработки какого-нибудь вопроса или эскиза вскрывается все больше и больше ранее не замеченных решений и возможностей. Например, требование может иметь следующую формулировку: «Веб-сайт должен обеспечивать полнотекстовый поиск на всех страницах», но при этом, скорее всего, ничего не будет сказано об используемой для этого поисковой машине, о способах настройки поиска или о способах встраивания пользовательского интерфейса поиска в структуру веб-сайта. То есть кто-то должен исследовать все многообразие существующих возможностей. (Несмотря на это, пространство решения проблем в конечном счете сужается, о чем мы поговорим в следующей главе.)


Рис. 5.2. Конструкторские замыслы возникают на основе формулировки задачи


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

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

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

Страх перед просчетами и размышления о прогрессе

Возможно, многие стараются уклониться от участия в проектировании, опасаясь проводить исследования под пристальным взглядом других людей. Когда мы исследуем собственную работу (например, пытаемся оптимизировать алгоритм или подправить документ), то делаем это без свидетелей. Мы можем свободно проверять самые сомнительные или странные идеи, самостоятельно оценивая собственные действия. А занимаясь проектированием в составе команды согласно графику общей работы, каждый проектировщик будет проводить исследования на виду у массы людей. Все создаваемые им эскизы или прототипы придется публично демонстрировать и открыто обсуждать. Если люди не верят в конструктивность высказываемых им критических замечаний, то не удивительно, что они боятся участвовать в процессе проектирования.[28]

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

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

Идеи бывают плохими…

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

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

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


Рис. 5.3. Большинство возможных проектных решений не ведут к успеху (а те, что ведут, конечно же, вряд ли окажутся в одном месте, как это может показаться глядя на рисунок)

С чем сравнивать, хорошо это или плохо?

Разумеется, дополнительные трудности возникают еще из-за того, что не всегда удается достаточно легко распознать, какая именно идея перед вами, плохая или хорошая. Идеи не поддаются абстрактной оценке. Они плохи или хороши лишь в отношении того, как с их помощью решаются конкретные проблемы или достигается желаемый эффект (например, рассмешить кого-нибудь или взорвать чего-нибудь). Я уже отмечал, что для решения сложной проблемы найти готовое решение практически невозможно, а это значит, что хорошее решение может быть таковым лишь по отношению к каким-нибудь альтернативным вариантам. Если у вас в запасе лишь одна идея, то сравнивать, собственно, не с чем, и способ объективной оценки отсутствует. Поэтому если вы обнаружите, что альтернативных решений, позволяющих провести сравнительную оценку или прояснить суть решаемой проблемы, нет, определить истинную ценность идеи будет очень сложно.[29]

Существует и иной подход к оценке идеи. Открытие формулы E = mc2 стало для Эйнштейна его звездным часом, но для любителя этой формулы, пытающегося свести концы с концами, или для человека, потерявшегося где-то в пустыне Сахара[30] (не говоря уже о тех, кто потерялся в пустыне и при этом испытывает материальные затруднения), это открытие оказалось совершенно бесполезным. Так хороша или нет идея, заключенная в формуле E = mc2? Возможно, она будет хороша, если вы расширите область требований и пространство решения проблем, чтобы включить в них общую идею о совершенствовании ваших знаний о вселенной. А возможно и нет, когда все, что вас тревожит на данный момент, – это судьба друга, затерявшегося где-то в Сахаре. Идеи выглядят хорошими или плохими лишь на фоне различных обстоятельств. Независимо от того, насколько гениальными они представлялись при абстрактной оценке, когда они вносятся в проект, который направлен на создание реальных вещей, предназначенных для решения реальных проблем, ошибки, допускаемые при попытке отличить абстрактный подход от прагматичного, всегда приводят к неприятностям.

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

Стандартное и нестандартное мышление

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

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


Рис. 5.4. Головоломка, требующая нестандартного мышления, с готовым решением


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

Кто-то должен руководить командой в момент принятия решения о том, какие ограничения или требования могут быть проигнорированы, слегка подправлены или изменены, а каким нужно следовать неукоснительно. Творчество часто сопряжено с работой в условиях ограниченных ресурсов или времени и с поиском изобретательных или разумных способов добиться, на первый взгляд, невозможного (посмотрите фильм «Аполлон 13»). Для достижения успеха грандиозные, радикальные и выдающиеся идеи нужны крайне редко. Чаще всего бывают востребованы идеи основательные и вполне подходящие в данной конкретной ситуации.

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

Стоит также обдумать следующие вопросы: Как настроить людей на обдумывание одних и тех же проблем? Как научиться воспринимать ценные идеи? Хотите догадаться, с чего можно начать? Вас еще не раздражают поучения этого раздела? Ну, а теперь несколько неожиданный поворот. Зачастую все начинается с постановки правильных вопросов. (Неужели? В самом деле. А вы в этом уверены? Да. И что, это действительно приведет нас к успеху? Конечно.)

Хорошие вопросы привлекают к себе хорошие идеи

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

Пабло Пикассо

Чтобы избежать выполнения ряда нежелательных требований, предъявляемых в колледже, для получения степени бакалавра я изучал теорию логики и философию. Многое я, конечно, выучил и забыл, но среди того, что запомнилось с тех времен, был и вопрос о том, как задавать хорошие вопросы. У меня было развито чувство логики, но я был единственным новичком в выпускных классах теории логики, поэтому обычно (а точнее, всегда) отставал от остальной группы. Я быстро понял, что нужно задавать однокашникам и профессорам четко сформулированные вопросы, иначе меня завалят грудой непонятной и бесполезной для меня информации. Я обнаружил, что множество инженеров, докторов и других представителей интеллигенции с радостью готовы поделиться своими знаниями независимо от того, о чем я их спрашиваю. Люди порой могут теряться и в собственных знаниях.

Четко заданные вопросы являются одним из способов вести сложные переговоры в нужном направлении. Я могу привести пример из личного опыта общения с профессорами логики, заставлявшими меня обращать пристальное внимание на то, как я задаю вопросы. Все могло начинаться с моего вопроса типа: «Не могли бы вы объяснить вот эту часть теоремы незавершенности Геделя?» Профессор мог ответить следующим образом: «Разумеется. Вы понимаете, все методы доказательств могут быть сведены к основному набору характеристик, определяемых основными рекурсивными первичными функциями». Я мог сказать: «Ну, да. Хорошо. Но не могли бы вы объяснить вот эту строку?» и указать на маленькую строчку доказательства, очерченную толстой красной линией с нарисованным рядом огромным вопросительным знаком. Профессор мог кивнуть головой и сказать: «Ну, конечно <пауза>. Итак, история методики доказательств берет свое начало от замечательной попытки выражать аспекты существования через систему, поддающуюся проверке…» Я мог сказать: «О, боже. Нет, я имею в виду вот это <показываю снова>. Что означает это место? Как оно соотносится с верхней строкой?» Он мог ответить: «Да, да. Понимаете, теория доказательств относится к математической логике, поскольку лемма неосязаемости между наборами неупорядоченных, но бесконечных значений…» В конце концов, я обычно бросал эту затею и направлялся в ближайшую пивную.

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

Творческое решение проблем предполагает три вида вопросов: концентрирующие внимание (хорошие), относящиеся к творческому процессу (тоже хорошие) и риторические (вредные).

Вопросы, концентрирующие внимание

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

Опытные руководители проектов и творчески мыслящие натуры, как правило, – мастера задавать вопросы. Они всегда чувствуют, когда что-то идет не так, понимают, когда в дискуссии или в плане отсутствует тот или иной существенный элемент, и своевременным хорошо сформулированным вопросом расставляют все по местам. В сильных командах, даже если руководитель проекта задает неверный вопрос, но делает это своевременно, прерывая дискуссию, всегда найдется кто-нибудь другой, кто задаст нужный вопрос: «Хорошо, Скотт, фактически мы отклонили данное требование. Теперь настало время спросить, точно ли эта новая конструкция отвечает обновленному перечню требований?» И после короткой дискуссии вся команда встряхивается и перенацеливается на уточненный взгляд на предстоящую работу. Хорошие вопросы выступают в роли катализатора: они заново объединяют знания и энергию участников дискуссии, придавая ей глубину, повышая ее качество и направленность, снова выплескивая всю их энергию на уже более благодатную почву.

Я понял, что после налаживания доверительных отношений с командой наиболее значимым оказался вопрос, относящийся, в общем, и к руководству проектом, и к творческому мышлению, и к решаемой проблеме:

Какую именно проблему вы пытаетесь решить?

Если доверие сотрудников завоевано и этот вопрос не воспринимается как занудство руководителя, его можно задавать практически на каждой дискуссии, на любой, ранней или поздней стадии реализации проекта, чтобы помочь удостовериться в наличии двух обстоятельств. Во-первых, что команда может определить, к чему же на самом деле она стремится; и, во-вторых, что у всех присутствующих имеется один и тот же ответ на этот вопрос (хуже нет, если пять работающих вместе талантливых специалистов, сами того не осознавая, пытаются решать разные проблемы). Данный вопрос оказывает волшебное воздействие на все, начиная с обсуждения общих стратегических вопросов и заканчивая дискуссиями низшего уровня о синтаксисе программного кода, деталях тестирования или конструкции изделия. Он оказался столь действенным и полезным, что я водрузил плакат с ним над своим рабочим столом. Я понял, что когда возникает чувство, будто конструкторская мысль или генерация идей заходит в тупик, или люди высказывают полярные мнения, я вовсе не одинок, такое же чувство замешательства испытывают и все остальные. Тогда я ставлю вопрос ребром и убеждаюсь, что все вернулись к исходному состоянию и вновь зарядились осознанием сути создаваемого продукта.

Креативные вопросы

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

Риторические вопросы

К вредным двойникам креативных вопросов – так называемым риторическим вопросам, нужно относиться крайне настороженно. Они расплывчаты и не требуют буквальных ответов. Риторические вопросы похожи на родительский нагоняй («О чем ты думал, когда съел целую коробку Фрут Лупс?» или «Как ты мог позволить Салли намазать экран телевизора арахисовым маслом?») и ведут к завершению дискуссий. В них содержится намек на чью-то вину и дается отрицательная оценка. Предполагается, что человек, задающий риторические вопросы, знает больше, чем тот, кто их выслушивает, и они незаслуженно подрывают репутацию слушателя. Люди, обладающие властью, но не умеющие правильно ею распоряжаться (к примеру, бездарные начальники или учителя), часто задают риторические вопросы. Задавая их, они редко несут ответственность за последствия. При аккуратном использовании риторические вопросы могут развеселить людей или встряхнуть тех, кто в этом нуждается («Ребята, неужели это действительно лучшее, что вы можете сделать?»). Но даже с этой целью их не стоит задавать слишком часто.

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

Плохие идеи ведут к хорошим идеям

Впервые я наблюдал за реальной работой дизайнера еще юношей, во время обучения в колледже. Я не разбирался в сути его работы и, по большому счету, думал, что дизайнеры работают над внешним видом изделий: разрабатывают покрой джинсов, фасоны дамских сумочек и т. д. Как бы то ни было, а тот молодой человек разрабатывал новый тип переносной стереосистемы. Он сидел за своим столом в студии учебного отдела проектирования, которая представляла собой большое, открытое пространство, увешанное массой таблиц, эскизов, зарисовок прототипов и проектов.[31] Он делал наброски различных идей, каждый из которых представлял собой очередной вариант стереосистемы. Я спросил у него, чем он занят, а точнее, как все, что он делает, соотносится с понятием «проектирование», что бы это для него ни означало.

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

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

Лучшие идеи и конструкции требуют какого-то начального толчка. Они не возникают в результате магических заклинаний или волевых усилий («Сейчас тебя должно осенить! Именно сейчас…!»). Каждый рисунок, эскиз или прототип, пускай даже самый нелепый и жалкий, дает проектировщику (инженеру, ученому) толику нового в осознании проблемы и повышает шансы следующей попытки стать лучше предыдущей. Все великие умы, занятые решением сложных мировых проблем, не обходятся без груды скомканной бумаги, окружающей их рабочее место. Кто-то лукавит, что это не так, а кто-то соглашается с этим. Мысль о том, что неудачные идеи приводят к удачным, как ничто иное вдохновляет нас на проектирование всего, что угодно. Мы должны настроиться, засучить рукава и наделать поначалу массу ошибок, зато чем скорее это произойдет, тем раньше мы приблизимся к ценным идеям.

Хорошие проекты рождаются из множества хороших идей

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

Все, что относится к творчеству, – от технических разработок и до чистого искусства – разделяет эту аксиому, подтверждением чему служат высказывания знаменитых творцов и мыслителей:

 У архитектора два самых главных инструмента: в студии – ластик, на строительной площадке – кувалда (Фрэнк Ллойд Райт).

 Самый важный инструмент физика – мусорная корзина (Альберт Эйнштейн).

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

 Неудач не бывает. Бывают лишь слишком ранние отказы от продолжения работы (Джонас Солк).

 Лучшие способы есть всегда, их только надо найти (Томас Эдисон).

 Неудача. Опять неудача. Почти что удача (Сэмьюэл Бэкет).

 Если хотите достичь успеха, удвойте квоту неудач (Том Уатсон, IBM).

 На одну страницу шедевра у меня приходится 99 страниц мусора (Эрнест Хемингуэй).

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

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

Широта взглядов и импровизация

С подачи Оука Юксела (Ayca Yuksel) и Ванессы Лонгакрэ (Vanessa Longacre), двух бывших сотрудников компании Microsoft, вся наша троица записалась в общественный колледж в класс импровизационной комедии. После первого же дня я понял, что мой страх выставить себя на посмешище перед командой совершенно не обоснован. Я узнал, что большинство людей, если они учатся замечать что-нибудь вокруг себя (чему нас и учили в этом классе), смогут находить смешное во многих совершенно заурядных ситуациях. Учеба часто позволяет видеть вещи, обычно ускользающие от внимания, и строить взаимосвязи между ними.

Когда я вернулся к работе, к миру проектов и разработок, я обнаружил, что нечто подобное характерно и для решения наших проблем. Тем, кому удавалось находить верные решения, замечали то, что не видели другие. Они замечали больше подробностей, выстраивали больше ассоциаций и обладали большей глубиной восприятия, продвигаясь в поиске взаимосвязей между вещами. В интервью журналу «Wired»[32] Стив Джобс (Steve Jobs) так прокомментировал эту весьма важную особенность творческой работы:

Чтобы разработать что-либо действительно стоящее, нужно вникнуть в суть создаваемого продукта и хорошо разбираться во всем, что с ним связано. Чтобы по-настоящему вникнуть во что-нибудь, нужна неистовая целеустремленность и скрупулезность, все нужно будет очень тщательно пережевывать, а не глотать целиком. Многим на это просто жалко времени. Творчество – это поиск взаимосвязей между вещами. Когда вы спрашиваете у людей творческого склада, как им удается что-нибудь создать, они могут почувствовать себя перед вами неловко, поскольку на самом деле они ничего и не делали, они просто все это увидели. Для них в какой-то момент времени все вдруг становится очевидным, поскольку они могут воспользоваться имеющимся опытом и синтезировать нечто новое. Они способны на это, потому что обладают по сравнению с другими людьми более богатым опытом или способны глубже других этот опыт анализировать. К сожалению, такие способности встречаются довольно редко. Многие в нашей индустрии не имели столь разностороннего опыта. У них не хватало данных для построения нужных взаимосвязей, и они довольствовались слишком прямолинейными решениями, не обладая широким видением проблемы. Чем шире наше понимание человеческого опыта, тем лучше получится все, что мы проектируем.

Эта цитата вызывает у меня лишь одно возражение: в ней подразумевается, что творческие личности обладают чем-то необычным, недостижимым для людей «нетворческого» склада. Я не верю, что люди от рождения относятся к одной из двух групп, гениальных творцов или лишенных воображения недоумков. Исходя из увиденного мной в классе импровизации, в котором я брал уроки, большинство людей могут самостоятельно научиться наблюдательности, развить свою интуицию и способность выискивать взаимосвязи между вещами, удовлетворяя критериям, выдвинутым Джобсом.

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

Зачастую чтобы понять, что к чему, остается только отвлечься от определенного занятия (хотя бы пару часов почитать книгу или посмотреть фильм), а затем заново оглядеться. Мастерство должно быть сродни пребыванию на вершине горного хребта: оно позволяет гордиться своими достижениями и в то же время осознавать, что вокруг немало других вершин, с которых открывается не менее хороший обзор.

Я понял, что класс импровизации помог мне выйти за рамки привычной работы, сложившихся взаимоотношений и получить развитие в тех направлениях, которые были недоступны в прежней обстановке. Этому способствовали четыре правила, использовавшиеся нами во время наших игр и помогавшие осознавать происходящее и поддерживать свободное течение идей. Чуть позже до меня дошло, что их довольно легко перенести на дискуссии проектировщиков и мозговые атаки, проводимые в составе небольших групп, то есть на те ситуации, при которых ставилась цель поиска новых идей и выработки широкого перечня концептуальных положений и замыслов для их дальнейшего рассмотрения.

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

Правила импровизации для генерации идей

Для применения импровизационной игры в мозговых атаках (с оговоркой, что эта игра не вполне подходит для глубоких конструкторских проработок) вам необходимы следующие обстоятельства: небольшая группа людей (от 2 до 8 человек), комфортабельное помещение, вполне достаточное количество специально выделенного времени, хотя бы одна четко обозначенная проблема, имеющая отношение к проекту, и кто-нибудь, стоящий у доски и записывающий в краткой форме каждую предложенную идею. Использование доски для объяснения сути идей вполне допустимо. Но если для мозговой атаки выбрана довольно объемная цель, на подробностях заострять внимание не стоит.

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

Игра начинается, как только кто-нибудь выдвинет идею, и все приступят к ее обсуждению, которое нужно вести с учетом следующих четырех правил:

1. Да, и вот еще что… Когда кто-нибудь другой предлагает некую мысль, допускается лишь одна реакция: «Да, и вот еще что <далее следует соответствующее продолжение>». Вашим первым побуждением должно стать продолжение его направления мысли. Обычно вы подхватываете его идею или точку зрения и продвигаете их дальше или меняете их направление, к примеру: «Мы можем использовать поисковое поле вот здесь…», «Да, и разумнее было бы после того, как пользователь что-нибудь ввел, перевести его взгляд в нужное место». Или: «Да, и вот еще что, здесь нужно воспользоваться тем самым новым поисковым движком, который мы создаем, и ускорить выдачу результатов». Все внимание направлено на то, чтобы развитие дискуссии шло в позитивном направлении и вырабатывалась привычка прислушиваться к другим участникам, помогая в развитии предложенных ими идей, а не выжидая благоприятного момента для высказывания собственных.

2. Никаких половинчатых рассуждений. Недопустимо предложение собственной идеи, завершаемое словами: «Извините, я понимаю, что это звучит неубедительно». Или: «Творчество, к сожалению, не мой конек». Недоговорки означают безответственность заявлений. Ваши высказывания не стоят того, чтобы за них постоять. Допустима пусть неудачная, но завершенная идея: она, по крайней мере, может подтолкнуть кого-то другого на предложение лучшего варианта. Если вы надеетесь, что кто-то подхватит ее со словами: «Да, и вот еще что…», то вполне возможно превращение вашей «неудачной» идеи во что-нибудь более интересное, до чего бы по-другому не смогли додуматься ни вы, ни тот, кто откликнулся на вашу идею.

3. Никаких блокирующих вопросов. Вопросы вызывают конфронтацию между теми людьми, которые их задали, и идеями. Если вы спросите: «Ну и к чему все это делать?» – то все сказанное другим человеком будет помещено вами в новый, субъективный контекст, не соответствующий духу импровизации. Получится, что пока не будет доказано обратное, в высказывании нет никакого рационального зерна, при этом нарушится атмосфера открытого и свободного размышления (хотя в дальнейшем, при углубленных дискуссиях, связанных с проектированием, создавшаяся в результате вашей реплики атмосфера будет вполне приемлема). Лучше проверьте свой собственный интеллект: как бы вы смогли направить поданную кем-то начальную идею в рациональное русло? Стройте любые предположения или проявляйте лояльность, необходимую для извлечения смысла из чужого утверждения. Обкатайте его и идите дальше. Если понадобится, задавайте краткие, уточняющие вопросы, но не переключайте на них все внимание. Лучше перейти к следующей идее, чем все свести к обсуждению какого-то одного предложения. Если целью ставится генерация «сырых» идей, намного важнее количество предложенных идей в час, чем качество каждой из них. Молчание зачастую полезнее для достижения основной цели генерации идей, чем отпущенное замечание о глупости той или иной отдельно взятой идеи.

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

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

Другие подходы к генерации идей

Если вы не готовы к импровизационным играм или хотите подойти к генерации идей более прямолинейно, то вам подойдет ряд традиционных предложений:

 Подберите себе книгу по творческому мышлению. Существует немало хороших книг на выбор. Две мои самые любимые – «Thinkertoys» Майкла Майкалко (Michael Michalko) (Ten Speed Press, 1991) и «Six Thinking Hats» Эдварда Де Боно (Edward De Bono) (Back Bay Press, 1999). Существует множество других популярных книг, которые по-своему тоже хороши, но наибольшую пользу я сумел извлечь их этих двух.

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

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

 Купите колоду карт для мозговой атаки, ThinkPak, созданную Майклом Майкалко (Michael Michalko). Эта колода игровых карт разработана для того, чтобы помочь человеку или группе придумывать новые идеи в любой области деятельности.[33] Можно найти и другие подобные наборы, но мне все же больше помог именно этот.

Проектирование начинается с восприятия пользователя

Провидцам от технологии не дано осознать различие между выполнимым и желаемым.

Эдвард Мендельсон (Edward Mendelson)

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

Единственный способ избежать подобной ситуации – приступить к проектированию и разработке сверху вниз, то есть с того, что пользователь увидит на экране, спускаясь сначала к высокоуровневым компонентам, а затем – к рабочим элементам. Как только появится предварительная концепция с набросками всего, с чем будет работать пользователь, инженеры и технологи должны взять на себя ответственность за то, чтобы их замыслы соответствовали этой концепции. Можно ли сделать то, что будет спроектировано? Какие для этого могут понадобиться компромиссные решения? Какие ограничения должны быть учтены? В ходе работы ведутся дискуссии, перемещаемые вниз и вверх по уровням проектирования, и специалисты разного профиля, входящие в команду, обеспечивают по мере хода этого процесса соблюдение целостности того, с чем придется работать пользователю, не вторгаясь в область того, что возможно получить (и должно быть получено) от разработчиков. Конструкторская мысль будет продвигаться в двух направлениях: от ожидаемого пользовательского восприятия вниз к технологии и от практической технологии вверх к пользовательскому восприятию (рис. 5.5).


Рис. 5.5. Правильно организованный процесс проектирования объединяет ориентацию на пользователя и практическое рассмотрение доступной технологии. Если изолировать один из компонентов, то другой неизменно от этого пострадает


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

Обдумывание подобных представлений, эскизов, первичных зарисовок или, в некоторых случаях, прототипов, станет первым шагом на пути осознания идеи. Если что-то не может быть выражено в виде рисунка или эскиза, то, скорее всего, оно не может быть и создано. Диаграммы, построенные в таких программах, как UML и Visio, не могут считаться проектными эскизами. Диаграммы – вещи абстрактные. В них не отображается то, что увидит пользователь, поэтому за ними могут скрываться всевозможные проблемы и детали, требующие осмысления.

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

1. Динамически выстраивать страницы по приоритетам на основе их востребованности.

2. Избавиться от материала, который никогда не вызывается по ссылкам.

3. Провести смысловую группировку материала домашней страницы с точки зрения пользователей.

Прежде чем какой-нибудь разработчик задумается над реализацией этих идей, кто-то должен взвесить их ценность с точки зрения пользовательского восприятия. Возможно, выяснится, что как бы привлекательно они не выглядели в абстрактном представлении, никто из присутствующих не в состоянии придумать приемлемую конструкцию,[34] объединяющую их таким образом, чтобы облегчить пользователям выполняемую ими работу. Поэтому в интересах команды лучше исходить из пользовательского восприятия – это самый легкий способ избавиться от лишней работы, выяснить, какая именно конструкция должна быть создана и зачем, а также уменьшить шансы последующих серьезных изменений. Управлять этим процессом нелегко, но лучше что-то, чем ничего.

Проектирование представляет собой серию переговоров

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

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

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

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

Вид сотрудничества, описанный Джильямом, возможен при чувстве взаимного доверия внутри команды. Руководитель и лидеры, стремящиеся к созданию доверительной обстановки и нуждающиеся в открытости для появления удачных идей, зачастую жертвуют собственными идеями. Более подробно мы поговорим об этом в главе 12.

Выводы

• Многие команды не могут правильно распорядиться временем между выработкой требований и формулировкой технических условий.

• Это время лучше потратить на тщательное исследование требований и замысла проекта.

• Идеи могут быть удачными или неудачными только по отношению к целям проекта или к другим идеям.

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

• Для поиска новых идей инструментом служат вопросы, точки зрения и импровизационные игры.

• Лучшей исходной точкой для проектирования служит пользовательское восприятие.

• Идеи воплощаются в проекты в ходе переговоров между специалистами разного профиля.

Упражнения

1. Найдите человека, которого считаете по сравнению с собой более способным к творческому мышлению. Спросите его, откуда берутся его идеи и какие привычки им выработаны для повышения продуктивности творческой работы. Попробуйте на неделю перенять одну из таких привычек. (Если вы затрудняетесь припомнить кого-нибудь, кто бы подошел на эту роль, возьмите за образец Пикассо, Эйнштейна или кого-нибудь другого знаменитого мыслителя в вашей области.)

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

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

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

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

6. Какую проблему вы пытаетесь решить, читая эту книгу? Выполняя эти упражнения? Существует ли ситуация, в которой вопрос: «Какую проблему вы пытаетесь решить?» бесполезен?

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

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

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

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

Глава 6. Как правильно распорядиться имеющимися идеями