If you want to be agile, the first tenet is "Every project needs a slightly different set of policies and conventions, or methodology." People's attitude toward communication, user involvement, and frequent releases is more important than the specific process you use.
To summarize, if you are a novice in the field, and you really want specific advice, consider these recommendations.
If you are a lone programmer, use the XP practices that are suitable for you.
If you are a small team (two to eight people), consider using XP and introducing XP practices in small bunches, each bunch every two to three weeks.
If you are in charge of a bigger team (eight to 20), consider using Scrum or Crystal as a high-level process "container," together with the XP practices that you deem sensible to use in your project.
If you don't want to give up what you were taught (and maybe you are doing well) about OO modeling or code ownership, consider FDD, regardless of the size of your team.
If the team is even bigger than 20 people, again consider Scrum, Crystal, or FDD, depending on your needs and preferences.
In the end, when you become accustomed to agile methodologies, you'll be able to devise and tune your own methodology, one suited for your team and the specific project.