How do you truly grade an NFL draft class?

Easy. Wait three years.

In an era of everything right now, it's unfair to truly judge a draft class days after the draft is concluded. But we all do it.

That's why I always go back and regrade the draft and my own immediate grades from the draft three years after the fact.

It's the only fair way to do it. So this is a regrade of the 2017 NFL Draft, one that saw the league's best player taken by the Kansas City Chiefs when Patrick Mahomes went 10th overall after the Chiefs traded up to get him.

Mahomes led the Chiefs to a Super Bowl victory a little over two months ago, validating the move.

It's why the Chiefs get an A+ in their regrade.

The only other team to earn that mark was the New Orleans Saints. Six of the seven players they took are on the roster, with five penciled in as starters, including corner Marshon Lattimore, right tackle Ryan Ramczyk and running back Alvin Kamara.

The Saints killed it.

The Chiefs got Mahomes.

Those are the two A+ grades from 2017.

Arizona Cardinals 

2017 Grade: A

The Skinny: They took linebacker Haason Reddick in the first round with the 13th pick and he hasn't come close to living up those expectations. Second-round safety Budda Baker has been as good as expected and went to the Pro Bowl last year. The rest of the class produced little. Fifth-round return man T.J. Logan is now with Tampa Bay. 

How I did: Not good. I liked their first two picks and thought third-round receiver Chad Williams would be a player. I also liked fourth-round tackle Dorian Johnson and he was waived earlier this year by an XFL team. Oops. 

New Grade: C-

Atlanta Falcons 

2017 Grade: B+

The Skinny: They took edge rusher Takkarist McKinley in the first round and he hasn't lived up to the hype. He has 16.5 sacks in three seasons and just 3.5 last season. He's been so-so at best, and this is a big year for him. The rest of the draft produced little other than backups, the best being safety Damontae Kazee. Backup running back Brian Hill did come in the fifth. 

How I did: Like the Falcons, not very good. I liked the pick of McKinley and second-round linebacker Duke Riley, who is now with the Eagles and did little for the Falcons. 

New Grade: D-

Baltimore Ravens

2017 Grade: B-

The Skinny: They took Marlon Humphrey in the first round and he has developed into a Pro Bowl corner. Their second-round pick, linebacker Tyus Bowser, is a rotation player on their defense. They missed on third-round pass rusher Tim Williams, but hit big on sixth-round safety Chuck Clark, who is now a starter. Third-round defensive tackle Chris Wormley just signed with the Steelers, and was a good player. 

How I did: I liked Humphrey, but didn't think it was a major need. They proved me wrong. I liked Bowser, but my big miss is thinking Williams could develop into an elite edge player. He's now in Green Bay as a backup. 

New Grade: B-

Buffalo Bills 

2017 Grade: B

The Skinny: This was an outstanding draft for the Bills, one that has them poised to be a deep-playoff team next season. They landed star corner Tre'Davious White in the first round and starting left tackle Dion Dawkins in the second. White is among the best in the league. They missed on second-round receiver Zay Jones, who is now in Oakland, but hit big on fifth-round linebacker Matt Milano, who is a top player on their defense. 

How I did: I liked both White and Jones, so, like the Bills, I was one for two. I thought Dawkins would be the starting right tackle, and he's exceeded that by becoming a good left tackle. I thought fifth-round quarterback Nathan Peterman could be a starter at some point, and he was – even if it wasn't pretty. 

New Grade: A

Carolina Panthers 

2017 Grade: B-

The Skinny: They took running back Christian McCaffrey with the eighth overall pick, which has proven to be a great move. He is the prototype back for the way the game is played today, even if I wouldn't have taken him there. Second-round receiver Curtis Samuel has flashed at times, but needs to be more consistent. Second-round offensive lineman Taylor Moton is their starting right tackle. In the sixth, they got starting fullback Alex Armah and in the seventh they took kicker Harrison Butker, who is now a good one.

How I did:  I thought it was too high to take McCaffrey, which has proven to be wrong on my part. I liked the pick of Samuel, and I thought fifth-round defensive end Daeshon Hall would be a steal. He's now with the Eagles. 

