Long ago (I think 2016 or 2017) we moved away from an annual discussion. They got to be too cumbersome and didn't meet the agile needs of the business.
We now have 3 - 4 development discussions throughout the year. Essentially one touch base per quarter where the leader and their direct report align on the start/stop/keep for their role competencies. The leader Work & Development Plan looks a little different, but we still follow a set plan, check in on status, and end of year summary of progress discussion to ensure we're having multiple discussions throughout the year. This allows us to shift paths if we need to throughout the year. For example I started the year thinking I'd put a big focus towards an LMS, that has not been possible for various reasons so through my check ins I've been able to talk to my leader about how to supplement that goal to make sure everyone is getting the information they need.
The biggest change we made recently was taking away ratings on the review. People got too hung up on the ratings. They were worried if they didn't give someone a 5 it would impact things like comp. So instead of someone getting a fair assessment of their performance they were getting a biased rating. We also have the people that will give a 5 no matter what and others that follow the expectation that 3 is meeting standards. Essentially we decided that the feedback should be the focus and the numbers were distracting from that.