I'm trying to figure out how to incorporate time for developers to work on new technology, learn new things, remember old things, and otherwise have some time set aside for self improvement and reflection.<p>It turns out that there needs to be a pause in sprinting. I have developers who are stuck in a framework that our company uses and often don't get a chance to work on different things. I think it's best for the long term to retain motivated and good people by giving them time to tinker and learn so that they don't get too bored and leave too soon.<p>My plan is to allocate 3 or 4 hours every Friday dedicated to to learning and self improvement. If a developer chooses to use this time for self improvement, then they should be ready to present a quick presentation on what was learned.<p>What do you all think of this approach? Do you have any other suggestions as to how to incorporate this type of time in your working environments?
1. Rotate developers every milestone.<p><pre><code> Group A: Codes and takes care of product tasks
Group B: Investigates, Research and writes Test code.
</code></pre>
Important!:<p>Make sure you set a vision for the team and always remind them of it through inspirational material so their "extra" work/research naturally tends towards it (aka: don't make google's mistake, bunch of innovations going nowhere; hence all the close products).