New Grade: B+

Chicago Bears 

2017 Grade: D

The Skinny: This is the draft they traded up to the second spot to take quarterback Mitchell Trubisky, which is now a major fail. He could lose this job this year to Nick Foles, who they acquired in a trade. In the second round, they took tight end Adam Shaheen, and he hasn't done much. The draft is saved by fourth-round safety Eddie Jackson and fourth-round running back Tarik Cohen, both major contributors on the roster. 

How I did: I questioned the move to get Trubisky, so I got that one right. They could have stayed put and landed Patrick Mahomes or Deshaun Watson. Big fail. I thought Shaheen had a chance to be a starter, which hasn't played out. 

New Grade: D

Cincinnati Bengals 

2017 Grade: A

The Skinny: They took receiver John Ross with the ninth pick in the first round, which hasn't worked out. He's flashed, but he's been hurt way too much. Second-round running back Joe Mixon looked like a star in the second half of 2019 and is one of the better runners in the league. Fourth-round edge rusher Carl Lawson has 14.5 sacks in two and half seasons. The rest of the draft produced little, although sixth-round linebacker Jordan Evans is a backup who has started.

How I did: I liked the pick of Ross, but I did say it was a risk. The speed attracted me, much like it did the Bengals. I liked the Mixon pick, saying he was a risk off the field but would be the best runner in the draft. I also liked the Lawson pick, and liked Jordan Willis in the fourth, and he's now with the Jets after being let go.

New Grade: B-

Cleveland Browns 

2017 Grade: A

The Skinny: They had three first-round picks in this draft, including using the first overall to take defensive end Myles Garrett. He has proven to be a big-time pass rusher, despite his suspension last year. Tight end David Njoku has been good at times, but not quite what was expected. They traded away safety Jabril Peppers to the Giants to land Odell Beckham. Peppers was just OK anyway. They missed on quarterback DeShone Kizer in the second round, but hit big on defensive tackle Larry Ogunjobi in the third. 

How I did: I really liked the draft. I questioned the pick of Peppers, but said the way Kizer played would define the draft. It did when he failed. Landing Garrett was a good pick, but the rest didn't prove be as fruitful as expected. 

New Grade: B-

Dallas Cowboys

2017 Grade: B-

The Skinny: They took defensive end Taco Charlton in the first round, and he is now in Miami after failing to live up to the expectations. Second- and third-round corners Chidobe Awuzie and Jourdan Lewis should be their starters outside this season. Sixth-round safety Xavier Woods is a starter as well and has proven to be the best value in this class. They missed on fourth-round receiver Ryan Switzer.

How I did: I questioned the pick of Charlton, saying there were better options. I did like the pick of the two corners, but also thought Switzer could become their next Cole Beasley. He's now in Pittsburgh. 

New Grade: B

Denver Broncos 

2017 Grade:

The Skinny: They took left tackle Garett Bolles in the first round. He's been a starter, but he's struggled mightily at times. He did play better down the stretch last year. Of the remaining seven picks, none are expected to start in 2020 and only second-round defensive end DeMarcus Walker and fifth-round tight end Jake Butt are even on the roster. The missed badly on both third-round receiver Carlos Henderson and third-round corner Brendan Langley

How I did: I thought the Bolles pick was solid – and it hasn't been any more than that. I liked the Walker pick, and that hasn't worked out. I also liked Henderson. He never caught a pass, got in some off-field trouble, and was let go in the summer of 2018. Oops. 

New Grade: D-

Detroit Lions 

2017 Grade: D

The Skinny: They had nine picks in the draft, and two are starters heading into the 2020 season. One is first-round linebacker Jarrad Davis, a decent player who has battled some injury issues. He could be pushed for his starting job this season. The other starter counts as a big hit in third-round receiver Kenny Golladay, who has developed into a big-play threat. They missed on second-round corner Teez Tabor, who was let go after two seasons. The rest of the draft provided little more than backups. 

How I did: I liked the pick of Davis, but like I said, he might be in a camp battle to start this summer. I questioned them not taking a defensive lineman until late in the draft, and that has continued to be a problem. I thought Tabor was a reach, which has played true. 

