Bottlenecks
To avoid limitations during project evolution, it is necessary the identification of those processes that limit the proper consecution of objectives for the lack of resources.
You need to be ready to adapt your strategy and make the necessary changes when you find out that something about the current situation is wrong. As in many other situations, it becomes clear that we need to take an agile stance. As software developers we need to be ready for change, caused by new insights of stakeholders, or the experience of a bottleneck in the current process. Continuously look for clues that indicate bottlenecks, teams frequently blocked by others, etc.
The one rule that matters is maximising our ability to frequently deliver value to customers.