Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
ソフトウェア工学1第6回 プロジェクト・マネジメント
2017年5月23日講師:中島
SEのスキル と プロジェクト・マネジメント
• 企業で求められるSE (System Engineer) 像
政治力
プロマネ力
基礎 IT技術力
プロジェクトマネジメント領域の経験と能力
by 馬場史郎
客と対し、技術を語り、リスクと責任を引き受け、プロジェクトを成功へと導く人
客とも社内ともギリギリのやり取りができる力(人間力: プレゼンテーション力、コミュニケーション力、信頼・責任)
基礎となってい
る
顧客の問題に対してITソリューションを語れる力それを実現できるエンジニアリング能力
授業内容
1. プロジェクト・マネジメント(PM)とは
2. PMの知識体系
3. PMの基本
4. スコープ定義
5. 計画+監視&制御: タイムマネジメント
1.プロジェクト・マネジメント(PM)とは
• プロジェクト:
1. 期間がある
2. 達成すべき目標がある
3. 割り当てられたリソース (人と設備)を使う一連のタスクである
4. 計画的かつ系統的なアプローチで目標を達成する
5. (多くの場合)チームで活動する
• マネジメント:
≠ (日本的な意味の)管理する
= 経営する,困難を克服する,道を切り開く
1.プロジェクト・マネジメント(PM)とは
開発の始まり 監視&制御
成功領域 (品質、コスト、納期)
最初の目標(理想)
計画
再計画
・成功までのルートを発見
by W. Royce
マネジメント =経営する,困難を克服する,道を切り開く
・駄目なら目標・ルートを再設定
・ルートを基準に監視&制御
達成可能な目標
開発終了
プロジェクトマネジメント
顧客要求(変更依頼)
上級管理指導
顧客/上級管理報告
成果物
状況/進捗報告
要件(変更要求)
開発作業
作業計画(再計画)
1.プロジェクト・マネジメント(PM)とは
• 開発作業との関係
監視・制御
2.PMの知識体系
PMBOK: Project Management Body of Knowledge• モダン・プロジェクト・マネジメントの知識体系
• アメリカの非営利団体PMI(Project Management Institute)が策定され,事実上の標準として世界中で広く受け入れられている
• 1950年代後半に米国防総省が大規模プロジェクトを遂行するためにマネジメント手法を体系化したのが始まり
2.PMの知識体系
統合マネジメント
スコープマネジメント
タイムマネジメント
コストマネジメント
品質マネジメント
人的資源マネジメント
コミュニケーションマネジメント
リスクマネジメント
ステークホルダーマネジメント
プロジェクト憲章作成プロジェクトマネジメント計画書作成プロジェウト作業の指示・マネジメントプロジェクト作業の監視・コントロール統合変更管理プロジェクトやフェーズの終結
スコープマネジメント計画要求事項収集スコープ定義WBS作成スコープ妥当性確認スコープコントロール
タイムマネジメント計画アクティビティ定義アクティビティ順序設定アクティビティ資源見積りアクティビティ所要時間見積りスケジュール作成スケジュールコントロール
コストマネジメント計画コスト見積り予算設定コストコントロール
品質マネジメント計画品質保証品質コントロール
人的資源マネジメント計画プロジェクトチーム編成プロジェクトチーム育成プロジェクトチームのマネジメント
コミュニケーションマネジメント計画コミュニケーションマネジメントコミュニケーションコントロール
リスク特定定性的リスク分析定量的リスク分析リスク対応計画リスクコントロール
調達マネジメント計画調達実行調達コントロール調達終結
ステークホルダー特定ステークホルダーマネジメント計画ステークホルダーエンゲージメントマネジメントステークホルダーエンゲージメントコントロール
コストマネジメント リスクマネジメント
調達マネジメント
ステークホルダーマネジメント
Quality
Delivery
Cost 知識エリアの構成要素知識エリア
PMBOK: Project Management Body of Knowledge
10個あることを覚えとこう
10個の知識エリア
2.PMの知識体系: PMP
Project Management Professional (PMP)
プロジェクトマネージャの職能を認定
– PMIの資格試験– PMBOK習得と,職業人としての見識を問う
– 受験資格として,大卒以上,プロジェクトマネジメント業務を4500時間・3年以上経験などが求められる.
– 2014年:資格認定者,世界で62万人,日本では3万2千人
(問題例)ソフトウェア開発者の熟練化により、開発コストは10%減らすことができることが分かった。次期開発の開発コストとして、1人月あたり100万円かかると見積もった。これが意味するところは:
A. 学習サイクルB. 収穫逓減の法則C. 80/20の法則D. 係数モデルコスト見積もり
企業では人気資格
3.PMの基本
PM =
リスクマネジメント
監視&制御計画
スコープ(目標)を明確にし、不確定要素(リスク)を減らし、計画+監視&制御の精度を上げていくプロセス
時間
リスクマネジメント + (計画+監視&制御)*
スコープ定義 +
スコープ定義
プロジェクト目標を決める
計画を立てる
最初は不確定なことばかり→「リスク」がいっぱい
リスクを減らす計画
管理のための計画
リスクマネジメント
監視&制御計画スコープ定義
4.スコープの定義
スコープ記述: プロジェクトの目標を設定する
・作業範囲 :何を生み出すか (作り出す成果物とサービス)
・成功目標 :何をもって成功とするか
・制約条件 : プロジェクトが満たさなければならない条件
・前提条件 : プロジェクトの成功上前提とする条件
・終了条件 : プロジェクトが終結する条件
QやDに対する必達条件、規制、標準、運用環境など
客先の仕様の確定時期、再利用の目論見、前のプロジェクトの終了時期、外注先の利用など
・Q (Quality) : 要求する成果物とサービスに対する品質目標・C (Cost) : 開発に要するコストの目標・D (Delivery) : 成果物とサービスを提供する納期
スコープの定義: WBS
WBS (Work Breakdown Structure)• プロジェクト全体の「作業範囲」を系統立てて定義したもの
• 一段レベルが下がるごとに詳細な記述となっている
• プロジェクトが作り出す成果物 と サービス を中心に展開する
経理システム開発プロジェクトマネジメント
システム設計書
統合テスト
ユーザ教育
財務会計サブシステム
一般会計サブシステム
売掛金サブシステム
買掛金サブシステム
連結決算サブシステム
方式設計書
詳細設計書
勘定部
情報部
結合テスト
経理システム
問題1
• 顧客にブラックジャックゲーム開発依頼を受け、プロジェクトをスタートする。「ブラックジャックゲームの開発」プロジェクトの作業範囲(WBS)を記述せよ。
• 顧客条件は以下:
– プログラムを作ってもらい、我々(顧客)がOKしたら、展示会でデモを実施してほしい。
– プログラム(含コード)とマニュアルを納めてくれ。
解答例
ブラックジャックゲーム(BJG)の開発
BJGソフトウェアの開発
BJGプログラム
BJGマニュアルデモンストレーション
リスクマネジメント
監視&制御計画スコープ定義
4.スコープの定義
スコープ記述: プロジェクトの目標を設定する
・作業範囲 :何を生み出すか (作り出す成果物とサービス)
・成功目標 :何をもって成功とするか
・制約条件 : プロジェクトが満たさなければならない条件
・前提条件 : プロジェクトの成功上前提とする条件
・終了条件 : プロジェクトが終結する条件
QやDに対する必達条件、規制、標準、運用環境など
客先の仕様の確定時期、再利用の目論見、前のプロジェクトの終了時期、外注先の利用など
・Q (Quality) : 要求する成果物とサービスに対する品質目標・C (Cost) : 開発に要するコストの目標・D (Delivery) : 成果物とサービスを提供する納期
問題2
• 顧客からは、さらに以下の条件が示された。
– 10日後に成果を確認したい。展示会は14日後外せない。その後納入。– 確認時に、気に入らなければ作り直しをお願いする。– 全部ひっくるめて30万円以内で実施してくれ。– Cで作り、端末モードで動作するもとのとするが、将来的には、GUIを持っ
たものにしたい。
• 「ブラックジャックゲームの開発」プロジェクトの成功目標、制約
条件、前提条件、終了条件を記述せよ。
成功目標
制約条件前提条件終了条件
Q: プログラム: 顧客が満足する使用性と信頼性、GUI対応の拡張性をもつマニュアル: 顧客が読んで分かる
C: 30万円以内D: 10日後:プログラム動作確認完了、14日後:展示会終了
14日後に展示会を実施、C言語で開発
特になし
展示会後の納入
規模見積り
コスト見積り
◇要求→概念設計
ソフトウェア規模
◇ソフトウェアの複雑性・技術リスク(要求のあいまいさ,新技術の活用)
・要求される品質の高さ(性能/信頼性/セキュリティ)・開発/テスト環境上の制約
◇再利用性
◇要員・組織の能力・アプリケーションドメインの経験・言語/プロセス/ツールの選択と経験
開発工数
見積り
コスト見積り: プロジェクトの目標が達成可能かを見積もる
価値 /生産性 =コスト
係数見積り法
係数見積もり
BJGプログラム
→概念設計(部分に分ける)
要求: 掛金管理できる、ゲームの管理ができる
規模見積もり
200行
200行
100行
工数見積もり
再利用率(開発係数)
複雑度(係数)
要員能力(係数)
掛金管理部
ゲーム管理部
表示・入力部
基準生産性
10行/人時
÷
0%(1.0)
0%(1.0)
0%(1.0)
×
中(1.0)
中(1.0)
低(0.8)
×
中(1.0)
低(1.2)
中(1.0)
×
= 20人時
= 24人時
= 8人時
計 500行 計 52人時
ボトムアップ見積もり&価格見積もり
• WBS毎に工数を出し、積み上げる
ブラックジャックゲーム(BJG)の開発
BJGソフトウェアの開発
BJGプログラム
BJGマニュアルデモンストレーション
6人時
2人時
52人時
60人時
• 価格を出す
価格 = 開発コスト + 利益= 開発工数×レート + 利益
30万円= 60人時×5,000円/人時 + 利益※ 利益=0円
0%(1.0)
計 52人時
= 20人時
係数見積もり(やり直し)
BJGプログラム
前提条件:
規模見積もり
200行
200行
100行
工数見積もり
再利用率(開発係数)
複雑度(係数)
要員能力(係数)
掛金管理部
ゲーム管理部
表示・入力部
基準生産性
10行/人時
÷
80%(0.2)
0%(1.0)
0%(1.0)
×
中(1.0)
中(1.0)
低(0.8)
×
中(1.0)
低(1.2)
中(1.0)
×
= 4人時
= 24人時
= 8人時
計 500行 計 36人時
既開発のポーカーゲームの掛金管理部を80%流用する
プロジェクトスコープ(修正後)
• 開発の見積もりと前提条件を盛り込み、スコープを修正
作業範囲
成功目標
制約条件
前提条件
終了条件
ブラックジャックゲーム(BJG)の開発
BJGソフトウェアの開発
BJGプログラム
BJGマニュアルデモンストレーション
Q: プログラム: 顧客が満足する使用性と信頼性、GUI対応の拡張性をもつマニュアル: 顧客が読んで分かる
C: 開発コスト 22万円以内 (プログラム生産性 10行/人時以上)D: 10日後:プログラム動作確認完了、14日後:展示会終了
既開発のポーカーゲームの掛金管理部を80%流用する
14日後に展示会を実施、C言語で開発
展示会後の納入
これ書けたら一人前
5.計画+監視&制御:タイムマネジメント
計画すべき要素
① 開発工程・プロセスの定義
② スケジュールの作成
③ 品質計画
④ コスト計画
⑤ コミュニケーション計画(開発体制、やりとりの定義)
⑥ 要員教育計画
⑦ 作業標準・環境定義
⑧ 各種管理計画(リスク、品質、進捗、コスト)
リスクマネジメント
監視&制御計画
時間
スコープ定義
監視・制御を行うための計画
タイムマネジメント
スケジュールの作成
① 作業定義
② 作業順序決定
③ 作業所要見積り・期間見積り
④ スケジュール定義
①作業定義
• WBS (Work Breakdown Structure) 実際の作業に分解する
1 基本設計1.1 基本設計図作成1.2 機能要求の決定
2 衛星部開発2.1 構造設計2.2 電気設計2.3 材料調達2.4 衛星本体製造
2.5 点灯実験
3 大仏部開発3.1 構造設計3.2 大仏本体製造3.3 台座部製造3.4 仮組立試験
4 組立4.1 バッテリ取付4.2 胴体部取付4.3 頭部取付4.4 衛星部取付4.5 左腕部取付
5 最終確認と仕上げ5.1 点灯確認5.2 担ぎ確認5.3 仕上げ
台座
担ぎ棒
衛星
点滅灯
本体
バッテリ
1. 作るものによる分解2. 作業フェーズによる分解
②作業順序決定
• 作業間の順序関係を定義する
組立
衛星部開発基本
設計大仏部開発
最終確認と仕上げ
仮組立試験
大仏本体製造構造
設計台座部製造
③作業所要見積り
• 各作業の見積りをする
組立
衛星部開発基本
設計大仏部開発
最終確認と仕上げ
仮組立試験
大仏本体製造構造
設計台座部製造
8h22h
h
6h 4h
4h
10h
20h
2h
h総期間
組立
衛星部開発基本
設計
大仏部開発
最終確認と仕上げ
③作業所要見積り・期間見積り
• 期間見積もりをする
• クリティカルパス:余裕時間0のパス
8h22h
26h
6h 4h
000
8124
34340
40400
880
44440
30最早結合点
最遅結合点
余裕時間
クリティカルパス
最早結合点時刻を求める方向
最遅結合点時刻を求める方向
一番の管理対象
④スケジュール定義
特徴• やるべき作業の漏れがない• 何を、誰が、いつやるかが分かりやすい
• 作業を縦に並べる• 作業の所要時間見積もり、担当(リソース)を決める• 作業の開始日・終了日を決定し時間軸に展開する.担当の重複に気をつける
ガントチャート チームで開発するときは必ず作ってね
監視&制御: 進捗管理
• スケジュール(計画)に対する進捗(実績)を入れ、定期的に監視する.• 稲妻線: 現時点で,遅れているタスクと進んでいるタスクを見せる
特徴:• 進んでいるところと、全体で,どれくらい進んでいるのかわかりにくい⇒ プロジェクト全体が遅れるので、クリティカルパスの進捗が重要(逆に、それ以外の作業の進捗は2の次でよい)
ガントチャートを進捗管理に使う
先週から進んでいない⇒ 原因を分析しテコ入れする
問題3
• 「ブラックジャックゲームの開発」のスケジュール定義をガントチャートにて行え。以下に注意:
– 作業定義では、以下に注意:
• スコープ定義のWBSを詳細化する
• 成果物は納入物だけでなく、中間設計成果物も含める
• 成果物のレビューを作業として加える
– 作業所要の見積もりでは、係数見積もりとの整合性を考える
– 担当はA、Bの2名でやる
– 作業順序を考え、クリティカルパスを考える
– スケジュールは、イベント(顧客確認、展示会)と整合させる
レポートには,氏名,学籍番号,問題番号を書くこと6/5(月) 17:00までに研究棟14G32ポストに提出(または6/6授業に持ってくること)提出しなくても減点にはしません。提出したら内容に応じて加点します。