It works with agile. You just have to sandbag a bit. Doesn't have to be 3months in an agile organization, just work for a sprint, then tell manager that's your plan for next sprint. If they change plan, you'll naturally have a 1 sprint slip, and in Sprint 2 you plan the previous sprint's worth. Or do this on the week or day level.