Сбор требований
Cбор требований - первый этап разработки любого проекта. В этом стриме я хочу поделиться особенности сбора данных от бизнес-заказчика. Рассмотреть варианты сбора бизнес требований, функциональных и нефункциональных, а так же инфраструкткрных
Сбор требований
Duration: 20
- Заказчики системы (stackholders)
- они не обязаны знать чего хотят
- они не обязательно могут объяснить чего хотят
- Функциональные, нефункциональные и производные требования
- Инфраструктура (среда развертывания)
- Архитектурные кандидаты
Общий алгоритм:
- все вместе (три слоя, один этап развертывания)
- выносим БД и морду
- делаем оптимизацию БД (вертикальный рост)
- делаем репликацию, шардинг
- делаем кэширование
- делаем балансировку нагрузки
- уходим от трехслойки
- позволяет жить проекту (и архитектору) 3 года, а то и больше
Правила:
- Архитектурные элементы (обязанности, ограничения, интерфейсы)
- Правило 2 из 3 «быстро, качественно, недорого»
- Антипаттерны (все хранить в голове, не вести документацию, недостаточная или наоборот избыточная детализация, копирование, подражание великим, неполный технологический процесс)
Принципы построения проектов на начальных стадиях
Duration: 20
- Причем здесь архитектура (разве архитектура – это не стрелочки и квадратики?)
- Закон Конвея
- Основные подходы: разделение проблем, управление сложностью, упрощение коммуникаций
- Основные проблемы: фрагментация, ошибка проектирования, несогласованность, суперфункциональность
- Простые способы документирования
- Открытость к изменению и привлечению новых разработчиков
- Построение правил и соглашений
- Итеративность разработки, каскады, цикличность
- Короткие шаги
- Почему не помогают KISS, SOLID, GRASP и т.д.
Распространенные архитектурные подходы
Duration: 20
- pipes and filters
- Client/Server
- Peer-to-peer
- Layers и Tiers
- Publisher/Subscriber