I remember Agassi playing Federer in Basel, Switzerland in 1998, and Andre was already saying at that time that Federer would be tough. Usually at the time players are 17, you can see if they will be great. ↗
Roddick can challenge him as well if he serves big consistently for the entire match. If he does that, then he is tough to break even for a guy like Federer. ↗
You never know how long Federer is going to play, but in my opinion he has at least one or two more grand slams to win. It depends how long he stays motivated. For me, he is the greatest player to ever play the game. ↗