"Все нужно делать как можно проще, но не проще простого."
Альберт Эйнштейн
Простота - одно из главнейших звеньев цепи. Один из наиболее эффективных инструментов. Именно ее я поставил во главу своей системы достижения результатов Agile Results, которой я пользуюсь более десяти лет.
И я утверждаю, что простоте не уделяют должного внимания. Как правило о ней вспоминают в последнюю очередь, когда уже слишком поздно.
В книге "Простые архитектуры для сложных корпоративных систем (рекомендации разработчикам)" Роджер Сешенс делится идеями о том, как простые решения могут в корне решить огромное количество проблем, созданных сложными решениями.
Для сложных проблем не нужны сложные решения
Простота - единственное, что действительно работает.
Да, проблемы бывают сложными. Но сложные проблемы не требуют сложных решений. Напротив! Основная мысль этой книги в том, что только простые решения помогают при сложных проблемах. Дело в том, что сложные решения слишком сложны."
В простоте панацея от сложности
Звучит банально, но это правда. Вы не сможете решить проблему на тот же уровне сложности, на котором вы ее создали.
Противоядие от банальности - в простоте. Замените сложные решения простыми и вы пройдете три четверти пути к успеху. Хотя заменить сложное на простое бывает непросто...
Ориентируйтесь на простоту
Чтобы добиться простоты, нужно сделать ее ключевой ценностью.
Прежде всего нужно придерживаться простоты как основного критерия. Мы часто говорим о важности гибкости, безопасности, производительности и надежности информационных систем как основных требований. Мы должны возвести простоту на тот же уровень важности, чтобы обеспечить все эти условия. Наряду с безопасностью, производительностью и надежностью нужно знать как сделать архитектуру простой. Более того, я утверждаю, что простота гораздо важнее всех прочих характеристик, она стоит над ними. Во многих смыслах это настоящая волшебная палочка.
На примере безопасности
Сложные системы снижают безопасность.
Возьмем, к примеру, безопасность. Ее нетрудно обеспечить для простых систем, если они в ней нуждаются. С другой стороны, часто сложные системы, которые вроде бы защищены, таковыми не являются. А если сложные системы не защищены, то сделать их простыми или обеспечить их безопасность практически нереально.
На примере гибкости (Agility)
Сложность работает против гибкости, а гибкость - ключ к созданию решений с длинным сроком службы.
Если говорить о гибкости, простые системы с минимальным набором хорошо продуманных взаимодействий можно сочетать совершенно новыми способами, которые не были предусмотрены при создании этих систем. Сложные системы невозможно использовать гибко. Они слишком сложны для этого. И, конечно, снова сделать их простыми также невозможно.
Никто не рассматривает простоту как ключевой параметр
И в этом и заключается проблема.
Несмотря на то, что простоты является главным условием системы, ее никто учитывает при планировании, развитии или анализе. Недавно я провел серию перегоровов с более чем сотней топ-менеджеров разных компаний из разных стран. В каждой встрече я спрашивал аудиторию, рассматривал ли кто-нибудь простоту как критическое свойство какого-либо проекта, в котором он участвовал. Никто этого не делал. Никогда.
Вечный поиск
Погоня за простотой не заканчивается никогда. Это нескончаемый процесс, а не одноразовая акция.
Движение к простоте происходит постоянно. Даже системы, которые создавались простыми (что бывает очень редко), постоянно испытывают давление усовершенствований. Небольшое улучшение производительности здесь, небольшое улучшение взаимодействия там, и вы не успеет оглянуться, как превосходная и простая два года назад система превратится в сложного монстра, в котором невозможно разобраться.
Простота - это меч, который прорубает путь через сложности ... в работе... в жизни... в системах... и экосистемах.
Применяйте его мудро.
Опубликуйте ваш комментарий