My colleague Jim Shore just co-wrote a book called The Art of Agile Development. He had the same problem you describe -- how do you teach a novice how to become an expert capable of analyzing different development strategies and practices and choosing the most effective style for one particular team?
His idea for the book was insightful. He wrote the best advice he had, explained the places where it might not work, and said "Try it this way for a few months. When you understand it fully, including where it doesn't work perfectly for you, then change it so it does."
I like his idea, and try to give people the best advice I have. I don't see the value in being contrarian solely for the sake of making the world less clear.
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>