One of my favorite sections of the Teen Programming Guidelines (is it nerdy to have favorite sections?) is "Align programs with community and library priorities." But you have to be deeply involved with community agencies and activities in order to be ready to act on the community's priorities as they arise. This sounds obvious (and it is!), but it's taken me a few years to figure it out.
Several years back my coworker and I began working with the Seattle Youth Employment Program (SYEP). SYEP is a city agency that places youth with barriers in paid internships in a variety of environments in city government and the private sector. It also provides them with job training and academic support. We worked with SYEP staff to design a curriculum that would build the interns' digital and information literacy skills. We were sometimes surprised by the needs identified by SYEP staff and the interns' employers: touch typing, for example, and basic MS Word. We learned a lot about putting our own assumptions aside.
This year, Seattle's mayor put forth a huge Youth Employment Initiative in which he asked SYEP to more than double the number of youth placed in jobs over the summer. Suddenly, the community had spoken: youth employment was a major need. Because we already had an ongoing relationship with SYEP, the library was poised to expand the partnership to serve more youth with our trainings. We also helped in other ways, like providing meeting rooms for SYEP staff trainings. Next summer, the mayor intends to make the program five times larger than it is this year (eep!), which will present a huge opportunity for library involvement.
Of course, being in the right place at the time is always partly a matter of luck. But you can't be lucky if you're not out there.