New Grade: D

Green Bay Packers 

2017 Grade: A

The Skinny: The Packers traded out of the first round to add extra picks and did some good and bad with all the picks they had. They added starting corner Kevin King in the second round, and he's a good player. Second-round safety Josh Jones is no longer on the roster. Third-round defensive tackle Montravius Adams has been a sometimes starter. They did hit when it came to running backs, landing Jamaal Williams in the fourth and Aaron Jones in the fifth. They are the two primary backs for the Packers. Fourth-round linebacker Vince Biegel is a starter in Miami.

How I did: I loved the pick of King, and he's become a good player who will only get better. Adams was a guy I really liked, but he hasn't quite lived up to what I thought he'd become. I also thought Jones could be a nice replacement for Micah Hyde, but he was not. I also liked Williams. 

New Grade: B+

Houston Texans 

2017 Grade: C+

The Skinny: They made the big move to trade up to draft Deshaun Watson, and that has paid off in a big way. Watson is one of the best young quarterbacks in the league. Second-round linebacker Zach Cunningham has turned into a good player in their defense. After that, the Texans had five picks, and just backup defensive end Carlos Watkins is still on the roster. 

How I did: I wasn't so sure about the move to go get Watson, but that has paid off big time. He is their best player and the reason they've been in the playoffs the past three seasons. I did like the Cunningham pick. 

New Grade: A

Indianapolis Colts 

2017 Grade: B

The Skinny: They used their first three picks on defense, which they had to do. First-round safety Malik Hooker has battled through some injuries, but he has 27 starts the past two seasons, and has become a big part of their defense. Second-round corner Quincy Wilson has been a disappointment with 10 total starts and none last season. Third-round pass rusher Tarell Basham is now with the Jets. They did land three starters in rounds four and five, finding running back Marlon Mack and defensive tackle Grover Stewart in the fourth and linebacker Anthony Walker in the fifth. That's good drafting. 

How I did: I liked the pick of Hooker, but also thought Wilson was a good pick – which hasn't played true. The same goes for Basham. I did like Mack in the fourth, who I said then would become a big-play runner. 

New Grade:

Jacksonville Jaguars

2017 Grade: B

The Skinny: This is the draft where the Jaguars picked running back Leonard Fournette fourth overall and passed on taking Patrick Mahomes and Deshaun Watson. Ouch. Fournette is a solid player, but no back is worth taking that high. Second-round tackle Cam Robinson has fought through injuries, but he is the current starter on the left side. Third-round pass rusher Dawuane Smoot has been a backup, while fourth-round receiver Dede Westbrook has been just OK as a starter. 

How I did: I questioned the decision to take Fournette as high as they did, which has played out considering where they are now. I liked the pick of Robinson, but he hasn't played up to being a second-round pick yet. I thought Smoot would be a steal, but that hasn't been the case, and I did like Westbrook. 

New Grade: C-

Kansas City Chiefs

2017 Grade: B-

The Skinny: This is the draft they traded up to land quarterback Patrick Mahomes, the best player in the NFL. It was a bold move at the time, but one that paid off in a big way, especially since the Chiefs won the Super Bowl last season. Second-round defensive end Tanoh Kpassagnon is a starter and a solid player on the defense. They also took running back Kareem Hunt in the third round of this draft. Were it not for an off-field incident, he'd be their starting running back. He is now in Cleveland. So all they got out of this draft was Mahomes and one starter. Does it matter? They got the NFL's best player. 

How I did: I wrote then that I thought Mahomes was the best quarterback in the draft, so it made sense to move up to get him. I mentioned that Kpassagnon filled a need, while I really liked the pick of Hunt in the third. I closed by saying this was a draft all about Mahomes. It sure was. 

New Grade: A+

Las Vegas Raiders 

2017 Grade: B-

The Skinny: The Raiders had nine picks and two are left on the roster, and neither one is a starter. That's awful. They missed on first-round corner Gareon Conley, who was traded to the Texans last year. Second-round safety Obi Melifonwu was let go after one season. The only players left are backup offensive tackle David Sharpe (fourth round) and backup linebacker Marquel Lee

