Системное мышление 2019
Шрифт:
Людей в конечном итоге интересуют воплощения системы, а описания и документация системы их интересуют ровно постольку, поскольку без них воплощение системы трудно сделать, особенно когда речь идёт о системах, создаваемых многими людьми.
Различение воплощения, описания, документации системы нужны в том числе и для того, чтобы предотвращать распространённые ошибки людей, играющих роли разработчиков в проектах по созданию систем:
• Когда люди даже и не думают создавать систему, а пишут очередную «концепцию». Нужно проверить, описывает ли концепция что-то существующее в реальности, а не просто описывает создание документации и избегает описания воплощения системы.
• Когда разработчики документации считают, что их целевая система – документация. Нет, их целевая
• Разработчики исходного кода программ (это тоже описание воплощения системы) тоже считают, что их обязанности заканчиваются тогда, когда они сделали документацию (исходный код с любым количеством ошибок) в систему хранения версии (носитель – внешняя память компьютера хранения версии). Нет, и нет: их целевая система – работающая программа, а не исходный код на любых его носителях.
• Менеджер, разработавший план мероприятий (описание системы работ, существующее в виде документации системы в программе проектного управления), воплощением системы для него будет система работ, а не этот план (а целевой системой, скорее всего – та система, которая получается в ходе этих работ).
• … и таких ошибок «описания вместо созидания» множество, на них нужно всегда обращать внимание.
Результат работы проектировщика атомной электростанции – в конечном итоге воплощение атомной электростанции, а не бумажная документация на её строительство или даже информационная модель атомной станции в компьютере. Результат работы хореографа – это в конечном итоге сам танец (исполняемый в конкретное время в конкретном физическом месте во вселенной), а не описание танца, или даже документ о танце как листочек бумаги с описанием танца. И это несмотря на то, что проектировщик сам не строит атомные электростанции, а только их описывает, а «хореограф» в его изначальном значении тоже «описатель» танца (от др.-греч. – хороводная пляска, хоровод + – записывать, писать. Первоначальное значение хореографии – это отнюдь не сочинение и постановка танцев, а именно искусство записи танца).
Люди ходят не по карте, а по территории. Карта – это только описание территории, которое может быть представлено в разных документах (электронных или бумажных, или пластиковых), и это верно для всех описаний/документов, не только для географических карт.
Карта коктейлей – это не коктейли, её не пьют. Карта находится в мире информации, даже если на ней изображены картинки настоящих коктейлей. Информация не занимает пространства-времени, она абстрактный объект, а не конкретный, даже если её нельзя представить без носителя. Карта не занимает пространства-времени. По ней нельзя «постучать», на неё нельзя «показать пальцем», как нельзя постучать по «числу 300», но можно постучать только по «изображению числа 300» на каком-то носителе.
Если же говорят, что карта занимает место/объём в пространство-времени, то речь идёт не о самой карте как информационном, абстрактном объекте, а о материальном носителе карты – бумаге и краске. Но нарисованные на карте объекты не существуют, стучать и показывать пальцем можно только на участки бумаги (или участки экрана, если это экран, или участки магнитной памяти, если это магнитная память), а не на изображённые на карте объекты.
Карта-на-носителе документирует какие-то воплощения систем (или другие описания, которые в конечном итоге всё одно должны будут дотянуться как-то логически до физического мира – иначе нельзя будет проверить их нефантазийность).
Карта коктейлей в данном случае – не система, а только документация системы «ассортимент ресторана» (system description/documentation), а информация на ней – описание системы (system definition).
А вот сами коктейли, документируемые картой/описываемые информацией на карте – это системы (воплощения системы: продукты, изделия, предприятия, люди),
Описания
Но зачем нам нужны описания, если их нельзя использовать?! Они нам нужны для мышления, которое используется для переноса опыта из одного проекта по созданию систем в другие проекты.
Мышление происходит не для отдельных систем, а сразу для множеств систем. Разработка (замысливание, проектирование) всегда ведётся не для конкретных экземпляров систем, а «в общем случае», то есть для множества подобных систем.
Множество (как математический объект, другие имена для множества – это класс, тип, вид) абстрактно. В математике множество из одного объекта не эквивалентно этому одному объекту: свойства множества отличаются от свойств самого объекта в этом множестве.
В системном мышлении то же самое: нас интересуют отдельные конкретные системы, воплощённые в нашем физическом мире, но мыслим мы классами систем, их множествами. Мышление ухватывает что-то общее во всех ситуациях, мышление происходит не для конкретных систем, о которых мы знаем разные факты. Мышление происходит для классов/типов/множеств/видов систем/воплощений_систем/экземпляров_систем. И, конечно, множества легко изменять: для изменения абстрактных объектов не нужно тратить энергию на перетаскивание вещества.
Как договориться: не обобщать, а конкретизировать
Если один человек упомянул президента США, а другой – Дональда Трампа, то они имели в виду одно и то же лицо? А если другие люди упомянули президента США и Джорджа Вашингтона – они имели в виду тех же лиц? В инженерии тоже нужна жёсткая логика для подобных рассуждений – описанный одним человеком насос P-101 на схеме трубопроводов, и описанный другим человеком насос модели ПДР-15-НШ-12 в монтажной спецификации – это один и тот же насос? А установленный в турбинном зале насос ПДР-15-НШ-12 с серийным номером RKS456/4 – как он соотносится с первыми двумя? Как описать это «в компьютере» так, чтобы и самому не запутаться, и других не запутать?
Ещё Декарт (1596—1650) задавался вопросом: а как вообще понять, что люди говорят об одном и том же объекте, если они видят в нём самые разные свойства (то есть относят его к самым разным классам)? Скажем, один инженер говорит о высокопроизводительной системе, другой – о взрывоопасной, менеджер – о прибыльной, а финансист – о дешёвой? Как тут понять, что речь идёт об одной системе? Ответ Декарта на такие вопросы используют до сих пор 58 : если места в пространстве (а сегодня говорят не только о пространстве, но и пространстве-времени, учитывая протяжённость и во времени тоже, как «декартову координату»), у двух объектов совпадают, то это один и тот же объект. Не важно, какие основные или вторичные свойства и сущности увидели разные люди в объекте/системе, или для каких применений этот объект/система им нужна. Не важно, одинаковые или разные имена у тех мест в пространстве-времени, о которых говорят разные люди с разными ролевыми интересами в той или иной ситуации. Если речь идёт об одном и том же месте пространства-времени, значит речь идёт о том же самом воплощении системы. Если я говорю о пище, вы говорите о яблоке, она говорит о товаре, он говорит о зелёном физическом теле массой 150 грамм, и всем мы показываем на одно и то же место в пространстве-времени, то речь идёт об одном и том же объекте. Если кто-то показывает в физическом мире (в пространстве-времени!) на бабочку с крыльями и говорит «бабочка», а кто-то другой показывает в физическом мире на яйцо-гусеницу-куколку-бабочку-с-крыльями и говорит «бабочка», то у этих двоих есть шанс понять друг друга.
58
Подробней эта история и многие другие положения этого раздела рассказаны в книге Chris Partridge «Business Objects: Re-Engineering for Re-Use», http://www.brunel.ac.uk/~cssrcsp/BusObj.pdf