全員がプロダクトの責任を持ったりステークホルダーとのコミュニケーションを等しく行うという意味で リード
という役割を決めずにフラットに進めていったものの、責任者・判断する リード
を決めたほうが効率的に進むことがあったりする。
フルスタックにバックエンドもフロントエンドもインフラも全部やろう、と進めたものの、インフラ側まで手が回らず、結果としてインフラ担当チームに依頼して進めた方が効率的に進むこともある。フルスタック・フルサイクルにできるエンジニアは実際にほとんどいなくて、各領域で中途半端になって、あまり良くない実装・設計になることもある。そんなわけで、現実的には インフラチーム
データ分析チーム
といった感じでチーム・ロールを分けることが多いと思う。
チーム内の ロール
において、あえて決めずに行う理想形はありつつも ロール
を決める現実解になりがちだし、組織内の チーム
においても、チームを分けない理想形はあるけど現実的には分けざるを得ないケースが多いと思う。どちらも必要なスキルが不足していることに起因していそうだけど、実際そのスキルを身につけるには結構たいへん(採用も教育もたいへん)なのである。
ということで個人的にはロールやチームを分けざるを得ないと思っていて、それによって責任の所在が明らかになり物事が進んだりする。一方でサイロ化や無関心みたいなことも発生しがちなので、チームを分けたときの「チーム間共有」、ロールを分けたときの「チーム内共有」といった工夫が必要になる。やっていることを知っているという透明性が大事で、それがある意味フルサイクルになる、的な。