У нас есть проект, который, как все говорят, мы будем делать гибким способом, но я сомневаюсь, что мы четко поняли, что такое Agile.
В предыдущих проектах у нас были встречи по планированию, затем мы определяли журнал возврата продукта и распределяли работу среди разработчиков в течение 2-3 недель. Каждое утро у нас были скрам-встречи (которые, казалось, продолжались по полчаса каждый раз), и каждый разработчик занимался этим после этого. Вряд ли кто-либо написал какие-либо тесты, пока в конце спринта не было добавлено работы, которая не была завершена, к следующему спринту.
Разработчики почти не разговаривали друг с другом, и в разработке не было никакого TDD. Фактически, у большинства разработчиков была спецификация в начале, и они продолжали заниматься ею в течение 2 или 3 недель, для которых был организован спринт. С клиентом / держателем кола почти не было общения.
QA обычно включались несколько месяцев спустя, и к тому времени мы обнаружили недостающие требования, которые еще больше увеличили объем работы, которую мы должны были выполнить. Очевидно, что обратной связи не было.
Итак, мой вопрос: где мы ошиблись и как я могу предотвратить то, что команда допустила те же ошибки?