Ответ
Один из провалов — недооценка сложности интеграции платежного шлюза в мобильное приложение. Мы планировали завершить за 2 недели, но из-за недокументированных API и различий в обработке ошибок сроки выросли до месяца.
Что пошло не так:
- Не провели детальный анализ API перед оценкой.
- Не учли время на тестирование edge-cases (например, expired cards).
Как исправили:
- Добавили этап Proof of Concept для интеграций.
- Внедрили автоматические тесты для ответов шлюза.
Пример кода (тест на ошибку 400):
def test_payment_gateway_error_handling():
response = process_payment({"card": "4111", "amount": 100})
assert response.status_code == 400
assert "Invalid card" in response.json()["error"]
Вывод: теперь всегда запрашиваем sandbox-доступ к API до старта работ.