ソフトウェア開発のチームビルディング
「スーパーエンジニアへの道―技術リーダーシップの人間学」を読んで気づかされることがあった。
思いついたことを書き連ねてみる。
1・リーダーとなる人は、技術能力とリーダーシップ能力の合いの子
少なくとも、ソフトウェア開発チームを引っ張る人は、二つの能力を必要とする。
リーダーシップだけでは、他人に命令するだけの手配師に過ぎない。
また、開発者は、自分が担当したプログラムの範囲だけの部分的なシステムしか理解できない時が多い。
技術能力は特に、システム全体の仕様の整合性を考える時や、仕様漏れを見抜く時、非機能用件との兼ね合いを考える時に最も必要とする。
2・リーダーシップは、周囲の人の力を増大させるプロセスを作り出すこと
7つの習慣でも同じようなフレーズがあった。
本では、発言回数の最も少ない開発者の意見が、問題の解決の糸口になったと言う例が載せられていた。
チームのメンバーならば誰でもそのアイデアを尊重する雰囲気作りが大切なこと。
そのアイデアから他メンバーが更に連想して、問題解決の糸口を作り出すこと。
チームの多様性(本では有機性と呼んでいる)が大切なこと。
3・多様性とは、色んな役割の人がチームにいること
コーチングでも人を下記の4つのタイプに分けていた。
・自己主張が強くて感情が出にくいのが 「コントローラー」
・自己主張が強くて感情が出やすいのが 「プロモーター」
・自己主張が弱くて感情が出にくいのが 「アナライザー」
・自己主張が弱くて感情が出やすいのが 「サポーター」
実際の現場でも、ベテランだけでなく若手にも、何らかの役割がある。
開発チームでは経験上、下記の役割を担う人がどうしても必要だと思う。
・プロトタイプを作るのが好きな「アグレッシブプレーヤー」
このタイプは力任せにガンガン作る。
自由奔放に書きたいらしい。
・新しい技術の検証が上手な「アーリーアダプター型プレーヤー」
このタイプは新し物好き。
ソフトウェア開発では必須な人。
・お手本となるプログラムがあればどんどん書いていける「ペースメーカー」
このタイプがプロジェクトの進捗の鍵を握る。
・丁寧なテストでバグ出しするのが上手な「神の手を持つ人」
このタイプがテストすると、神の手を持っているかの如く、必ずバグが出る。
このタイプがシステムの品質を保障してくれる大切な人。
・プログラミングだけでなく環境構築やリリース作業もこなせる「ユーティリティープレーヤー」
このタイプは、緊急トラブル対応や火消し役で最も活躍する人。
運用保守で最も重宝される人。
但し、このタイプはプロジェクト後半になるほど負荷が大きくなるので、要注意。
開発チームは有機的な結合で出来上がるもの。
チームビルディングはXPやPFでも重要視している。
システム開発のチームビルディングは、他業界よりももっと特徴的な気がする。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
最近のコメント