I don't think so, no. My experience is that mediocre and poor programmers take refuge in high-ceremony work environments like agile, where there is basically an infinite amount of non-productive "work" that can be engaged in, and no-one can criticize because they're following the process.
I do think that poor developers can be taught to be better in a work environment, but it's a painful, slow process, and has to be started with an a keen devotion to the process on the part of the trainee, which if it were going to happen at all, would probably have already happened during college.
I have difficulty imagining an agile process worth following where standups don't reveal that people aren't doing worthwhile things, where retrospectives don't reveal that estimates have gone horribly wrong, and where pair programming doesn't reveal that some people shouldn't be writing software.
What exactly do these high-ceremony agile projects practice?
Can't a McMethodology help crappy programmers become less crappy (and eventually write better code)?
Are there any methodologies that can help with this?
Ideally, poor developers get replaced by better developers, but realistically this (for all sorts of reasons) doesn't always happen. So, if you're a project or team leader, what can you do to elevated the level of code from sub-optimum developers?
Anything? Or maybe it's better to give them "fake" code to write so they stay busy and out of the way.