На самом деле это не имеет ничего общего с Agile или даже с разработкой программного обеспечения. Это просто верно для любой компании в любом бизнесе: вам нужно выделить время на обучение. Период.
У Agile есть идея «устойчивого темпа», что означает, что ни в коем случае команда не должна работать усерднее, чем то, что она могла бы поддерживать в течение неопределенного периода времени. Т.е. нет "хруста". Это должно быть учтено и обучением. Таким образом, для вашей команды это устойчивый темп «не более 5 часов подряд без перерыва, не более 9 часов в день, не более 40 часов в неделю», и вы хотите предоставить 10% времени на тренировки, а затем вы нужно планировать свои проекты на 36 часовых недель.
Но опять же, это не имеет ничего общего с Agile, это просто здравый смысл и математика начальной школы.
Лично я думаю, что что-то вроде предоставления полчаса в день, одного полдня в неделю и одной полной недели в квартал позволит команде быстро и стабильно получать знания разного размера.
Существуют также некоторые Agile-практики, которые помогают с передачей знаний, т. Е. Сглаживают различия в уровне знаний между группами:
- ежедневные ретроспективы
- ретроспективы на спринт
- ретроспективы на проект
- парное программирование
- пинг-понг (замена драйвера и навигатора после каждого шага цикла «красный-зеленый-рефакторинг»)
- беспорядочные пары (без фиксированных пар, пары назначаются случайным образом и меняются каждое утро и обед)
- нечетное количество членов команды (если вы занимаетесь парным программированием, один член команды может свободно учиться)
- программирование мобов (вариант парного программирования, когда вся команда использует один компьютер и экран, назначенный член команды просто «машинистка», а другие говорят ему, что писать)
- разнородные команды (разработчики случайным образом назначаются командам каждый день / каждый спринт)
Парное и мобильное программирование обеспечивает не только постоянный просмотр кода, но и постоянный обмен знаниями. Соединение в пинг-понг не позволяет одному человеку «зацепить клавиатуру». Беспорядочные пары распространяют знания среди всей команды, разнородные команды распространяют знания по всей компании и гарантируют, что каждый разработчик знает каждый проект и каждую кодовую базу; это также приведет к высокой степени стандартизации в коде (ах). Хотя основной целью ретроспективы является предоставление обратной связи о процессе разработки и соответствующей адаптации, ее также можно использовать для сообщения о необычной проблеме и способах ее решения.
Само собой разумеется, что работодатель должен предоставить обширную библиотеку, платные подписки на ACM, Springer, IEEE и т. Д., А также тихие комнаты для учебы и большие комнаты для обучения. Много досок и флипбордов, а также Проекторы повсюду, конечно, разумны в целом, а не только для обучения.