Правило дизайна № 1: Не думайте, что все легко, думая, что система будет легкой, обычно означает, что требования или объем того, что должно быть закодировано, еще не продумано.
Правило дизайна №2: не проектируйте что-либо, а затем передайте это разработчикам и скажите им, что это легко, когда вы еще не написали код или не работали с технологией.
Правило дизайна № 3: Новые технологии - это не серебряная пуля, которая устраняет все ваши проблемы. Все новые технологии имеют проблемы с интеграцией и часто содержат множество ошибок, которые еще не устранены поставщиком.
Учитывая эти правила, действуйте следующим образом:
Определите технические предположения, неизвестные и новые технологии, которые вводятся или рассматриваются.
Подтвердите любые недоказанные предположения - то есть то, с чем вы или команда не работали раньше. Чтение белой книги или пресс-релиза поставщика не считается. Убедитесь, что он работает, прежде чем строить свою систему на нем, если это что-то, что не было сделано ранее или используется по-новому.
Создайте жестко запрограммированный одноразовый прототип для проверки взаимодействия системы, и неизвестные могут быть решены с минимальным количеством обходных путей. Отбросьте любую часть вашего плана, которая не работает, и найдите другой способ сделать это, прежде чем она станет черной дырой, поглощающей вашу архитектуру.