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