The party economy
Ok, enough background. If we think about our character classes as characters, our mental models are going to be shaped and limited by other games and other forms of fiction such as books and movies. Authors don't have to worry about Robin Hood being overpowered because he has high levels of both ranged and melee DPS, but game designers do.
Instead, I'd like to propose a much less warm and fuzzy way of analyzing the give-and-take between classes. The natural psychological forces pushing players towards tank-mages and character specialization are relentless, and the barriers we put up to stop them must be equally unromantic and purposeful.
What I'd like to propose is a simple framework for connecting MMO design to economic theories of human behavior, with the intent of providing some useful tools for thinking about class design. I am most assuredly not saying that everything about games can be described in economic terms, or that economic theory can be blindly applied to game design.
What I am saying is that there are some clear analogies to be made between class/party dynamics and some basic economic theories, and that a thoughtful exploration of these analogies produces a useful framework for thinking about class design plus a number of practical recommendations.
The fundamental bridge between these two areas is the idea that any group of characters, from a duo to a hundred-player raid, can be thought of as an economy with the characters serving as both producers and consumers.
There are a variety of "goods" or "products" that the characters create and consume, such as healing, damage, tanking, buffing/debuffing, crowd control, and utility abilities like stealth and summoning. These goods have costs, either explicitly (casting a spell requiring mana) or implicitly (opportunity costs, where every moment you spend casting a healing spell means you're not casting a damaging spell).
Every time a character benefits from what another character does, they're participating in trade with that character. When a tank holds the dragon's attention so that it doesn't attack a teammate, the tank is trading their production of tanky-ness to the other character.
Presumably the other character is producing and trading something the tank needs, such as sufficient healing to keep the tank alive or enough DPS to kill the dragon. Together, the group produces enough of each key commodity (tanking, dps, and healing) to complete their goals as a group.