2) Вторая проблема — наоборот слишком формальное расписывание текстом каждой функции отдельно, без проработки связей между ними и представления «а как это в итоге будет работать». Часто такое ТЗ составляется самим исполнителем, по итогам расспросов клиента и на основании его пожеланий. Но в итоге получается громадный многостраничный документ, по которому и сам заказчик не может четко сказать, а то ли это, что он представлял или нет. Часто клиент соглашается с этим тз, не изучив его полностью, потому что в целом речь о чем то похожем, а вникать в 50+ страниц А4 не тянет. Тем более, что представления о продукте по такому описанию часто не возникает, и, как и в первом случае, кажется, что описано все что нужно и как нужно. По крайней мере сразу не всплывает мысль, что что-то не так. Хоть такой случай и намного менее страшен, чем первый, но с учетом того, что в проработку такого ТЗ уже вложено немало сил, и кажется, что ну теперь то «всем все понятно», то что в итоге получается не то, что ожидалось в голове — еще обиднее.
нарастающий технический долг, увеличивающая стоимость поддержкиЕсли проект из Software, то изначально проектировать нужно не монолит =)
Тогда каждая доп фича/ сервис будет легче в реалищации...
Во многих случаях да, но все же в первую очередь стоит смотреть на адекватность решения задаче. Например если компании нужно только только запускать екоммерц, шишки в нем еще не набиты, и нет понимания что конкретно у них там будет работать, а что не так уж и нужно. То намного разумнее купить даже, прости господи, лицензию монолитного битрикса и поработать с готовой системой, чем городить сразу огороды с собственными микросервисами, какими бы гибкими они не получались.