> Tie it to deliverables
That's a great idea in theory because tackling a real world problem tends to motivate towards a real world solution.
However, learning invariably encompasses failure which rarely measures up well with typical (if arguably useful/useless) performance metrics that developers contend with.