I'd say Agile methodologies have done well in exposing the key factors for successful delivery, and they seem not very amenable to generalisation: - creative endeavours such as software creation are fraught with estimation difficulties (contrast, say, with migrating VMs from on-prem to cloud) - whoever prioritises / deprioritises features will have a large say in the accuracy - whatever technologies imposed/chosen will have a reasonable say in the accuracy - whatever architecture decided on will have a reasonable say in the accuracy - unforeseen requirements that may necessitate architecture / tech / people changes have a large say in the accuracy - individuals' skills in a team will have a very large say in the accuracy - how long a team has worked together / in an architecture / with a technology will have a very large say in the accuracy
We know all this. What can we learn? Genuine question.