How do you analyze unexpected technical roadblocks, budget constraints, or shifting client requirements?