firisu the shooter

プログラミング、Web開発について

平成22年4月 問3

システムが対象とする企業・機関
1. プロジェクト名称 資格教育業におけるWEB上のE-ラーニングシステムの開発
2. 企業・機関等の組織・業種 その他サービス
3. 企業・機関等の規模 301〜1000人
システムの規模
4. 対象業務の領域 その他(有料サービス)
5. 主なハードウェア Webシステム(サーバ約3台)
6. ネットワークの範囲 他企業・他機関との間
7. システムの利用者 1001〜3000人
プロジェクトの規模
8. システムの端末数 1001〜3000台
9. 総工数 150人月
10. 費用総額 120百万円(ハードウェア費を含まない)
プロジェクトにおけるあなたの立場
11. 期間 2007/04〜2008/02
12. あなたが所属する企業・期間等 ユーザ企業等のシステム部門
13. あなたの担当したフェーズ システム企画・計画, システム設計, プログラム開発, システムテスト, 移行・運用
14. あなたの役割 プロジェクトの全体責任者
15. あなたの管理対象人数 10〜15人
16. あなたの担当期間 2007/04〜2008/02

本文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
1.1 プロジェクトの特徴
 A社は都内に複数の予備校を持つ、資格教育サービス
業である。業務内容は対面式の授業、参考書の出版、通
信教育など多岐にわたっている。この度、A社は先がけ
てWEB教材(E-ラーニングサービス)の提供を実施
することになった。この決定は昨今の競争激化を受けて
経営会議によって下されたものであり、サービスの開始
時期も確定してしまっている。しかし当社にはWEBシ
ステムの開発経験がなく、厳しいプロジェクトになるで
あろうことが予測された。
 私はA社のSEであり、当プロジェクトのプロジェク
トマネージャとして任命された。開発期間は約10ヶ月(
2007年4月~2008年2月)であり、総工費は約1億2000
万円である。開発要員は全て自社の社員だった。
1.2 重点的に管理したアクティビティとその理由
 私はプロジェクトの開始に先立ち、WBS(Work Breakdo
wn Structure) を作成した。そこからアクティビティを
単位としたPERT図を作成し、クリティカルパスを分析し
た。するとユーザインタフェース設計に関するアクティ
ビティがクリティカルパス上にあることが分かった。よ
って私はこれを重点的に管理することにした。UI設計は
動的なものであり具体的なイメージがつかみずらく、計
画どおりに成果物を作成しにくいと判断したからだ。
1.3 進捗管理の方法
 当プロジェクトでは週次で進捗報告会を実施し、サブ
チームのリーダーに進捗を報告させる。リーダーにはチ
ームメンバの進捗を細かく把握させ、問題があればすぐ
に私に報告するよう支持を出してある。メンバが作成し
た成果物は構成管理ツールに登録する手順を取ったので、
私自身が実際の成果物を確認できるようになっている。
メンバの報告をうのみにせず、正確な進捗を把握できる
よう努めた。

2.1 アクティビティの完了日を守るための対策
 私はプロジェクト開始時に、UI設計に関するリスクを
分析した。その結果、プロジェクトの進捗に影響を与え
る要素が存在すると考えた。そこで私は、進捗遅れの兆
候を早期に把握し、品質を確保した上で、アクティビテ
ィの完了日を守るための対策を実施した。
 ①UI設計のプロトタイプ作成
 UI設計は動的な画面遷移や効率的なレイアウトといっ
た具体的なイメージを固めづらい要素を含んでいる。ゆ
えに要件の確定に手間取ることが予想される。そこで私
はUI設計のプロトタイプの作成を計画に盛り込んだ。こ
れによって、設計書のレビュー時や要件定義書の作成時
に、メンバ間で共通の認識が持ちやすくなる。したがっ
て成果物の確定が早まり、後工程の手戻りも防ぐことが
出来る。また、作成したプロトタイプは本番で使い回す
ことにした。そうすることで若干ながらプログラミング
工程の工数を削減できるからだ。
 ②技術チームの設置と活用
 当プロジェクトは、管理チーム・開発チーム・業務チ
