Це насправді не має великого відношення до Agile або навіть до інженерії програмного забезпечення. Це просто стосується будь-якої компанії в будь-якому бізнесі: вам потрібно виділити час для навчання. Період.
Agile має таке уявлення про "стійкий темп", що означає, що в жодному разі команда не повинна працювати важче, ніж те, що вона могла витримати протягом невизначеного часу. Тобто немає «часу хрускіт». Цього потрібно шанувати і навчанням. Отже, це стабільний темп для вашої команди - "не більше 5 годин без перерви, не більше 9 годин на день, не більше 40 годин на тиждень", і ви хочете забезпечити 10% часу для тренувань, тоді ви потрібно планувати свої проекти на 36 годинних тижнів.
Але знову ж таки, це не має нічого спільного з Agile, це просто здоровий глузд і математика початкової школи.
Особисто я б подумав, що щось на зразок дозволу на півгодини на день, півдня на тиждень та один повний тиждень на квартал дозволить команді швидко та з постійними темпами здобувати шматки знань різного розміру.
Існують також деякі методи Agile, які допомагають передавати знання, тобто згладжувати відмінності в рівні знань у колективах:
- щоденні ретроспективи
- ретроспективи на спринт
- ретроспективи на проект
- парне програмування
- з’єднання пінг-понгу (заміна драйвера та навігатора після кожного кроку циклу червоно-зелений-рефактор)
- безладне спарювання (немає фіксованих пар, пари призначаються випадковим чином і змінюються щоранку та в обід)
- непарна кількість членів команди (якщо ви займаєтесь парним програмуванням, залишає одного члена команди вільним для навчання)
- моб програмування (варіант парного програмування, коли вся команда використовує один комп'ютер і екран, призначений член команди - просто "машинописець", а інші кажуть йому, що писати)
- безладні команди (розробники випадково призначаються командам щодня / кожен спринт)
Парне програмування та мобільне програмування забезпечують не лише постійний перегляд коду, але й постійний обмін знаннями. Парінг-пінг-понг заважає одній особі "притиснути клавіатуру". Промізне сполучення поширює знання по всій команді, нерозбірливі команди поширюють знання по всій компанії та забезпечують, щоб кожен розробник знав кожен проект та кожну базу коду; це також призведе до високого ступеня стандартизації в базах даних кодів. Хоча головна увага ретроспектив полягає в наданні зворотного зв’язку про процес розробки та відповідної адаптації, він також може використовуватися для спілкування нечастої проблеми та способів її вирішення.
Само собою зрозуміло, що роботодавець повинен забезпечити широку бібліотеку, платні підписки на ACM, Springer, IEEE тощо, а також тихі кімнати для навчання в та більших кімнатах для викладання. Багато дощок та фліпбордів, а також проектори скрізь, звичайно, розумні в цілому, а не тільки для навчання.