How I did: I mentioned that taking Conley was risky with his legal problems at the time, but he could pay off. He didn't. I also liked the picks of Melinfonwu and third-round defensive tackle Eddie Vanderdoes. He also didn't work out. Like the Raiders, I stunk that year. 

New Grade: F

Los Angeles Chargers 

2017 Grade: B+

The Skinny: They had seven picks and all seven are still on the roster, with four starters and maybe five this season. They took receiver Mike Williams in the first round. He has been a good player, but not a great one. He has flashed that type of ability, but not enough of it. Second-round guard Forest Lamp is a backup, while third-round pick Dan Feeney is a starter. They also took safety Rayshawn Jenkins in the fourth round and he started 16 games last season. The big hit was in the fifth with nickel corner Desmond King, one of the best in the league. Sixth-round tackle Sam Tevi has started and could again this year, while seventh-round defensive end Isaac Rochell is a quality backup. 

How I did: I thought they took Williams too high with the seventh overall pick, and that has played true. I liked the pick of the two guards, but they haven't been as good as expected. 

New Grade: A

Los Angeles Rams 

2017 Grade: C- 

The Skinny: The Rams traded their first-round pick the year before to land quarterback Jared Goff. They still had eight picks in the draft, and did a nice job with most of them. In the second round, they took tight end Gerald Everett, who has been a solid player for them. Third-round receiver Cooper Kupp was a major hit as he's become a good receiver. Third-round safety John Johnson is a starter, although he was limited to six games last year because of a shoulder injury. The Rams also landed receiver Josh Reynolds, who is expected to start this year with the trade of Brandin Cooks, and pass rusher Samson Ebukam in the fourth round. Sixth-rounder Tanzel Smart is a backup defensive tackle. 

How I did: I liked a lot of what they did, and mentioned Everett and Kupp as guys who would help Goff. I questioned the move to not take an offensive lineman in the draft, and that has showed up some in recent years. 

New Grade: B+

Miami Dolphins 

2017 Grade: B+

The Skinny: The Dolphins had seven picks in this draft and two are penciled in as starters this season. One is second-round linebacker Raekwon McMillan and the other is fifth-round defensive tackle Davon Godchaux. First-round pass rusher Charles Harris was a big miss with just 3.5 sacks in his first three seasons. They also missed on third-round corner Cordrea Tankersley.

How I did: I thought the Dolphins did a nice job adding Harris and McMillan in the first two rounds. I guess one was OK. I also liked the pick of Tankersly and fifth-round guard Isaac Asiata, who quit the team last year. Not good. 

New Grade: D

Minnesota Vikings

2017 Grade: C+

The Skinny: They didn't have a first-round pick after trading it in a panic move to get Sam Bradford the year before. They did land running back Dalvin Cook in the second round, and he has been a big-time producer when he's been on the field. They had nine other picks in this draft, and three are listed as potential starters heading into 2020. One of those is third-round guard Pat Elflein, who moved from center last season. The others are fourth-round linebacker Ben Gedeon and seventh-round defensive end Ifeadi Odenigbo, both of whom will be forced to compete to start.

How I did: I loved the pick of Cook, who I said could be a star. I liked the pick of Elflein in the third round, but I thought he would be their center. He was moved last year when the team drafted Garrett Bradbury. I thought fifth-round receiver Rodney Adams had a chance to play, but he never caught a pass in the league and is trying to come back with the Colts this season.

New Grade: B-

New England Patriots

2017 Grade: B

The Skinny: Because of a bunch of trades, the Patriots had just four picks in the draft. They traded their first-round pick to the Saints for Brandin Cooks and then after a year traded him to the Rams for a first-round pick. That pick ended up being left tackle Isaiah Wynn, who is their starter. So it evened out. The Patriots traded their second-round pick for defensive end Kony Ealy, which turned out to be a bad move. Their first pick in the draft came when they picked pass rusher Derek Rivers in the third round. He has missed two seasons because of injury and faces a make-or-break season in 2020. The only other player of note who was drafted that year is defensive end Deatrich Wise, who has been a rotational player. They did trade a seventh-round pick to land linebacker Kyle Van Noy, a big part of their defense the past three seasons, although he's now in Miami.

