Пишем раздельные ТЗ: одно описывает UX (опыт пользователя при работе с ЛК) и логику работы, второе — взаимодействие с внешними системами Заказчика: 1С, ERP, AXAPTA, SAP-системы и так далее.
Наша команда взаимодействует с IT-службой Заказчика и выясняет: есть ли API или его надо писать, меняемся ли данными через запросы или сервер очередей (RabbitMQ, ZMQ). При необходимости используем Swagger для создания API — сегодня это становится стандартом, например, в нашем проекте с Ростелекомом.
После проектирования мы проводим аудит архитектуры: нет ли избыточных или неполных запросов, будет ли система работать быстро?
Производство: схема разработки, контроль версий, автотесты.
В процессе написания техзадания мы формируем схему блоков сайта с зависимостями: это позволяет программировать поэтапно, а также давать параллельные задачи программистам.
С помощью системы контроля версий на проект можно поставить сразу несколько программистов, причем их изменения легко отслеживать. Эта же технология применяется и при дальнейшей поддержке сайта.
Сдача проекта: автотесты, нагрузочное тестирование, ПМИ
Мы пишем специальный документ: программу и методику испытаний. По ней проводится сдача системы. Также при сдаче проекта мы пишем автотесты (Selenium), далее в Allure смотрим наглядные отчеты по их прохождению.
Нагрузочное тестирование выполняется на сервере Заказчика, мы используем Яндекс.Танк и еще ряд сервисов.