real startups have people working 16+ hours a day on the startup. This is a class, people will not work 16+ hours a day to get this out the door.
I do think you can take a similar approach, and break the groups up in to 7 groups of 3 to work on the initial design of the product an 1 group of 4 to present the various designs to the customer, have the customer choose one, then split the product up into roles.
4 managers, 3 visual designers, 3 user interface designers, 3 user researchers, 3 developers, 3 database experts, 3 QA people, and 3 back ups to take over the work that other people drop.
The people in roles should spend time working as a team on their part of the product and also interfacing with teams in the other roles. It will be quite a class that brings together all of those skill sets, but even if it is a programming class it would be good to get experience "working" in one of the other roles to get some perspective on what they do.
This is the way a large company works, though. Or at least a mid stage startup, not a new small startup. Good luck!