давай не путать дедлайны и date driven development и "контрольные точки и управление".
В творческом процессе ты можешь "совершенствовать" что-то до бесконечности. вместо "дат" в качестве ограничений прекрасно работают измеримые цели. Вместо "увеличить продажи" что может растянуться до бесконечности можно сказать "увеличить продажи на 5%". Это можно измерить и это будет сигналом к тому что "задача завершена".
Можно ставить контрольные точки которые будут создавать для разработчиков "тот самый день сессии что бы добить наконец". Их плюс в том что это лишь контрольные точки что бы определять что прогресс идет и процесс не зациклился на "усовершенствованиях".
Люди как правило не "ленивые сволочи которым лишь волю дай они нихера делать не будут". Это обычно следствие контекста работы (не понятно что делать).
это не проблема софта, я лишь говорю о том что "все сложно". Не надо выстраивать эти цепочки между "код система задача". Есть "проблема и решение". И вот за это платят. Не все проблемы требуют решения в виде написания кода. Не все решения надо вылизывать.
нужно. а еще нужно понимать что в зависимости от того какие тесты и какие варианты существуют. Людям очень удобно иметь 3-4 инструмента на все случаи жизни даже если их есть 50
например - тесты не решают никаких проблем если основная проблема - непредсказуемость реакции системы на изменение. Тесты закрывают только "известные" проблемы. А потому если архитектура и декомпозиция пошла по звезде никакие тесты не помогут
важно понимать что эта дальновидность основана на предположениях и надо уметь искать опровержения этим предположениям. Люди же чаще пытаются найти "подтверждения" и часто попадают в confirmation bias