Your points are all good tips on how to run a 'proper' dev shop.
I was more cynically referring to big consultancies that intentionally complicate/delay a mission critical project in such a way that every time the new budget runs out just enough progress has been made to make the business decide to throw another couple million at it hoping to finally get a product delivered.
I was more cynically referring to big consultancies that intentionally complicate/delay a mission critical project in such a way that every time the new budget runs out just enough progress has been made to make the business decide to throw another couple million at it hoping to finally get a product delivered.