アジャイル開発をいろいろ試してみて、もしかして銀の弾丸なんじゃないかレベルで気がついたことは、「職能横断型チームを作ることができたら、あとは勝手にアジャイルな開発になっていくのではないか」いう仮説でした。でも、実際に職能横断型チームになっている現場を見ていると、それにも限界があるのだなぁと感じることがいくつかありました。
育成がしにくい
職能横断型チームの場合、いろんな職能の人がチームにいます。たとえば、ある特定の職能のエンジニアが1名しかいないとすれば、どうやってその人は成長していくのでしょうか? 個人でがんばれる部分もあるでしょうが、先輩からまなぶことも多いはずです。
職能横断型チームが縦のつながりだとすれば、横のつながり(同じ職能など)が薄れるので、それをどう「つないでいくか」がポイントになりそうです。
Spotifyのスケーリングアジャイル – 部隊、分隊、支部やギルドと共に歩むのように、ゆるやかな横のつながりは必要なのかもしれませんね。
個々が成長できるとは限らない
組織的に仕事にコミットしやすい体制になるのでパフォーマンスは出しやすくなります。プロダクトはどんどん成長するでしょうが、人はどうでしょうか?
もちろんチームの練度が上がっていくはずなので、個々も成長を遂げているのでしょう。ですが、一方で、目の前の仕事をやるだけで成長するとはかぎりません。どんどん仕事は進んでいるけど、自分が成長している実感がない。そういう意見もちらほら聞こえてきます。
へたに生産性が上がるだけになってしまい、人が育たないのはつらいですね。このへんのバランス感覚はあったほうがいいのかもしれない。
人がいないとはじまらない
問題はやはり「職能横断型チーム」が大きいです。たとえば、あるチームにはエンジニアがいなくて、あるチームにはデザイナーがいない。なんてことが起こりえます。
となると、採用も各チームで個々にがんばるのでしょうか。うーん。
そう考えると、ある程度の横のつながり(職能的な)は必要で、そこでうまく採用やアサインを考えていく必要があります。
でも、人が足りなくなったら、どこにだれをアサインするのかで困ってしまいそう。結局、組織的なバックログの整理(組織として一番優先順位高いのはどれだとか)が必要になってくるのでしょうかね。
おわりに
職能横断型チームといってもやはり万能ではなさそうなので、誰かが言っていたけど「手段をうまく使うかどうかは人間の問題」ということなのでしょう。
人は城。