It is a great way to structure:
- Teaching Software Development
- Training new employees (the environmental training is equally important)
- A way to understand how developers do in various activities
- For each project move from bottom to top and repeat
Other activities, like reading and writing about programming can help developers break the monotony of just doing work by combining it with a bit of learning.