В дискуссиях по поводу простоты и сложности отметились многие эксперты. Но их участие не привело к прояснению вопроса, поскольку зачастую присутствовала значительная терминологическая путаница. Ниже приводится моя попытка внести ясность в этот вопрос. Так что же такое простота?
Простота обычно определяется количеством усилий, которое необходимо, чтобы понять или объяснить какое-либо явление. Явление, которое легко понять или объяснить, будет простым, в отличие от тех явлений, что запутанны.
Если мы хотим обсудить, что такое простота, полезно уточнить содержательную разницу между сложными и запутанными понятиями или явлениями. Непонимание этой разницы может привести к тому, что вы выберете неправильный подход к решению той или иной проблемы.
Я считаю, что разница между этими двумя терминами должна объясняться в двух измерениях, показанных на рис. 3.2. Первое измерение относится к структуре проблемы и тому, насколько хорошо мы ее понимаем:
• Простая = легко поддающаяся пониманию.
• Запутанная = очень трудная для понимания.
Второе измерение касается поведения системы и того, насколько легко мы можем его предсказывать:
• Упорядоченное = полностью предсказуемое.
• Сложное = предсказуемое в определенной степени.
• Хаотическое = чрезвычайно непредсказуемое.
Мои трусы устроены очень просто. Нетрудно понять, как они работают. Напротив, устройство моих часов весьма непросто: если бы я разобрал их, то мне понадобилось бы много времени, чтобы разобраться в их конструкции и том, как взаимодействуют отдельные части. И все же ни мои часы, ни мои трусы не обещают никаких сюрпризов (по крайней мере для меня). Это упорядоченные, предсказуемые системы.
Команда разработчиков из трех человек также будет простой системой. Чтобы достаточно хорошо узнать каждого члена команды, потребуется лишь несколько совещаний, совместных походов в кафе во время обеденного перерыва и пара кружек пива. Возьмем в качестве другого объекта город. Очевидно, что город устроен не просто, а запутанно. Таксистам требуются годы, чтобы изучить все его улицы, проезды, отели и рестораны. При этом как команды, так и города будут сложными системами. Как бы хорошо вы их ни знали, сюрпризы неизбежны. Они предсказуемы лишь в ограниченной степени, и невозможно знать наверняка, что случится завтра.