The team should be cross-functional – it should have people with different functional expertise working together to deliver the project.
The team doesn’t necessarily need to be static. If a particular skill is needed on the team, someone with that skill can join the team. If a persons expertise is no longer required on the team, that person can be reassigned.
For example a team can be made up of developers, business analysts, database admins, a project manager, a UX expert and so on. This is as opposed to having a separate team of business analysis team, development team, database team, QA team, UX team and so on.