Depending on the circumstances (number of obstacles, mission size/duration, etc) sometimes it's easier to break up the missions to exclude the obstacles. Like 'end' your first mission right before the 1st obstacle; then the 2nd mission starts immediately after the obstacle and continues until the next obstacle, and so on, programming as manh missions/flight routes as it takes to complete your overall 'mission'...
Also, depending on mission parameters etc, you should be able to 1) manually pause (literally push the pause button) the mission upon approaching the obstacle, 2) manually fly around obstacle, 3) unpause mission, where the rc will ask if you want to resume automated mission from break point or from current location (you would choose current location, making sure you "skipped" as little of the mission/flight path as possible to avoid the obstacle), 4) resume mission as planned until the next obstacle where you would do the same.
You could also add specific waypoints to avoid the obstacle.
It sounds like the obstacle positions/locations frequently change - if this is the case i would recommend just pausing to manually avoid obstacle, then resume mission after manual avoidance.
Programming wouldn't be very efficient if you had to reprogram every new flight bc the obstacles had moved.
I hope this makes sense and helps you - if i can clarify please lmk.