The whole digital is a poorly predicted development. I will immediately agree that when there is a detailed TOR and we are at the programming stage, it is somehow easier: there is no waiting for the Customer, although there is an acceptance and potential loss of time.
The solution to this problem is planning in short periods. We use weekly planning: before Friday afternoon, managers send requests for resources by people and projects, while the production manager and the technical director allocate resources.
To account for force majeure, we use the "7+1" and "fireman" technologies. The first is to allocate an hour per day for minor adjustments/refinishing/consultation, and seven hours for basic work as planned. "Fireman" is a programmer on duty at least at the middle level, who deals with all force majeure, so as not to distract others.
The system is based on Bitrix24 (there is little left of it 😊). It should be noted that weekly planning does not cancel the general plans for the project, as well as quarterly shipping plans.