Our team previously had a Captain and Co-Captain. The Captain was a senior, the co-captain a junior. The Captain would pick the co-captain, and the following year, the co-captain would become the captain.
However, the cycle got completely screwed up when we didn't have any students in the junior class last year. Then, the sophmore who was chosen to be co-captain ended up leaving the team. So basically we were left with no leaders at the beginning of the season.
Obviously, the team was wondering who the captain would be. Some people wanted one of our two teacher advisors to pick. However, they both left the team as well. Then we found out most of our J&J mentors were leaving, so they wouldn't be of much use.
I pushed hard for student elections, and they eventually happened. We had a meeting where people could nominate others for the different positions. A week later, we distributed a ballot, and everyone voted. We also re-structured the team, so that we now have two co-captains.
It's been an interesting process.
(Oh, and I won the first-ever democratic roboraiders election

hehe)