A Scrum Development Team is optimally comprised of seven plus or minus two people and responsible for committing to work, delivering and driving the product forward from a tactical perspective.
For software development projects, the Team Members are usually a mix of software engineers, architects, programmers, analysts, QA experts, testers, UI designers, etc. This is often called "cross-functional project teams". Agile practices also encourage cross-functional team members.
During a Sprint, the Team self-organizes to meet the sprint goals. The Team has autonomy to choose how to best meet the goals, and is held responsible for them. The Scrum Master acts as a guardian to ensure that the Team is insulated from the Product Owner. Scrum also advocates putting the entire Team in one team room.