Just a thought with a caveat that I’ve read up on these, but not used them.
Have you considered using the Team Task (I hope I referenced that correct) concept for the work tasks. It sounds like a core component of the problem is that any of the tasks can be done by either team, but it also sounds like you are trying to pre-assign the work.
With a team task, all resources in the team have access to team tasks and can assign themselves. Once taken though, the task can’t be taken by another team resource. So basically, it appears to be dynamically assigning tasks from a pool of open work tasks.
Using the Team Task concept may simplify the solution in the following manner:
* You simply establish two team calendars following each team’s 10 day on and 4 day off cycle. No need to try to figure out overlaps.
* You don’t need to worry about pre-assigning tasks to the teams, they do this dynamically. So on any day, each team sees the list of unassigned tasks and they grab tasks from that list each day or as new work is needed.
Potential downside; I’m not sure how this would impact your ability to schedule target dates other than using an agile-like iteration approach to estimate the number of cycles to get all the work done. It may also require Project Server if dynamic assignment is done thru a PWA window such as the MyTasks window. I’m also not sure how much central control is needed, but maybe that can be overcome by a daily work assignment meeting where you and the teams assign the days work.
Again, not having implemented this, it may be an alternative to look into.