Сбор требований

preview

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