Ответ
На последнем проекте ТЗ формировалось итеративно с участием стейкхолдеров (заказчик, продукт-оунер, разработчики, тестировщики).
-
Сбор требований:
- Интервью с заказчиком для выявления бизнес-целей.
- Анализ конкурентов и аналогичных решений.
- User stories и use cases от продукт-оунера.
-
Детализация:
- Разбивка на эпики и задачи в Jira.
- Уточнение критериев приемки (AC) через воркшопы.
- Прототипирование UI/UX в Figma для наглядности.
-
Валидация:
- Проверка на реализуемость с архитектором и командой.
- Приоритизация через RICE-метод (Reach, Impact, Confidence, Effort).
Пример:
# Пример критерия приемки для задачи "Онлайн-оплата":
def test_payment_success():
assert process_payment(amount=100, card="valid") == "Success"
assert process_payment(amount=0, card="valid") == "Invalid amount"
Финализировали ТЗ в Confluence с подписью заказчика. Документ оставался живым — дорабатывали по мере появления новых инсайтов.