В этом могут быть несколько причин:
И не назвал ни одной со стороны исполнителей. А их у нас было немало.
Дело в том, что с ростом объёма проекта начинаешь сталкиваться с такими проблемами, о которых на проектах средних объёмов даже не задумываешься.
Например, управление требованиями. Казалось бы, а что тут управлять. А вот, блин, влипли. Со стороны заказчика было несколько специалистов предметной области. Все переговоры велись по аське (хоть какое-то документирование
). В результате, один говорит одно, сделали, отдали посмотреть, другой сказал другое, исправили, опять отдали посмотреть (через месяц, так как раньше не соизволили), возникает вопрос, а чего так сделали?, так как сказали, кто сказал?, а хрен его знает, кто-то из вас, пошли шариться по аське (песня за кадром: а время, а время, не убавляет ход, а время, а время идёт).
Далее, отдаём штатным тестировщикам. У тех резонный вопрос, а что должно быть, где требования? Ну, тут должно быть так, а тут должно быть так, и начинаем пересказывать все требования, из тех что помним, которых уже на целый том собралось. Думаете тестировщики всё сразу и запомнили? Фиг вам, потестилии пересели тестить другой проект. А на второй версии нашего опять все те же вопросы (за кадром та же песня).
Сюда же, управление изменениями требований. Казалось бы, а нафиг. Заказчик говорит, сделаете такую фичу?, от чего ж не сделать, сделаем. Сколько времени?, да чё там, в базе поле добавить, фигня. Добавили, в требования изменения не внесли. Тестировщики пишут баг, не соответствует требованиям. А ещё хуже, требование противоречит другому записанному ранее требованию. Чешем репу, откуда это поле в базе, фиг его знает, наверно от старой версии осталось, значит сносим.
Общение с заказчиком. Ну что, как проект, да ни чё, делаем, а, ну хорошо. Через месяц, ну что, скоро закончите, да вот, хотели первую часть показать. Да нафиг надо, меня интересует конечный результат, а не промежуточный. Вы мне всё давайте. Ок, как скажете. Через год с лишним. Ну чё, уже полтора назначенных вами срока прошло, где проект. В жопе. А что ж вы делали? А хрен его знает. Мы ничего не записывали, ни простоев по вине представителей заказчика, ни того, что куча времени ушла на пересказывание требований тестировщикам, ни того, что исправляя баг сидели и вспоминали, а какого хрена здесь сделано вот так, а такого, что это где-то в требованиях проскакивало, что и повлияло на решение, сделать именно так, а не иначе. А сложные решения мы не документировали, не, а зачем?, "при академическом подходе проблема на проблеме и проблемой погоняет."