koeだめ 過去アーカイブ[〜2013-12-14]

最新情報は https://www.pixiv.net/fanbox/creator/3780274 にて

特殊部隊とソフトウェア開発チーム

軍の特殊部隊と、民間人がやるソフトウェア開発チームとを同列に語るのはひどく乱暴なんだろうけど。

個人の高い能力が注目される特殊部隊だが、実体は徹頭徹尾組織であり、チームである。
(中略)
戦場においても彼ら特殊部隊はバディと呼ぶペアがおり、最低でもふたり単位で行動する。

http://www.nextone.jp/no070405/hi/hi12.html

少数のSEが多数のプログラマー(というかコーダ)を率いる系のレガシーなソフトウェア開発チームが通常の軍の部隊と編成が似ていると思っている。
対して、最近のアジャイル(変化への柔軟な対応が求められる)なソフトウェア開発チームでは、軍の特殊部隊的な特徴を持ち合わせる必要があると思っている。

レガシーなソフトウェア開発チームでは、少数の賢い人が多数の普通の人を率いる。そして、普通の人が失敗しても全体へのインパクトが無いように、タスクがあらかじめ細分化されている。
対して、アジャイルなソフトウェア開発チームではメンバーは少数で、全員がそれなりの能力を求められる。そして、一人の失敗のインパクトは大きくなるので、即座に他のメンバーによってフォローする必要がある。
そこで、一人のミスを全体に波及させない為の仕組みとして、特殊部隊のバディシステムと同じようなペアプログラミングやペア作業があるのだろう。

仕事の規模でいうとソフトウェア開発も、戦争と同じく大軍対大軍の正規戦の様な大規模開発より、ゲリラ戦だとか特殊部隊が活躍する様なサイズの小さい仕事が多くなってきてるように感じる。
となると、ソフトウェア開発チームも仕事(戦場)の変化に合わせて、大軍運用の体制から特殊部隊運用の体制に変えていくべきだろう。
そして、自分の様な現場最前線に居ている開発者の意識も大軍の中の一人ではなく、特殊部隊の一員であるという意識に変えていくのが良いんだろう。