Размер шрифта
-
+

Agile-менеджмент. Лидерство и управление командами - стр. 22

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

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

Управление организацией требует совершенно иных знаний и опыта, чем управление людьми, хотя некоторое представление о том, как система функционирует на более низких уровнях, может оказаться полезным. Инженер-программист Джоэл Сполски предложил закон дырявых абстракций [Spolsky 2002] в качестве объяснения, почему в системах компоненты, находящиеся на более высоких уровнях, могут проявлять себя неожиданным образом в результате воздействия на них событий, происходящих на более низких уровнях, хотя более высокие уровни, по идее, должны быть изолированы от такого воздействия. Более высокие программные уровни, которые подвергаются воздействию событий, происходящих на более низких программных уровнях, считаются дырявыми. Типичным свидетельством такого рода дырявых абстракций в программировании будут непонятные сообщения об ошибках, которые получают пользователи (рис. 1.3).

Страница 22