プロジェクトチーム構成編 -
第7章 チームメンバの役割
7.1 ビジョン主導型チーム構成
ソフトウェア開発において、オブジェクト指向技術を取り入れることにより、再利用メカニズムや複雑性を隠蔽するメカニズムが提供される。「第6章 Dropのチーム構成」で説明したADGとODGは、オブジェクト指向の再利用メカニズムを最大限引き出すことに適したチーム構成である。しかし、単にADGとODGにチームを分類するだけでは、Dropによるメリットを十分に生かすことはできない。重要なのはチームを構成するメンバの役割を明確にし、メンバ1人1人に役割を十分に理解させることだ。さらに、チームの中でメンバ個人の能力が最大限発揮できるよう責任と権限を与えて、それを発揮できるシステムをチーム全体で話し合いながら築いていくプロセスをとる。
このようなプロセスで成長したチームにおいては、様々な意志決定をなす際に、チーム共通のビジョンが表面に現れるような判断が下されたり、チームメンバ一人一人が自分のチーム内での役割に沿った行動が明確になされる。このようなチームをビジョン主導型チームと呼び、Dropの理想とするものである。
このようなDropチームに必要とされる登場者の名前と、その内容を次より明らかにする。
今後、本章では、Dropチームの説明のため、チームを構成する登場者のことをアクター(俳優)と呼ぶことにする。メンバは自分に与えられた役をアクターになりきって演じるのである。そのためには、アクターの必要とする技術知識の習得はもちろんのこと、他のメンバーからの信頼を得ることも重要となる。アクターの持つ演技は、それを演ずるメンバの目指すべき目標とした掲げられるものである。
図7-1 システム作りをチーム全体で話し合う
7.2 ADGとODGを構成するアクター
ADGとODGを構成するアクターの基本形を以下に示す。この表は、あくまで基本形であり、実際のシステム開発に合わせてアクターを追加する必要が生じるだろう。このようなアクターは基本アクターの派生もしくは、よりエキスパート化したアクターであり、表中では、エイリアス(別名)として表しているものだ。また、表中の「目標」とは、そのアクターを演ずるメンバが次に目指すべきアクターのことである。
なお、チームメンバが複数のアクターを兼任することもある。1人でできる範囲内であれば兼任したほうが、無駄なコミュニケーションがなくなり効率的である。また、各要員にサブ担当者をつけたりシステム内のアプリケーション単位に各要員を設けることもシステム規模に応じて必要となるだろう。
| アクター名 | 演技名 | 内容 |
|---|---|---|
| システム管理者 | 役割 |
システム開発全体の運営に関するリーダ。
対外的な交渉、システム計画の立案、システム開発全体の運営管理。 ADG要員全員が継続的にスキルアップできるよう、チーム作りを計画・指導する。 |
| 責務と権限 |
システム開発予算管理、システム開発計画の作成と変更・調整。
要員の確保。 要員のスキル向上の為の計画と予算の確保。 |
|
| 必要な能力 |
システム開発・管理に対する豊富な経験。
チーム内外の人間関係や政治的なトラブルを解消する能力。 問題を調整する能力と根気、対外的な交渉力。 プロジェクト運営に関わる敏速で適切な決断を下す能力。 |
|
| システム分析者 | 役割 |
システム分析・テストにおけるリーダ。
チーム要員の能力を最大限に発揮し、ADGチームの目的を達成する。 ユーザと問題領域を分析して実現可能な要求を定める。 ODGとの連携を行う責任者。 システム管理者と協力してプロジェクトを遂行する。 システムのテストデザインをする。 |
| 責務と権限 |
システム要求の確定、システム外部仕様の確定。
チーム内の作業分担の確定。 ODGとの作業分担の確定。 製品の納期厳守、ユーザの品質評価に対する責任。 要員のスキル向上の為の指導。 |
|
| 必要な能力 |
問題領域からユーザが必要とする要求を探り、実現可能なレベルでシステムを提案できる能力。
問題領域から汎用的な部分を見つけ出せる能力。 ソフトウェア開発の本質面で的を得た実装技術を議論できる能力。 幅広いオブジェクト指向技術の知識。 問題領域の中から本質的な重要面を探り出し、ユーザにもその重要面を注目させるテクニック。 問題を調整する能力と根気力。対外的な交渉力。 豊富なシステム開発の経験。 |
|
| 目標 | コンサルタント、ドメインアナリスト、コンポーネント分析者。 | |
| エイリアス | フレームワーク分析者、テスト管理者、DB分析者。 | |
| システム設計者 | 役割 |
システム設計・実装におけるリーダ。
システム全体の共通的な設計。 ODGとのコンポーネント設計・実装作業の連携。 |
| 責務と権限 |
システムアーキテクチャの決定。
要員のスキル向上の為の指導。 |
|
| 必要な能力 |
ユーザの問題領域を理解する能力。
システムの要求を実現するための設計能力。 システムを構築するソフトウェアアーキテクチャ全般に対する幅広い知識。 コンポーネント分析者にコンポーネント設計を提案できる能力。 システム分析者に実装面、保守面から的確なアドバイスができる能力。 オブジェクト指向技術に関する設計・実装の知識。 豊富なシステム開発の経験。 |
|
| 目標 | システム分析者、コンポーネント分析者。 | |
| エイリアス |
フレームワーク設計者、コンポーネント設計者、DB設計者、テスト管理者。
|
|
| システム実装者 | 役割 | クラスの実装とテスト。 |
| 責務と権限 | システムの設計仕様に基づくシステムの実装の責務。 | |
| 必要な能力 |
システムを実装できる言語技術とソフトウェアに関する一般知識。
システムの部分的な設計ができる能力。 |
|
| 目標 | システム設計者、コンポーネント設計者。 | |
| エイリアス |
フレームワーク実装者、コンポーネント実装者、テスト要員。
|
| アクター名 | 演技名 | 内容 |
|---|---|---|
| コンポーネント管理者 | 役割 |
ODGチームの運営に関するリーダ。
チーム要員の能力を最大限に発揮し、ODGチームの目的を達成する。 対外的な交渉、再利用基盤計画の立案、コンポーネント開発全体の運営管理。 |
| 責務と権限 |
コンポーネント開発の予算管理、コンポーネント開発計画書の作成と変更・調整。
要員の確保 要員のスキル向上の為の計画と予算の確保。 |
|
| 必要な能力 |
システム開発・管理に対する豊富な経験。
チーム内外における人間関係、政治的なトラブルなどを解消する能力。 問題を調整する能力と根気、対外的な交渉力。 オブジェクト指向チーム運営に対する明確なビジョンを持ち、トップを説得する能力。 プロジェクト運営に関わる敏速で適切な決断を下す能力。 |
|
| コンポーネント分析者 | 役割 |
コンポーネント分析・テストにおけるリーダ。
企業における再利用基盤モデルの構築計画をコンポーネント管理者に提案する。 ADGと問題領域を理解し、問題領域からコンポーネントを抽出する。 ADGとの連携を行う責任者。 ADGのシステム開発計画に基づいたコンポーネント構築の計画。 ADGとの作業分担方法の提案。 コンポーネント管理者と協力してODGチーム発展計画を遂行する。 |
| 責務と権限 |
チーム内の作業分担の確定。
ADGとの作業分担の確定。 コンポーネント・パッケージの納期厳守、コンポーネントの品質評価に対する責任。 要員のスキル向上の為の指導。 |
|
| 必要な能力 |
問題領域から汎用的な部分を見つけ出せる能力。
豊富なデザインパターンの知識、汎用化された問題をデザインパターンに組み込む能力。 ソフトウェア開発の本質面で的を得た実装技術を議論できる能力。 幅広く深いオブジェクト指向技術に対する知識と開発経験。 コンポーネント蓄積・保守に対する幅広い知識。 豊富なシステム開発の経験。 問題を調整する能力と根気力、対外的な交渉力。 |
|
| 目標 | コンサルタント、オブジェクト技術アナリスト、システム分析者。 | |
| エイリアス | フレームワーク分析者、テスト管理者。 | |
| コンポーネント設計者 | 役割 |
コンポーネント設計・実装におけるリーダ。
ADGのオブジェクト技術に関する教育・指導。 ADGとのコンポーネント設計・実装作業の連携。 |
| 責務と権限 |
再利用基盤モデルを構成するコンポーネント群のアーキテクチャ決定と管理。
要員のスキル向上の為の指導。 |
|
| 必要な能力 |
豊富なデザインパターンの知識、汎用化された問題をデザインパターンに組み込む能力。
コンポーネントの要求を実現するための設計におとせる能力。 コンポーネントを構築するソフトウェアアーキテクチャ全般に対する幅広い知識。 ADGチームの能力にあわせて、コンポーネント設計・実装面の指導ができる能力。 コンポーネント分析者に実装面、保守面から的確なアドバイスができる能力。 幅広く深いオブジェクト指向技術に対する知識と開発経験。 豊富なシステム開発の経験。 |
|
| 目標 | システム分析者、コンポーネント分析者 | |
| エイリアス | フレームワーク設計者、システム設計者、DB設計者、テスト管理者。 | |
| コンポーネント実装者 | 役割 | コンポーネント実装とテスト。 |
| 責務と権限 | コンポーネント設計仕様に基づくシステム実装の責務。 | |
| 必要な能力 |
コンポーネントを実装できる言語技術とソフトウェアに関する一般知識。
コンポーネントの部分的な設計ができる能力。 システム開発の部分的な設計ができる能力。 |
|
| 目標 | コンポーネント設計者、システム設計者。 | |
| エイリアス |
フレームワーク実装者、コンポーネント実装者、テスト要員。
|
7.3 チーム構成アクター Q&A;
Dropのチームを構成するアクターについて抱くであろう疑問点などをQ&A形式にまとめる。
Q1.「アクターは会社組織の役職に対応させて設定するものなのか。」
A1.基本的に異なるものである。しかし、組織がDropの目指すビジョン主導型チームにリエンジニアリングされていれば、アクターのリーダが会社組織の役職に近いものとなっているだろう。Dropによる組織改革」では、ソフトウェア会社における会社組織をDropの目指すビジョン主導型チームにリエンジニアリングするためのノウハウを書いている。
Q2.「システム管理者とコンポーネント管理者の能力について」
これら管理者の能力として、オブジェクト指向技術や実装技術は必須か?
A2.基本的に「NO」
管理者に必要とされる主な能力は、「豊富なシステム開発・管理経験」で培ったものである。
管理者の能力として重要なのは、「プロジェクトの計画や予算、そしてビジョンに関わる問題において重要な決定を下せる能力」である。もっと具体的に言うと、「プロジェクト進行における主要な決断」「プロジェクトの問題を早期に発見し除去する」「チームメンバの相談役」といった能力が最小限必要とされるである。
しかし、上記のような能力を持ち、オブジェクト指向技術や実装技術を持っているなら、非常に優れた「管理者」のはずである。
もし、そうでないとしたら、必ず「分析者」と「設計者」の強力な支援を持ってプロジェクトに関する意志決定を下すようにしなければならない。
Q3.「システム分析者とコンポーネント分析者の能力について」
これら分析者の能力として、オブジェクト指向技術や実装技術は必須か?
A3.コンポーネント分析者.....「YES」、システム分析者 .....基本的に「YES」
コンポーネント分析者はソフトウェア領域の再利用基盤を構築する以上、上記知識は必須。
システム分析者の場合は、大規模または複雑なシステム開発においては、問題領域のエキスパートが分析者として適任である。その適任者が、オブジェクト指向技術や実装技術を持っていないこともありうる。このようなシステム分析者は、システム設計者、コンポーネント分析者・設計者とのコミニュケーションをよりいっそう図ることが肝要である。システム分析者は、システム要求に対する実現可用性を十分考慮しておかねばならないのである。
Q4.「システム設計者とコンポーネント設計者の能力について」
これら設計者の能力として、オブジェクト指向技術や実装技術は必須か?
A4.コンポーネント分析者.....「YES」、システム分析者 .....「YES」
ただし、システム開発の中には、分析結果を具体化するための設計が必要とされることがある。たとえば知識ベースシステムの知識情報の構築設計や、ビジネスロジックの詳細設計などがそうである。このような設計には問題領域に詳しい人材が設計者となり、そのような設計者が、オブジェクト指向技術や実装技術を持っていないこともありうる。
この場合、ADGにもうひとりソフトウェアアーキテクチャに詳しい設計者が必要とされ、2人の設計者の共同作業でシステム開発を進めることが必要となる。
Q5.「システム設計者とコンポーネント設計者の能力について」
アクターへのメンバの割り振りは誰が決め、チームはどのように発展させるべきか?
まずはチームの中でディスカッションし、それぞれの適任者を決める。
この際、「8章 Dropによる組織改革」で述べるリエンジニアリングチームがディスカッションの中心となり、その後も継続して計画的なチーム作りを支援する。
7.5 チームメンバのビジョン策定基本原則
ADG、ODGは、チームのあるべき姿のビジョンをしっかり定める必要がある。「表7-1」、「表7-2」の各アクターの内容は、チームのメンバ個人個人のビジョン策定の一例でもある。しかし、表で示す役割や能力だけがメンバのビジョンではない。ここでは、Drop開発メンバとして考えるべき「目指すべきこと」「排除すべきこと」について整理する。これは、Dropチーム全体の、また、チームメンバ全員のビジョン策定の基本原則となる。
チーム・メンバとして目指すべきこと
- プロ意識を持って責任と権限を委譲する管理者・リーダ
- 勇気ある決断と責任をとれる管理者・リーダ
- チームメンバにあてがわれた責任と権限を統制できる管理者
- チームのビジョンが企業ビジョンの一つとして唱えられるよう努力する管理者
- 甘えのないプロ意識と、高度なコミュニケーション能力を身に付けたクールでホットなメンバ
- プロ意識を持って作業分担を図れるチーム
- 個人のなすべきことが明確になっているチーム
- 楽しく厳しく仕事ができるムード作りをチーム全体で促す
- チームとそのメンバが明確な目標と戦略を定め、それに邁進している状態
- メンバのビジョンとチームのビジョンが限りなく近い状態にあること
- 力のあるものがリーダになれるチャンスがあることをメンバ全員が知っている状態
- 問題に対して、誰でも改善策を提案し、チームの中で話し合えるようなムード
チーム・メンバして排除すべきこと
- 判断力のない人を管理者・リーダにしてしまうこと
- 役割・責任・権限が明確でない組織・チーム
- やる気が失せる発言が多い
- 力のない人を無造作にリーダにしてしまうこと
- 力のない人にリスクの多い作業を分担してしまうこと
- 権力による強引なチーム統制(長続きせず)
- 仲間意識が強くプロ意識が少ない和気藹々としたチームのムード
- 社会的モラルが欠如したメンバ、それを許す管理者
- 新しいことをしたがらないメンバ
- 改善という言葉を排除するようなムード。問題がわかっていても誰も「言えない、言わない」ムード






