I think programs that keep young people busy and involved are very good at discouraging involvement in gangs. As a general rule, when teenagers are having problems at home they tend to go elsewhere for moral support, encouragement, involvement, and recognition. Family life is very important to produce happy, stable, and secure teens. So, anti-gang programs need to either help stabilize the home environment for these kids or else provide them with an acceptable substitute.
Religious and law enforcement organizations are wonderful for reaching out and gathering in troubled kids. Other organizations, like the YMCA, Job Corps, and the Junior Achievement give kids something to do, make them feel needed and important, give them a sense of identity, and keep them off the streets. Some colleges and universities even have programs that enable kids to finish high school while getting college credits.