How do you adapt when project requirements change abruptly or you have to learn a new technology on the fly?