How I did: I said the deals for Cooks and Ealy would define this draft, and they have. I thought it could be a good haul if Ealy could get double-digit sacks. He didn't and was let go in five months, which is why this grade is now much lower. I liked the pick of Rivers as well as fifth-round tackle Antonio Garcia, but the latter was a major disappointment and is no longer on the roster. This was not a good draft for Bill Belichick. 

New Grade: D-

New Orleans Saints

2017 Grade: A

The Skinny: This draft is a big reason why the Saints are where they are as a Super Bowl contender heading into this season. In the first round, they landed corner Marshon Lattimore and tackle Ryan Ramczyk. Both are Pro Bowl-caliber players and have been a big part of their respective unit's successes. Second-round safety Marcus Williams has been a starter since his rookie year, but the big hit came in the third round when they took running back Alvin Kamara, who has been a star. They landed backup edge Trey Hendrickson and linebacker Alex Anzalone also in the third. That means six of the seven players picked are still on the roster, five as starters. 

How I did: I liked the pick of Lattimore in the first, but questioned the decision to take Ramczyk because he had some medical issues and they didn't have a major need at the time. The Saints were right and I was wrong on that one. I also liked the pick of Hendrickson and thought Anzalone could be a starter if he could stay healthy. 

New Grade: A+

New York Giants

2017 Grade: C

The Skinny: They took tight end Evan Engram in the first round. He's been a good player when on the field, but injuries have limited him. Second-round defensive tackle Dalvin Tomlinson has been a good starter up front. The missed on third-round quarterback Davis Webb, while fourth-round running back Wayne Gallman is a backup. 

How I did: I thought Engram would be a nice weapon in the passing game, but questioned why they didn't take an offensive lineman. Their line now says they should have done so. I loved the pick of Tomlinson, but also thought Webb had a chance to be a starter, even if I didn't understand taking him with Eli Manning as the quarterback. Fifth-round edge player Avery Moss was a guy who intrigued me, and he had eight starts for Miami last season after being let go by Giants. 

New Grade: C-

New York Jets

2017 Grade:  C+

The Skinny: They had nine picks in this draft and just the first two are left on the roster. Their first-round pick was safety Jamal Adams, who is one of the better safeties in the league. Second-round safety Marcus Maye is also a quality starter. They whiffed after that. They have receiver issues now and a big reason is they missed on third-round receiver ArDarius Stewart and fourth-round receiver Chad Hansen. 

How I did: I liked the pick of Adams in the first, but questioned why they followed that up with a pick of Maye when they had so many other needs. I liked the pick of Hansen, who never worked out. I did think sixth-round pick Elijah McGuire could be a player, and he did some good things his first two years before being cut last year. 

New Grade: C+

Philadelphia Eagles

2017 Grade: B+

The Skinny: The Eagles took pass rusher Derek Barnett in the first round with the 14th overall pick. He's been a good player, but his best sack numbers came last year, when he had 6.5. He has to get to double digits. Second-round corner Sidney Jones, who was coming off a torn Achilles when they picked him, has eight starts in three seasons, but could be a starter this season. Corner Rasul Douglas came in the third and he has starting experience. Fifth-round linebacker Nate Gerry started 12 games last season.

How I did: I liked the pick of Barnett in the first round, saying he could be the best pass rusher in the class. That hasn't played out – yet. I was intrigued by the pick of Jones saying it could pay off big, but it hasn't. I also mentioned fifth-round receiver Shelton Gibson as a guy who could help, but he has done very little. 

New Grade: C-

Pittsburgh Steelers

2017 Grade: B

The Skinny: The Steelers took outside linebacker T.J. Watt in the first round and receiver Juju Smith-Schuster in the second. That's great value for your premium picks. Both are Pro Bowl players. Third-round corner Cam Sutton was a miss and is mainly a backup, but they did hit on running back James Conner in the third.

How I did: I liked the pick of Watt in the first round, but thought Smith-Schuster went a little to high. I missed big time on that. I did like the pick of Sutton, which hasn't played out, and did make mention about Conner being a great story in even getting picked where he did. 

