はじめに
皆さんのチームでは、チームの成長のためにどのような取り組みを実施していますか?
私たちのチームでは、メンバーに学習文化をつけて個々のスキル向上を図り、結果的にチームの成長につながると考えていました。 チームはスクラム開発を実施しており、スプリント内のキャパシティに毎日20%の学習時間を計画して メンバーがスキル向上やチームビルディングに充てる時間を確保しています。
時間を確保していると言えば聞こえは良いかもしれませんが、もともと業務時間内での 学習時間確保の文化が存在していたわけではないので、実際はタスクに追われて学習時間を確保できていなかったり チームで必要なスキルではない分野の学習を進めていたり、学習時間を有効に活用できていませんでした。
※チームで必要なスキルではない分野の学習をしてはいけないわけではなく、チームで開発していくにあたって最低限必要なスキルは皆で統一したいという意味です。
これまで取り組んできたことのふりかえり
これまでチームの成長のために取り組んできたプラクティスを紹介します。
ペアプログラミング
設計・開発・テスト・ドキュメントまでプロダクトをデリバリーする一連の流れをメンバーがペア作業で実施しました。 ペア作業で行うことで暗黙知の共有が出来たり、テスト品質が上がるなど効果が表われました。
モブプログラミング
設計・開発・テスト・ドキュメントまでプロダクトをデリバリーする一連の流れをメンバーがモブ作業で実施しました。 ステークホルダーとなるメンバーを招待して、実施することでペアプログラミングを実施していた時の効果に加えて スプリント計画時の手戻りが減るなど、こちらも効果は大きかったです。
プラクティスのふりかえり
- よかったこと
どちらのプラクティスも効果が大きく、チームではタスクの粒度によって使い分けを行っており プラクティス自体は今後も続けていくことになりました。
- カイゼンしたいこと
スプリントの振り返りでFun/Done/Learnを実施したときに、「Learn」の枠に付箋が少なくなってきた ペア/モブでは、基本的にタスクをこなすことを優先しているので、フレームワークややり方に慣れてくると形骸化しがちという意見もちらほらありました。
- カイゼンとして始めたこと
「Learning Session」を導入してチームで学習時間を確保する
Learning Sessionとは
チームで良い感じに学習することを探していたらこちらの記事が見つかりました。
Learning Sessionで注意したこと
紹介した記事に記載はありますが、極力負担がかからないこと
- 資料は必要であれば作成する
成果物にこだわらないこと
- 成果物にこだわらず、あくまで学習の一環としてとらえる
楽しくやること
お互いに敬意をもって参加すること
- 批判をせずに、お互いの良い点を見つける
Learning Sessionを続けて変わったこと
メンバーがoutputする習慣がついた
- 自分の得意分野についてコーチングするメンバーが増えた
- 人生で初めてLTを行ったメンバーも!
キャパシティが上がった
- メンバーのスキルが底上げされたので、コミュニケーションコストが減った
所感
チーム学習という仕組みを導入して1ヶ月たったが、チームの雰囲気が良くなったり 以前より楽しく仕事ができていることが実感できる。 エンジニアの定常業務の中に「学習」があるのは、とても重要で結果的に仕事が早く終わることにつながるという 成功体験をチームで出来たのは非常に良かった!
学習文化をチームに定着させたい方がいたら是非「Learning Session」を試してみてください!