Добрый день, коллеги.
В последнее время бомбит меня на тему тестирования в разработке по Agile.
Саму методику внедряем как можем и не много в этом понимаем, если честно.
Разрабатываем новый продукт. НЕ поддержка и НЕ доработка типовой.
Перечислю тезисно, что вызывает противоречия.
- Методика Agile предполагает быстрое создание прототипа, чтобы проверить идею.
- Задачи на разработку идут от историй, которые “как бы на языке Gherkin в идеале должны писаться”, по факту истории короткие. простор для “творчества” команды.
- За спринт команда должна выдать готовый инкремент. то есть то, что “идет в production”.
Это подразумевает что инкремент закрыт тестами. - Разработчик сам заинтересован сдать свою часть инкремента. Теоретически.
- Время на разработку инкремента с тестами в два раза больше чем без тестов. Мотивация руководителя и разрабов - “тесты потом как нибудь”
- Сделали тестирование готового функционала с запозданием на спринт.
- Самый Главный Заказчик разработки на демонстрации говорит “все не то” и инкремент выкидываем на помойку. А делает он это в 9 случаях из 10.
- Решили тестировать только тот один инкремент из 10 который заказчик принял. Но все равно уже даже после демонстрации и доработок.
- Автотесты на непринятый функционал не имеют смысла. Они конечно падают, но никому нет дела до него, т.к функционал выкинут на помойку.
Очевидно, что мы не умеем готовить этот странный Agile.
Подскажите, как правильно должна вестись разработка нового продукта по Agile?
Насколько подробно должны быть написаны истории?
Что и в какой момент покрывать тестами?
Выкидывать на помойку неудачный эксперимент( + тесты) - это нормально, или лучше без тестов?
Нарастает ощущение, что я совершаю мартышкин труд, никому не нужный и бесполезный…