ーム、そして技術チームの計4チームの体制を取った。
当社にはWEBシステムの開発経験が無いため、技術チ
ームの設置と活用が必須である。私は技術チームのミッ
ションとして、次の3つを位置付けた。1)WEB技術の
事前調査、2)開発メンバへの技術サポート、3)前述した
プロトタイプの作成、である。1)と2)は技術者の仕事と
しては当たり前のことであるから、メンバも役割をしっ
かり理解してくれるであろう。しかし3)については少々
特殊であり、そこが私の工夫点である。これには技術チ
ームにWEBシステムのノウハウを学ばせ後学に備える
という狙いがある。また、技術のスペシャリストが作成
したプロトタイプをベースに、開発チームがプログラミ
ングを行えるので、時間を節約することも出来る。
 ③構成管理ツールに登録された成果物の抜き取りチェ
ック
 週次に実施される進捗報告会によって各チームの進捗
状況を素早く把握できるようになっているが、私はこれ
だけでは不十分だと考えた。なぜならば報告会では進捗
遅れが起きた後に知らされる形になりやすく、遅れの兆
候を事前に把握しにくいからである。したがって私は、
出来上がった成果物の一部を抜き取りチェックすること
にした。そうすることでチームリーダからの進捗報告の
妥当性を検証でき、細かな進捗遅れの兆候にも気付きや
すくなるからだ。また、各メンバの仕事ぶりに目を通す
ことにもなるので、「自分の仕事をしっかり評価しても
らっている」という動機付けを与えることも出来ると考
えた。

3.1 進捗が遅れた原因と影響の分析
 外部設計の半ばが過ぎたころ、UI設計のアクティビテ
ィに遅れが生じた。進捗報告会で開発チームにヒアリン
グしたところ、業務チームによる成果物の承認が遅れて
いることが原因だと分かった。引き続き業務チームのリ
ーダーに話を聞くと、業務チームのメンバが他業務の多
忙さにより、充分な作業時間を確保できなくなっている
と分かった。
 私はすぐさま業務部門長に掛け合って業務量の調整を
依頼した。しかし、「今は業務部門の繁忙期であり、そ
ちらのプロジェクトに時間を取られる訳にはいかない」
との一点ばりだった。
 ここで私は改ためてPERT図を分析し、遅れの影響を調
べた。現状ではプロジェクト全体の一週間程度の遅れで
あるが、クリティカルパス上のアクティビティのため、
悪化した場合の影響は度外視できない。そこで私は次の
ような対策を実施することにした。
3.2 追加で実施した対策
①作業順序の入れ替え
 業務部門長と交渉を続けた結果、業務量を減らすこと
は出来ないが時期の変更は可能だということになった。
そのため私は業務チームの作業実施時期を延期すること
にし、その間他のチームで次の作業を進めることにした。
これによりチームが手持ちになる状況を解決でき、表面
的には進捗遅れが悪化することはなくなった。
②内部設計の前倒し
 ①に述べた対策では遅延を止めることはできても回復
することは出来ない。そこで私は次工程である内部設計
を前倒しして実施することにした。幸いにして、完成済
みの成果物とUI設計の成果物は互いに依存性が低かった
ので、並行作業を容易に行うことが出来たのである。ま
た元々の遅延も1週間という短い時間であり、早めに並
行作業を切り上げられる計算だった。
3.3 対策の結果
 私の実施した対策は予想どおりの効果を発揮し、プロ
ジェクトの遅れは回復した。その後も大きな問題はなく
開発は推移し、実稼働後も順調に運用されている。
 反省点としては、参加メンバの多忙時期を事前に把握
していなかったことが挙げられる。特に今回では定例的
な業務による忙しさが問題となったが、そういった事前
に予期できる問題に気付かなかったのは私のミスと言え
よう。次回からは計画段階においてこの点をしっかり考
えるようにしたい。
                     -以上-

Comments