A cross-functional team, by definition, has all the skills needed to deliver a complete piece of value without depending on people outside the team. The definition is simple. Actually building a team that meets it, and keeps meeting it as work evolves, is considerably harder than the definition suggests.
Why the concept exists
Traditional functional organization (separate design, development, QA, and operations teams) creates handoffs between every stage of delivering value, and each handoff is an opportunity for delay and diffused accountability. A genuinely cross-functional team eliminates these internal handoffs by having every needed skill within the team itself.
Where it gets genuinely hard
Specialized or scarce skills don't divide evenly across teams. An organization with one security specialist can't simply assign that person fully to every team that occasionally needs their expertise.
Team members resist genuine breadth of skill development. True cross-functionality benefits from team members who can flex across multiple skill areas, not just a team containing one of each specialist. Building this breadth is often resisted by individuals who've built professional identity around a narrow specialization.
Organizational structures built around functional reporting lines create friction. A team member who reports, for career purposes, to a functional manager outside the team faces real tension between the team's priorities and the manager's separate expectations.
Team size can balloon trying to cover every skill. Attempting to include a dedicated specialist for every conceivable need can produce an unwieldy, oversized team struggling with its own coordination.
What actually makes it work
Organizations that succeed tend to accept pragmatic compromises: a small number of scarce specialists genuinely shared across teams, sustained investment in T-shaped skill development, and reporting structures realigned to match team structure. The honest goal is "good enough cross-functionality to eliminate most external dependencies," not a theoretically perfect team that never needs anyone outside itself.