今回はプロジェクトマネジメントについて解説していくよ!
いよいよ、仕事っぽくなってきましたね…
そうだね。
プロジェクトマネジメントをする人(プロジェクトマネージャー)は実はプログラマーより給料は高いし、残業も多かったりする。
おぉー大変そうなお仕事ですね…
他人ごとだなぁ。
エンジニアを目指す場合やIT分野で活躍するならプロジェクトマネジメント能力や知識は必須なんだよ?
え!そうなんですか!?残業増えるのかー…
みんながみんな仕事量が増えすぎて、残業も増えるわけではないけどそういう傾向にはあるかもね。
でも、さらに実はプロジェクトマネジメントの知識を極めれば仕事量を超適切にすることができて残業だってなくすことができるんだ!
す、すごい!ぼく、バイトですらサービス残業してしまうので、その知識知りたいです!!
やきそばくんはそんなバイトをまずは辞めた方がいいね…笑
じゃあプロジェクトマネジメントの解説を始めるね!
プロジェクトマネジメントの役割
夏休みの宿題、試験勉強、締め切り間近になって焦った経験は誰にでもあるはず。
システム開発でもそれは同じで、勘に頼った開発はスケジュールが甘く、そもそも無茶な計画だった。不慮の事故が起こったなどで平気でスケジュールが崩れることがあるんだ。
でもシステム開発は発注者と受注者がいるわけだからもちろんそこにはお金と同時に締め切りも発生する。
無茶な計画だったので締め切りが守れませんでした。という簡単な話にはならないんだ。
だからこそシステム開発を計画的に実行するために「プロジェクトマネジメント」という概念が生まれたんだ。
システム開発を管理することをプロジェクトマネジメントと言って、実際に担当として管理を行なっている人をプロジェクトマネージャーと呼ぶよ。
ぷ、プロジェクトマネージャーというのはプログラマーの行き着く先ってイメージなんでしょうか?
現場経験が何年以上必要とかあるんですか?
明確な期間があるわけじゃないしマネージャーが全員プログラミング経験者かって言われるとそうでもないよ。
システム開発を計画して計画通りに実行するための技術を持っているってイメージかな。
もちろん現場でプログラミング経験を積んでプロジェクトマネージャーという道もある。
PMBOKとは
プロジェクトマネジメントの技法にはさまざまあるけど、その中の一つがPMBOKなんだ。
従来の計画管理では品質、納期、コストについて個々の項目をいかに守るかに特化していたんだ。
けどPMBOKのおかげで、プロジェクトの目的と範囲、スケジュール、コスト、品質、人的資源、コミュニケーション、リスク、調達などのバランスを取れるようになって結果的にプロジェクトの成功確率もうんっと上がったんだ。
PMBOKは10つの項目に分かれていて、各項目の内容をチェックすることでスムーズな開発を進められるよ。
①プロジェクト統合マネジメント
全体を統合して偏りや破綻がなく機能させるための項目。
スケジュールを早めるときはタイムマネジメントで人員を増やすわけだけど、その分コストマネジメントに影響を及ぼすからそのバランスをとるという考え方だ。
②プロジェクトスコープマネジメント
プロジェクトがどこまでの作業をするのか決める項目だよ。
作業漏れや遅延につながる作業がないかを確認する項目。
③プロジェクトタイムマネジメント
スケジュールを守るための項目。
全体の仕事をWBSで細分化して一つ一つの作業時間を確認して進捗も管理する。
WBSについては前回説明したからそっちを確認してね。
④プロジェクト品質マネジメント
プロジェクトそのものやプロジェクトの成果物の品質を事前に定めた水準にする項目。
成果物だけではなく、プロジェクトのプロセスもマネジメント対象になっているのが特徴だよ。
⑤プロジェクト人的資源マネジメント
組織や要因の配置や役割分担を担う項目だよ。
単純に人を割り振るだけではなく、長期的にみて必要なスキルを要因につけさせる教育なんかも対象になる。
⑥プロジェクトコミュニケーションマネジメント
プロジェクトのステークホルダ(利害関係者)間で正しい情報を共有するための項目。
コミュニケーションの方法やどんな会議設定を行うかなどを定めるよ。
⑦プロジェクトリスクマネジメント
プロジェクトのリスク対応の方針を決め、リスクを識別、評価、需要水準を超えたリスクには対応とフォローアップをする項目。
リスクっていうのはプロジェクトにマイナスの効果を与える要因だよ。
もしかしたら、開発難易度が高すぎてプログラミングできないかもしれないとか!
⑧プロジェクト調達マネジメント
プロジェクトを予算内で終わらせるための項目。
情報システムのコスト見積もりは難易度が高いんだけど、EVM(Earned Value Management)というツールを使いながら予算を決めていく項目になる。
⑨プロジェクトステークホルダマネジメント
プロジェクトとステークホルダとの関係を円滑に保つ項目。
誰かが「前と話が違う!」ってならないように議事録をとったり、みんな仲良く開発が進められるようにする項目になる。
10項目の内容はなんとなく理解できたんですが、実際これがどうやって試験に出るんですか?
全部の名前を覚えたほうがいいとかですか?
10項目があるのがPMBOKなんだーってくらいで大丈夫!
試験にも直接10項目の細かい記述を問われることはほとんどないよ。
漠然と名前から内容を連想できるようになっていればOK!
あ、それだけならいけそうです。
プロジェクトマネジメント系で出題されやすいのは、むしろここから先に出てくる話だから!
アローダイヤグラム
仕事には順番がある。手術の場合だったら手を洗って滅菌してお腹を切って、処置をして、お腹を縫合してという感じ。
システム開発にももちろん順番がある。
前回説明した通り要件定義~設計~コーディング~テストといった流れはまさに順番を表しているね。
アローダイヤグラムはそんな順番や仕事の重要性を図でわかりやすくしてくれたものなんだ。
別名PERT図とも呼ばれる図でこんな感じだ。
(アローダイヤグラムの図)
左から順番に流れていくイメージで、上下に並んでいる②と③は同時実行できることを表しているよ。
そして④のように②と③両方からの矢印が向けられている処理については、矢印が両方揃った状態じゃないと④から先には進めないという意味になる。
矢印に書いてある数字は①から②までいくまでの日数を表しているよ。
②までいくには①から3日かかって、③には①から6日かかる。
AとBは同時実行できて、①からスタートすると3日後の状態としてはAは完了、Bは残り3日という感じになる。
②から④へは5日かかって、③から④へは4日かかる。③から⑤へは3日かかる。
④はCとDの処理が両方終わったら動き出す。
⑤から⑥へは2日、④から⑥へは4日かかる。
これがアローダイヤグラムの見方になるよ。
さて、ここで問題だ!①~⑥までトータル何日かかるでしょう?
え、突然問題ですか?えっとーとにかく足せばいいんじゃないかな…
A+B+…
それだと同時実行の部分が日にちがダブっちゃうんじゃないかな。
だから、えっとまず③にいくまでに6日かかるから…その間にAは終わって、Cも3日分進んで…
あーもうわからない!答え教えてください!!
いきなり問題は難しすぎたかな?やきそばくんの考え方が非常によかった。
じゃあ解説していくね。
考え方のコツとしては最初の線で一番時間のかかるものを選ぶ。だよ。
今回だと①→③の線が6日かかるから一番時間がかかるものだとわかる。
続いて、②と③に注目する。③に到着するときに6日使っているから②→④の線は3日分進んでいることになるからCは残り2日だね。
③→④、③→⑤はそれぞれ4日と3日かかる。
ということはCの残り、D、Eの中で一番時間がかかるのはDだとわかる。
ここまででようやく④まで無事に来れた。④までにかかった時間は10日(①→③ + ③→④)
10日経った状態を確認するとこうだ。
あとはFとGをやるだけ。
Gは10日時点で1日分進んでいるから残り1日、Fはこれから始めるから残り4日になる。
つまり4日が一番時間がかかるから、4日がプラスでかかって⑥に到達できる。
かかった日にちを全部足すと、6日(①→③)+4日(③→④)+4日(④→⑥)=14日となるんだ。
ちなみに、①→③→④→⑥のように一番時間のかかる道をクリティカルパスという言い方をして、この道のりが遅れるとシステムの完成までが遅れてしまうんだ。
だからクリティカルパスをとにかく遅れないようにするってのがスケジュールを守った開発のためには重要なんだ。
言われるとなるほどなぁって思っちゃいました。
自分で気づきたかった…
いいね向上心!
問題を解いていくうちにわかってくるからあとはどんどん例題や問題を解いていこう!
まとめ
今回はプロジェクトマネジメントについて解説してきたわけだけどどうだったかな?
前半は覚える系で退屈でしたけど、アローダイヤグラムは結構楽しめました!
もっとやって自分でもすっきり解けたら嬉しそうだなって思いました。
ぼ、ぼくもなんとか、自力で理解できたんで、あとは数をこなしたいですね。
二人ともいい感じだね。
前半のPMBOKはプロジェクトマネジメントの基本概念だからサラッと流しながらも名前から内容を連想できるくらいにはなっておいてね。
アローダイヤグラムは慣れればすぐに解けるようになるからあとは問題をこなして頑張ってみて。
じゃあ、今回はここまで、また次回!!
はい!ありがとうございました!!