Мы внимательно слушаем заказчика и понимаем, что для него важно, что является критичным, а что второстепенным. Понимая цели, мы можем предложить разные варианты решений по функционалу и цене.
Не всегда понятно - как оптимально решить какую-то задачу. Бывают задачи, которые вообще не ясно как решать и они требуют фазы исследований чтобы понять:
Обычно эта фаза делается до старта технологически сложного проекта с целью снять риски.
Бывают разные проекты и для них используются совершенно разные подходы:
Обычно мы используем одну из agile методологий, которую адаптируем под специфику работы с конкретным клиентом.
Практически всегда процесс работы над проектом делится на итерации (спринты), итерация длится 2-3 недели.
На итерацию клиентом и командой ставятся цели и планируется определенный набор задач.
Результаты итерации передаются клиенту в виде релиза продукта, с которым клиент может поработать.
Этот подход позволяет клиенту постоянно быть в контакте с командой, отслеживать прогресс и корректировать результат в нужную сторону.
Наши инженеры по качеству составляют чек листы - списки всех кейсов, которые необходимо проверить.
Само тестирование может быть ручным, а может быть автоматизированным. Выбор того или иного подхода зависит от цены и от следующих параметров:
Есть специальные виды тестов, когда мы тестируем продукт на разных конфигурациях ПО и железа, под различными видами нагрузки, прогоняем разные сценарии работы одновременным числом пользователей.
При определенном уровне требований к защите информации мы проводим автоматизированное тестирование на проникновение для каждого нового релиза.
Мы решаем некритичные вопросы, возникающие в созданных нами системах, обычно в течение 1-2 дней. В случае критичной проблемы возможны ситуации немедленного реагирования, например, в случае сбоя работы сервиса с большим числом пользователей.
Но обычно для таких сервисов мы настраиваем системы мониторинга различных параметров среды и автоматического восстановления в случае сбоя.