Будучи инженером-практиком я прошел через все стадии становления системного проектирования как формальной дисциплины и был свидетелем ее развития от набора отдельных приемов для частных случаев до строгой дисциплины, которую мы сегодня ...
Всякий, кто думает о творчестве в проектировании, пытается проводить параллели между инженерными работами и творчеством в искусстве
Большое место в моей карьере заняли разработка и маркетинг передовых систем на глобальных рынках, в основном — наряду с Северной Америкой — в Австралии, Европе, на Ближнем Востоке и в Латинской Америке. Я постараюсь обрисовать этот коллективный опыт, и в том случае, если я корректно провел анализ требований, разработал умный подход, реализовал мои решения в срок и в рамках бюджета и придирчиво протестировал их, я смогу удовлетворить вас как пользователей этого продукта и представить вам что-то новое для обдумывания. В противном случае, на будущий год в Брайтоне я, может быть, смогу предложить вашему вниманию полностью отлаженную речь*.
Творчество в проектировании
Есть нечто, что всегда поражало меня в проектировании вообще и в системном проектировании в частности. Это широчайшие возможности для творчества. Я всегда верил, что те из нас, кто занимается этим ремеслом, а особенно те, кто создает грандиозные инженерные работы, достигают такого уровня творческого самораскрытия, что, без сомнения, могут встать в один ряд с великими деятелями искусства, вдохновлявшими своими произведениями все человечество. Но обычно к инженерам не проявляют такого внимания, каким пользуются деятели искусства. Мост есть мост, космический корабль — это не более чем космический корабль, а элегантность и красота совершенной программы и вовсе наглухо скрыты от посторонних взглядов. И в самом деле, творческая мысль, воплотившаяся в этих вещах, проявляется не в великолепии, которое очевидно и понятно каждому, а в самой основе их существования. Космический корабль, автомобили, телефоны, компьютеры, Internet — этот список можно продолжать и продолжать — все это существует благодаря творческим талантам инженеров, позволившим им сделать эти вещи реальностью, оставаясь в заданных границах, как финансовых, так и материальных, при тех ресурсах, которыми они обладают.
Всякий, кто думает о творчестве в проектировании, пытается проводить параллели между инженерными работами и творчеством в искусстве, как мы его обычно понимаем. Для того, кто чувствует в этом прекрасное, блестящая работа инженера сродни прекрасной картине, замечательной скульптуре или симфонии Моцарта. Но между ними есть и разница. Творения инженеров предназначены для использования, а не только, скажем, для созерцания. Они должны, как говорится в системном проектировании, «удовлетворять требованиям пользователя». Кроме того, эти вещи — результат командной работы, очень редко они бывают плодом творчества одной личности и принципиально не могут быть изготовлены в одиночку. И во всех случаях целью является создание системы в рамках как плана и бюджета, так и ограничений естественной природы. Нередко цель достигается только по счастливой случайности! В этом глубокое различие между проектированием и искусством, хотя и первому и второму свойственно чувство прекрасного — источник радости и удовлетворения для тех, кто создает эти творения.
В этом смысле можно предположить, что системное проектирование требует даже больших творческих усилий, чем работа художника. Ведь приходится преодолевать более строгие ограничения, а каждый шаг вперед требует способностей разрешать кучу проблем новыми способами. Это относится не только к начальному созданию конструкции или к стадии разработки архитектуры, это также справедливо для стадий реализации и тестирования. Вечная проблема — уметь найти баланс между размахом творческой мысли инженера и ограничениями графика и бюджета, в рамках которых должна работать команда, баланс между творчеством и дисциплиной.
Формирование команды само по себе чрезвычайно сложный процесс. На первом шаге нужно выбрать лучших людей из всех подразделений организации. Следующий и более трудный шаг — определить для каждого то место, где он сможет работать наиболее продуктивно и эффективно. Ни один творческий человек не похож на другого. Таковы и инженеры: все мы разные и невзаимозаменяемые. Главное, что для создания эффективной команды надо обращаться к людям с самыми разными дарованиями. На стадии создания архитектуры нужны коммуникабельные люди с воображением, стремлением к новациям и творчеству, НО ТАКИЕ, которые понимают, что работают в пределах бюджета, и могут сопротивляться своему стремлению постоянно добиваться совершенства, не оглядываясь на план-график и затраты. Найти таких людей труднее, чем иголку в стоге сена, но только из таких вырастают лидеры. Для стадии анализа требуются те, кто способен строить математические модели, те, вся жизнь которых строится вокруг высочайших технических концепций и кого мало интересует что-либо другое. Злые языки называют их «умниками», однако я использую это слово в самом положительном смысле. На стадии реализации нужны инженеры, сконцентрированные на мельчайших деталях, обладающие высокой квалификацией в написании программ и богатым практическим опытом. Для системного тестирования требуются скептики, способные заглядывать за пределы очевидного, решать головоломки и — иногда — что-нибудь разламывать.
Это — идеальный вариант и совершенная смесь. Здесь показано явное упрощение реальности, но оно хорошо иллюстрирует процесс формирования команды и необходимость в творческих способностях для выполнения самого этого процесса, так же, как и необходимость привнесения таких способностей в проект каждым из столь разных талантов. Кроме того, этот пример показывает наиболее важный принцип управления проектированием:
успех проекта, помимо, безусловно, руководителя, напрямую зависит от участвующих в нем талантов и, что более важно, от того, какие возможности предоставлены этим талантам в рамках проекта.
Невозможно переоценить важность формирования команды как решающего фактора успеха проекта программной системы. Сформировать с самого начала правильный коллектив и разработать хорошо определенный план работ — вот два главных условия для непременного успеха. Они тесно связаны, так как план определяет команду, а команда делает план. Таким образом, это итерационный процесс. Стоит помнить при этом, что фактическое кодирование программ в успешном проекте занимает меньше времени, чем планирование, конструирование и тестирование. Типичные показатели для программного бизнеса — это одна треть на планирование и конструирование, одна шестая — на кодирование, одна четверть — на покомпонентное тестирование и предварительное тестирование системы и одна четверть — на системное тестирование при наличии всех компонентов. Таким образом, как правило, половина времени уходит на тестирование и отладку, треть — на конструирование и планирование и только небольшая часть времени остается на кодирование как таковое.
Так как для решения каждой из перечисленных задач требуются разные умения и личные качества специалистов, нетрудно понять, что альтернативы тщательному планированию и формированию команды просто не существует, и те, кто не хочет попасть в дальнейшем в сложное, чтобы не сказать безвыходное положение, должны подойти к этому со всей серьезностью.
Проектирование в международном контексте
Почти половина нашего бизнеса традиционно приходилась на регионы за пределами Северной Америки, что подталкивает меня ко второму аспекту данного сообщения.
Все мы живем и действуем в условиях растущей глобализации экономики. Возможности, предоставляемые глобальной экономикой, многообразны и широки. Большинство из них в регионах, которые условно называются «развивающимся миром», и определяются потребностями в приобретении средств современной цивилизации. Однако что касается системного проектирования, мы имеем очень малое понимание проблем в этой области, при том что бизнес-среда имеет там свойства, совершенно чуждые большинству из нас.
В то же время искушение «передачи технологий» постоянно усиливает давление так называемых совместных проектов. Поэтому проекты, которые предполагается выполнять в таких регионах, должны быть спланированы с полным пониманием той культуры, в условиях которой будут выполняться, и влияния, которое эта культура может оказать на проект.
Для работы на таких рынках необходимо понимать культуры, отличные от нашей, и руководствоваться в своих действиях этим пониманием. С моей точки зрения, это было самой большой трудностью работы на глобальном рынке. И именно это делает нашу работу такой интересной. Даже фундаментальные представления о том, что такое «хорошо» и что такое «плохо», различны для разных культур. Так, идея «фиксированных требований» для многих культур является чуждой. Системное проектирование — это тоже элемент культуры, и оно весьма тесно связано с нашим, североамериканским набором ценностей и способом вести дела.
По этим причинам те, кто рискует развернуть свои предприятия в этом большом мире, попадают в места, где ошибка в спецификации — это ужасная «потеря лица», которая должна скрываться, несмотря на очевидные перерасходы времени, или где положения контракта рассматриваются как «гибкие» на протяжении всего проекта, или где фиксированные требования являются большой помехой в глазах заказчика, или где затягивание времени имеет такое незначительное значение, что о нем даже не упоминают. Есть и масса других особенностей таких мест, включая весь спектр отношения к резервированию. Причем все это происходит в конкурентной среде, а понятие заключительных переговоров и концепция BAFO, принятые в Северной Америке, выглядят как какой-то реликт викторианской эпохи или века рыцарей.
Когда речь заходит об умении работать в среде разных культур, важно помнить, что если нечто в одной культуре считается неверным, то в другой оно — вполне приемлемо, а то и является общепринятой практикой. Важно помнить, что эти понятия вовсе не обязательно трактовать как «неправильные» или «несправедливые» в рамках некоей системы ценностей. Эти понятия всего лишь «другие», и должны быть учтены в процессе планирования. Попытки внедрить североамериканскую систему ценностей в других культурах — бесполезное занятие, оно приведет только к дорогостоящему маркетинговому упражнению, не приносящему результата. Первое, что надо соблюдать в любой бизнес-среде, — демонстрировать уважение к культуре и системе ценностей заказчика, независимо от того, какими бы странными они ни казались с позиций вашей собственной культуры.
Тому, чей опыт работы накоплен в условиях защитного кокона уважения к бизнесу, это кажется тревожным вызовом, но если организация хочет добиться успеха и процветать в мире нового столетия, приобретение умений работать в среде разных культур — это те инвестиции, которые просто придется сделать.
В большей степени — искусство!
Как я уже говорил в начале, процесс проектирования требует так много творчества, что с этой точки зрения проектирование пытаются сравнивать с искусством. Наиболее точным, на мой взгляд, является сравнение с сочинением симфонии. Хотя, в отличие от большинства современных систем, симфония — это творение единственного разума, она многократно воплощается в жизнь большой группой людей, результат работы которых определен физическими ограничениями их музыкальных инструментов. Она тестируется на репетициях, и каждое исполнение в аудитории приносит удовольствие в большей или меньшей степени. Исполнители и слушатели общаются с интеллектом того, кто сделал эту работу. Так же обстоит и с системным проектированием: пользователи общаются с интеллектом проектировщиков системы. Мы — эти проектировщики, и это — то самое, от чего многие из нас получают величайшее удовлетворение. Несомненно, проектирование систем — это в большей степени искусство, чем наука, и каждый из нас — художник, который использует свои научные познания для создания полезных вещей.
Итак, гордитесь вашим искусством и творческой силой, в какой бы области они ни проявлялись — в организационной или в технической. Поскольку вы создаете свои симфонии, желаю вам многие годы помнить, что в ряду исторических личностей Моцарт был тем самым «умником». И именно он создал столь тонкие вещи.
Спасибо за внимание.
Джон С. Макдоналд — один из основателей и председатель правления компании MacDonald Dettwiler and Associates (MDA), Ричмонд, (Канада). Его имя связано с конструированием сложных цифровых систем и обработкой изображений, выполнением крупных проектов и созданием ряда успешных предприятий. В частности, он был руководителем команды проектировщиков для первой наземной станции обработки данных LANDSAT, разработанной в MDA.
Публикуется с разрешения, любезно предоставленного автором журналу «Директору информационной службы»
* Первая версия этой статьи была использована автором как открывающая речь на симпозиуме INCOSE (Международная ассоциация системного проектирования) 1988 года.
«Системное проектирование — междисциплинарный подход и набор средств, которые обеспечивают реализацию успешных систем».
International Council on System Engineering (INCOSE)