Team Roles and Duties

Admistrative:

• Leader:
Calls team meetings
Sets agenda, establishes milestones
Follows up on attendance and compliance

• Secretary:
Takes minutes of meetings
Handles team correspondence (CC everyone!)
Updates documentation (team web site)

• Researcher:
Conducts literature reviews
Conducts technical investigations
Conducts surveys and interviews

Development:

• Presentation Layer:
UI design
Graphics and other media, design and production

• Logic Layer:
Event-driven programming (variables, conditionals, loops, arrays)
Basic navigation

• Network Layer:
Database design
Web services

Each team member is required to submit reflections on their roles, and the functioning of the team, at the Design Brief and Final Prototype presentations.

For your reference, here's an article about effective teamwork in software engineering:

"Teaching and Assessing Teamwork Skills in Engineering and Computer Science", IEEE Frontiers in Education Conference, 2011
https://www.computer.org/csdl/proceedings-article/fie/2011/06143000/12OmNvKePHA (use the download link in the upper left)