Discipline is really problem within agile teams, and Agile approach is not effective when team is not disciplined enough.
But, when team already gain good discipline, for example within large waterfall project, will really flourish after switch to Agile/SCRUM.
So, as I see, good approach to use waterfall project as bench and as filter (some people just could not work in team at all, or could not work in Agile environment, so unfortunately need layoff them), and than switch survivors to Agile.
Must admit, could exist other ways to achieve efficient Agile, but at the moment I don't think they as effective as waterfall train bench and only after it Agile.