How to Plan and Execute Programs without Shooting Agile in the Foot