168  

По возможности избегайте наличия в системе единственной критической точки неудачи. Если функционирование вашей системы зависит от критически важных входных элементов или процессов, то стоит создать план действий на случай, если эти элементы недоступны, а рабочие процессы нарушены. Что произойдет, если откажет ваша основная система?

Заранее планируйте механизмы обеспечения бесперебойной работы для всех важнейших систем, и они станут настолько гибкими, насколько это возможно.

Тестирование в условиях стресса

Человек не в силах избегать ошибок, однако он способен учиться на ошибках и обретать мудрость для будущей жизни.

Плутарх, древнегреческий историк, писатель

Предположим, вы создали гибкую систему, однако хотите убедиться в том, что она действительно работает так, как вам надо. Каким образом вы могли бы ее протестировать?

Тестирование в условиях стресса представляет собой процесс определения границ системы с помощью имитации определенных условий среды. Вместо того чтобы мыслить, подобно инженеру системы, вы (с помощью тестирования в условиях стресса) выступаете от имени «демона-разрушителя». Вы задаетесь вопросом: что нужно сделать, чтобы разрушить созданную вами систему?

В самом начале работы над «Сам себе МВА», каждый раз, когда я загружал новую версию списка рекомендованной для чтения литературы, мой веб-сервер «погибал с музыкой»: система просто не справлялась с наплывом людей, пытавшихся зайти на мой сайт. Я несколько раз выбирал новые системы, но каждый раз их мощностей было недостаточно.

Проблемы с сервером продолжались до тех пор, пока я всерьез не задумался о тестировании в условиях стресса. Вместо того чтобы ждать притока посетителей, вырубавшего мой сайт, я решил намеренно «разрушить» свою систему.

С помощью автоматизированного инструмента3 я имитировал огромное количество посетителей, одновременно заходящих на мой сайт. Этот инструмент последовательно увеличивал количество обращений к сайту и рассчитывал время отклика. По мере роста количества обращений производительность сервера снижалась до тех пор, пока он не рухнул.

С помощью данных тестирования в условиях стресса я произвел целый ряд значительных улучшений инфраструктуры и системы сайта. Теперь тысячи людей могут одновременно посещать мой сайт, практически не мешая друг другу.

Стресс-тесты помогут вам лучше понять, как работают ваши системы. Если вы занимаетесь производством, то могли бы имитировать одновременное поступление тысячи заказов и проверить, сможете ли вы с ними справиться. Если вы занимаетесь поддержкой пользователей, то можете имитировать одновременное поступление тысяч вопросов или жалоб. Ваша способность к тестированию ограничена только временем и воображением — позвольте своему внутреннему демону вырваться на волю и решите все основные проблемы до того, как они помешают вашим реальным клиентам.

Планирование сценариев

Благоразумный видит беду и укрывается, а неопытные идут вперед и наказываются.

Книга притчей Соломоновых, 27:12

Никто не способен предсказать, что случится завтра, не говоря уже о том, что произойдет через десять лет. В сущности, многие ваши планы и цели зависят от обстоятельств, находящихся вне вашего локуса контроля. Что вы можете сделать, чтобы подготовиться к неопределенному будущему?

Планирование сценариев представляет собой процесс систематического построения набора гипотетических ситуаций, а затем ментального моделирования того, что вы будете делать при их наступлении. Вы можете не быть провидцем, однако процесс моделирования, противоречащего фактам, наделяет вас потрясающей способностью: вы в состоянии представить себе события, которые могли бы возникнуть, а затем определить, что бы вы делали при их наступлении.

Планирование сценариев — это детальный, тщательный и систематический процесс моделирования, противоречащего фактам, применимый в отношении наиболее важных решений. Этот процесс всегда начинается с простого вопроса: «Что бы я сделал, если бы..?» Часть, связанная с условием «если», как раз и представляет собой «противоречие фактам» и заставляет ваши мозги работать по-новому и представлять себе возможные варианты действий в тех или иных обстоятельствах. Записав их, вы сможете определить, какой вариант для вас более предпочтителен или реализуем.

  168  
×
×