One reason for teaching so long using a failed method is public school teachers are not accountable for failure. There is zero downside for them failing (they just blame the parents) and no incentive whatsoever to do better.
The fix is simple. Give teachers a $1000 bonus for every student of theirs that performs at grade level at the end of the year.
It'll be the cheapest, most effective way to improve kids' education.
Metric-based rewards are hard to get right. For example, you've just disincentivized teachers from working with struggling students, and you've further incentivized teachers to work in the richest school districts. Since the metric is "how many at at grade level at the end of the year," you as a teacher are heavily rewarded for being handed students that are either already at grade level or have parents who can pay for additional tutoring.
The simplest fix you could slap on would be to make it a bonus for each student who tested as below grade level at the start of the year but above grade level at the end, but that also has complexities.
Of course, implementing such a program will have details that need to be worked out. I've posted this before, and get all kinds of "but ..." replies, all of which can be easily addressed with a moment's thought.
It could be hardly worse than the current system.
> you as a teacher are heavily rewarded for being handed students that are either already at grade level or have parents who can pay for additional tutoring.
Students are already assigned at random to teachers. So it will balance out.
> you've just disincentivized teachers from working with struggling students
The teachers currently have no incentive whatsoever to help struggling students. This proposal gives them $1000 reasons to help them.
The fix is simple. Give teachers a $1000 bonus for every student of theirs that performs at grade level at the end of the year.
It'll be the cheapest, most effective way to improve kids' education.