One other addition to the debate.
Payscales for teachers are also a problem. The teaching payscale is based on time served rather than ability, although I understand technically an annual rise can be withheld if performance is deemed to be below standard. In reality this rarely happens though.
Payscales should absolutely be about performance. I'd much prefer standard teaching payrates, and learn from industry where a bonus is paid on performance. By that I don't mean finite results, I mean measured by improvement year on year. To do so it would mean getting away from the soft grading based on coursework where a teacher marks it to suit themselves as well as the child. Controlled exams are the only true measure of performance of the child and the teacher.
The argument against of course is it puts too much pressure on students, which quite frankly is a nonsense if the measurement is improvement. If low-level examination happens each term, with more substantive examination at the end of a school year kids are naturally more likely to be desensitised to exams and better prepared to handle them when the important ones come around.
My wife disagrees with this. Her specialism is 'gifted and talented' so she naturally leans more towards individual child management and continual assessment. My problem with is that continual assessment with 30 kids is liable to inaccuracy, can lean towards favourites or the opposite, and still leaves the problem of teachers assessing to make themselves look better.
My broad view is if the teacher isn't up to the task how can the kids be. And this is the heart of the problem. Not the only one admittedly, but given 95% of the time in primary education is spent with one teacher, a poor teacher can have a profoundly negative effect on the schooling of a child forevermore. The brighter ones will get away with it, the disruptive ones will continue not to care and probably get worse, and the ones in the middle inevitably get left behind and under-perform.