A DreamTeam is a team made up of superstars. The term was originally referred to the 1992 US Olympic basketball team. [I believe, although I am not certain, that the term actually originated with the creation of the NY Yankees, who poached all the best players at the time]
This team consisted of Hall-of-Fame professional NBA players (and one college player), many of whom were in their prime years:
The term has recently been used to describe mere all-star teams.
Some managers would like to have a DreamTeam assigned to their project, but the inescapable fact is that most people and teams are somewhere around average. It is not reasonable to expect superstar performance from all teams all the time.
Many managers pay average salaries, but convince themselves they have top-drawer talent. The software industry is like Lake Wobegon; where all coders are AboveAverage?
A set of exceptional individuals does not necessarily make for an exceptional team; "chemistry" and other factors determine how well they will work together.
The problem with a DreamTeam is that software development is not like basketball. Having a bunch of your best developers dedicated to a single project can cause turmoil as the best fight amoung themselves to become "the best of the best". Comparing again to sports, many of the dynasty teams are not made up of all superstars, but had a few great leaders and/or superstars.
A bad environment can kill a DreamTeam or even a DreamTeamMember?. It does not matter how great someone is if their head is being held under-virtual-water.
What really is bad is when managers want to hire someone in cheap, so they hire a newbie to mid-level person, expect senior performance, give no support, then some members become anti-supportive towards the newbie, and try to push him or her out of the team. (Anguished yell for justice).