2. Get them used to the idea of writing code spikes where they can try things out, get something working, and understand the shape of the problem before (horror!) throwing the code away and use what they learnt to write a plan to deliver the actual solution more iteratively.