I really agree with all the points made, and wanted to add to Sam's post regarding our team.
I think most teams have the issue of having a lot of people initially joining and then many people leaving after the first few weeks. Some people leaving is just natural, as they are trying out some things that they don't know if they will like, and later realize that they don't like it too much. However this year we have had more dedicated members than ever before and I think we can attribute it to a few factors:
1.)
Things to do - As obvious as this may seem, we didn't really implement it much prior to this year. People would come into the lab - and wouldn't be given anything to do, so then they would just leave and not come back thinking its not their place. This year, we restructured our team, allowing for centralization, and therefore the head always knowing what there is to do and effectively communicating this. We were able to undertake a re-doing of the room, and completely organized the lab for the first time in a while. We also had the offseason bot project. Now we are looking at effective scouting methods and developing outreach. Basically, there is always something to do and something going on.
2.)
Opportunities to gain leadership - Going along with the earlier point made regarding restructuring our team, we were previously extremely mentor involved. This year, we for the first time, had a lot of student leadership. This has motivated lots of people to learn what they want and become a student leader in it, and guide the next generation of students.
3.)
Teaching - often people see that we are building a robot and get intimidated thinking they have no engineering background and can't help the team. This is a responsibility of the mentors on most teams, however even student leads can help out. Make sure people know what they are doing, and that you are always open to as many questions as anyone can ask.
4.)
Making Sure Students Know About FRC - While this may seem obvious, many new students don't know what FIRST is, or what the goals are. Like Sam said, we held a keynote type meeting in the beginning of the year breaking down how there is a new game every year, and what the time frame of the year will look like. We also went into detail of how there are opportunities to do things in non-technical roles like business, marketing, media, scouting, and outreach. We make sure kids know about all these aspects and how we have a variety of skills they can be involved in.
My first year, wouldn't even be called a year. The structure made it hard for me to understand everything I could do, and I was hesitant to "really" join because of lack of skill in engineering. I didn't even know FRC had different yearly competitions until the end of build season (I thought we were building for fun and made a deadline to help us get it done faster). I didn't know what scouting was, and I only came by every once in a while to help clean up. After realizing how ill-informed I was - I was on the verge of quitting. It all seemed too intimidating and I wanted to leave. But because the team was so encouraging I was motivated to stay, and learn everything I needed to, to make up lost ground and became a team leader. After noticing what I mentioned above, I worked with the team in fixing those problems, and now we have such a great turnout. (Everything mentioned happened last year

).
Let me know how everything works out!