New Grade: A

San Francisco 49ers

2017 Grade: A

The Skinny: This was the draft where general manager John Lynch traded down in the first round and ended up with 10 picks, including two in the first round. Those first-round picks have been disappointing. They took defensive lineman Solomon Thomas third overall and he has 28 starts, but just three last season.  He is expected to start this season. Linebacker Reuben Foster started 16 games his first two seasons, but he was released after some off-the-field incidents. He's now with the Redskins. Third-round corner Ahkello Witherspoon has been a starter at times. The biggest steal came in the fifth round when they picked All-Pro tight end George Kittle. Sixth-round defensive tackle D.J. Jones is also a starter. 

How I did: I thought Thomas could become a star, and much the same for Foster. Neither has happened. I also liked the pick of Jones in the sixth and questioned the decision to take quarterback C.J. Beathard in the fifth round. Kittle was one of the members of my Better-Than team that season, a group made up of players I like more than the scouts. 

New Grade: B

Seattle Seahawks

2017 Grade: B+

The Skinny: General manager John Schneider traded out of the first round and ended up with 11 picks. Of those 11, two are sure starters. One is second-round center Ethan Pocic and the other is third-round corner Shaquill Griffin. Seventh-round running back Chris Carson could start if he returns healthy from injury and seventh-round receiver David Moore is in the rotation. They missed on second-round defensive tackle Malik McDowell, who had a severe ATV accident before ever playing a snap for them. 

How I did: I liked the pick of McDowell, but noted he had some off-field issues. I also liked the pick of Pocic. I made mention of how they picked a corner and two safeties to send a message to the Legion of Boom and I also questioned why they didn't take more offensive linemen, which has been a problem area for the team. 

New Grade: C

Tampa Bay Buccaneers

2017 Grade: B+

The Skinny: They took tight end O.J. Howard in the first round, but he hasn't come close to fulfilling those expectations, although he played well down the stretch last season. Second-round safety Justin Evans had 21 starts his first two seasons, but missed all of 2019 with an Achilles tendon injury. Third-round receiver Chris Godwin has turned into the steal of this draft. He has become a top-15 receiver in the league. 

How I did: I loved the pick of Howard, but he hasn't played to that hype. This is a big year for him. I thought Evans would be an immediate starter, and he was, but he will likely have to win his job this year. I liked Godwin, which has proven to be true. I thought fifth-round running back Jeremy McNichols could be a steal, but he wasn't.

New Grade: B

Tennessee Titans

2017 Grade: B

The Skinny: They had nine picks and four of those picks are projected starters in 2020. First-round receiver Corey Davis has been a solid player, but he hasn't played to the expectations yet. Corner Adoree' Jackson, their other first-round pick, has 29 starts in his three seasons. They missed on third-round receiver Taywan Taylor, but third-round tight end Jonnu Smith will be a starter this season after starting 14 games last season. The biggest value hit is on fifth-round linebacker Jayon Brown with his 23 starts the past two seasons and 105 tackles in 2019.

How I did: I liked the pick of Davis, but he hasn't played to being the fifth overall pick. I also liked Jackson and made mention of Smith and Taylor being more needed weapons for Marcus Mariota, the quarterback who is no longer around. 

New Grade: C+

Washington Redskins

2017 Grade: B

The Skinny: The Redskins took defensive tackle Jonathan Allen in the first round. He has become a good starter and a big part of their defense. Second-round edge rusher Ryan Anderson had four starts and four sacks last season. Fifth-round tight end Jeremy Sprinkle is the starter heading into 2020, as is fifth-round center Chase Roullier. Third-round corner Fabian Moreau has 17 starts the past two seasons, including 10 last year and is currently listed as a starter this season.  Fourth-round safety Montae Nicholson started 13 games last year but was released in March in what could have been related to off-field issues. 

How I did: I thought Allen had star potential, but that hasn't quite worked out – even if he is a good player. I liked Anderson, who hasn't been as effective as I thought. I thought Moreau could be a steal coming off a torn pectoral muscle heading into the draft. I also liked the pick of Sprinkle. 

New Grade: B+