Agile. You do a waterfall based plan at the beginning (the very formalized operations order) that cascades from the highest level all the way down to the squad level. Operations start and then you iterate.
Most important two sentences in the operations order is the mission and commanders intent: If all else fails, get this done. And this is why.
This leaves lots of room (and expectation) for iteration and innovation along the way as things inevitably get f'd up with a dynamic enemy.
Periodically, you will refresh the opord and start the iteration again. This is practiced ALL the time by combat units at every level through simulations and on the ground training.
Source: was an infantry officer.