Volunteering is an excellent way to acquire new skills and expand into different areas. There are some limitations however.
Most organizations that would benefit from volunteers are small and have no formal business analysis structure or methodology. This means getting strong Agile experience can be difficult, unless you find a start-up of just the right size (maybe 40-50 people). However, at this size they start wanting more than 10 hours a week from a volunteer. So it can be difficult while trying to hold down another job. That doesn't mean the opportunity don't exist, just that they may be tough to find.
Smaller start-up organizations will be more open to 10 hours of volunteer help a week as long as you can be reliable and commit to a stretch of 6 months or so for business continuity. The nice thing is you can literally steer the experience in whatever direction makes sense for you. So this might be the path for you to pursue. For example, you may be able to help put formal process management in place with an inexpensive process management software solution. This would be a big win for a small company. You also could try to establish your own agile development project. Even if it's not adhered to 100% you could get hands on experience with createding a product backlog, a few user stories, and planning sprints. Just realize that in such a small company adhering to an actual sprint schedule is unliklely. But still great experience, just be flexible [or agile ;) ]
brought to you by enabling practitioners & organizations to achieve their goals using: