'''What is a Study Group?''' A study group is a regular meeting of individuals who select a book to read and discuss. It is an excellent way to improve technical, project management, and communication skills while getting to know team members from other organizations. Very often it is difficult to maintain a consistent self-study program to keep yourself abreast of new technologies and methodologies, but when working with others to achieve the same goal a support network gets formed that helps everyone achieve their learning goals. Some examples of books that have been used in study groups I've conducted are: * RapidDevelopment, by SteveMcConnell, ISBN 1556159005 * Inside COM, by Dale Rogerson, ISBN 1572313498 * Core Java, by Cornell and Horstmann, ISBN 0130819336 * CodeComplete, by SteveMcConnell, ISBN 1556154844 As you can see these range from very technology specific topics to overall software development process topics. '''Starting a Study Group''' Interested in starting a study group? First, make sure you have the time available to coordinate a study group; this typically involves about an hour per week in addition to the time you spend studying. Second, ask a few other developers to gauge interest in the topic (you may not find much interest in learning 68000 assembly language). Finally, schedule a kickoff meeting to get things rolling. Often this can be done via e-mail; include an overview of the topics and goals for the group, the book (or set of candidate books) to be studied, and a time and location for a kickoff meeting. If you know which book will be studied, it is a good idea to include a link to an on-line bookstore to make it easy for people to learn more about some of the specifics and read some reviews. Two such sources are http://www.amazon.com and http://www.fatbrain.com. It is a good idea to set up a distribution list of people interested in the group to facilitate setting up rooms and sending e-mails. While we're on the topic of rooms, for non hands-on study groups (such as ''CodeComplete'' or ''RapidDevelopment''), pretty much any conference room will do. For hands-on study groups, it is a good idea to use a room where you can do some interactive demonstrations with real code. '''Conducting a Study Group''' The key to running an effective study group is keeping a balance between formality and informality. It is a good idea to keep the group size under 10 to maximize participation. If you start with more, don't worry since early attrition is fairly common. One recipe for success is to designate 2 people each week to be responsible for summarizing the material. Group members inevitably fall behind and this format ensures that someone will be able to summarize the reading. This also gives all group members the opportunity to present summaries and opinions and improve their presentation skills. A sample timeline for a 1 hour study group might be like this: 1. 12:00-12:10 Get acquainted and wait for stragglers 2. 12:10-12:20 First presenter presents summary 3. 12:20-12:30 Discuss and debate the material 4. 12:30-12:40 Second presenter presents summary 5. 12:45-12:50 Discuss and debate the material 6. 12:50-13:00 Wrap-up and plan for next week This is just one way to set up a group. A hands-on group that is doing on-line demos might have a completely different layout. Some groups have assigned one person to do the demo and another to summarize the chapter content. Feel free to make up your own rules, but experience has shown that some amount of structure helps. Without at least one person assigned to present the material from week to week and without a commitment by all members to participate, it is very difficult for a group to succeed. It is also extremely important to share the burden of presenting among all the members. Don't let your group turn into a class with one person doing all of the presenting! --ChrisBrooks