Cela n’a pas grand-chose à voir avec Agile, ni même avec le génie logiciel. C’est tout simplement vrai de toute entreprise dans toute entreprise: vous devez réserver du temps pour la formation. Période.
Agile a cette idée de "rythme durable", ce qui signifie qu'à aucun moment l'équipe ne devrait travailler plus que ce qu'elle pourrait supporter pendant une durée indéterminée. Ie pas de "temps de crise". Cela doit également être respecté par la formation. Ainsi, le rythme de votre équipe est durable: "Pas plus de 5 heures d'affilée sans pause, pas plus de 9 heures par jour, pas plus de 40 heures par semaine", et vous souhaitez consacrer 10% de temps à la formation, puis vous besoin de planifier vos projets pour des semaines de 36 heures.
Mais encore une fois, cela n’a rien à voir avec Agile, c’est juste du bon sens et des mathématiques à l’école primaire.
Personnellement, je pense que laisser une demi-heure par jour, une demi-journée par semaine et une semaine complète par trimestre permettrait à l'équipe d'acquérir des blocs de connaissances de tailles différentes rapidement et à un rythme soutenu.
Il existe également des pratiques agiles qui facilitent le transfert des connaissances, par exemple pour aplanir les différences de niveau de connaissances entre les équipes:
- rétrospectives quotidiennes
- rétrospectives par sprint
- rétrospectives par projet
- programmation en binôme
- couplage ping-pong (permutation du pilote et du navigateur après chaque étape du cycle rouge-vert-refactor)
- appariement promiscuité (pas de paires fixes, les paires sont assignées au hasard et changées tous les matins et à l'heure du déjeuner)
- nombre impair de membres de l'équipe (si vous programmez en binôme, laissez un membre de l'équipe libre d'apprendre)
- Programmation sur mob (une variante sur la programmation par paire où toute l'équipe utilise un seul ordinateur et un seul écran, un membre de l'équipe désigné est simplement un "dactylographe" et les autres lui disent quoi écrire)
- équipes peu engageantes (les développeurs sont assignés au hasard aux équipes chaque jour / chaque sprint)
La programmation en binôme et en mob permet non seulement une révision continue du code, mais également un partage continu des connaissances. Le couplage ping-pong empêche une personne de "monopoliser le clavier". Le couplage promiscuité permet de diffuser les connaissances dans l’ensemble de l’équipe et les équipes de proximité tout autour, et de veiller à ce que chaque développeur connaisse chaque projet et chaque base de code; cela conduira également à un haut degré de standardisation dans la (les) base (s) de code. Bien que l'objectif principal des rétrospectives soit de fournir des informations en retour sur le processus de développement et de s'adapter en conséquence, il peut également être utilisé pour communiquer un problème inhabituel et la manière de le résoudre.
Il va sans dire que l'employeur devrait fournir une vaste bibliothèque, des abonnements payants à ACM, Springer, IEEE, etc., ainsi que des salles calmes pour étudier et des salles plus grandes pour y enseigner. Les projecteurs du monde entier sont bien sûr sensés en général, pas seulement pour la formation.