Ini sebenarnya tidak ada hubungannya dengan Agile, atau bahkan dengan Rekayasa Perangkat Lunak. Ini hanya berlaku untuk perusahaan mana pun dalam bisnis apa pun: Anda perlu menyisihkan waktu untuk pelatihan. Periode.
Agile memiliki gagasan tentang "langkah berkelanjutan", yang berarti bahwa, pada titik mana pun, tim tidak boleh bekerja lebih keras daripada apa yang dapat dipertahankan untuk jumlah waktu yang tidak terbatas. Yaitu tidak ada "waktu krisis". Ini perlu dihormati dengan pelatihan juga. Jadi, ini merupakan langkah berkelanjutan bagi tim Anda "tidak lebih dari 5 jam tanpa istirahat, tidak lebih dari 9 jam per hari, tidak lebih dari 40 jam per minggu", dan Anda ingin memberikan 10% waktu untuk pelatihan, maka Anda perlu merencanakan proyek Anda selama 36 jam minggu.
Tapi sekali lagi, ini tidak ada hubungannya dengan Agile, itu hanya akal sehat dan matematika sekolah dasar.
Secara pribadi, saya akan berpikir bahwa sesuatu seperti membiarkan selama setengah jam per hari, satu setengah hari per minggu, dan satu minggu penuh per kuartal akan memungkinkan tim untuk memperoleh potongan pengetahuan yang berbeda ukuran dengan cepat dan dengan kecepatan yang stabil.
Ada juga beberapa praktik Agile yang membantu dengan transfer pengetahuan, yaitu untuk memperlancar perbedaan tingkat pengetahuan di seluruh tim:
- retrospektif harian
- retrospektif per sprint
- retrospektif per proyek
- pemrograman pasangan
- pemasangan ping-pong (menukar driver dan navigator setelah setiap langkah dari siklus merah-hijau-refactor)
- pasangan bebas (tidak ada pasangan tetap, pasangan ditugaskan secara acak dan diganti setiap pagi dan makan siang)
- jumlah anggota tim yang ganjil (jika Anda melakukan pemrograman berpasangan, biarkan satu anggota tim bebas untuk belajar)
- pemrograman gerombolan (varian pada pemrograman berpasangan di mana seluruh tim menggunakan satu komputer dan layar, anggota tim yang ditunjuk hanyalah "juru ketik" dan yang lain memberi tahu dia apa yang harus ditulis)
- tim promiscuous (pengembang ditugaskan secara acak ke tim setiap hari / setiap sprint)
Pemrograman pasangan dan pemrograman massa tidak hanya menyediakan tinjauan kode terus menerus tetapi juga berbagi pengetahuan berkelanjutan. Pemasangan ping-pong mencegah satu orang "memonopoli keyboard". Pasangan promiscuous menyebarkan pengetahuan melalui seluruh tim, tim promiscuous menyebarkan pengetahuan ke seluruh perusahaan, dan memastikan bahwa setiap pengembang mengetahui setiap proyek dan setiap basis kode; itu juga akan mengarah pada standardisasi tingkat tinggi dalam basis kode. Sementara fokus utama retrospektif adalah untuk memberikan umpan balik pada proses pengembangan dan beradaptasi sesuai, itu juga dapat digunakan untuk mengkomunikasikan masalah yang tidak biasa dan bagaimana menyelesaikannya.
Tidak perlu dikatakan bahwa majikan harus menyediakan perpustakaan yang luas, berlangganan ACM, Springer, IEEE, dll., Serta kamar-kamar yang tenang untuk dipelajari dan kamar-kamar yang lebih besar untuk diajar. Banyak papan tulis dan flipboard, serta Proyektor di mana saja tentu saja masuk akal secara umum, bukan hanya untuk pelatihan.