基本情報技術者 ~システム開発[3]~
こんにちは!ポテトヘッド(@potato_head0809)です!
今回はシステム開発を行う際に、その開発周りのマネジメントについて
学んでいこうと思います。
システム開発の基本的なことには以前の記事で触れていますので、
ぜひご覧になってください。
システム開発の基本
potato-head0809.hatenablog.com
システム開発の手法
potato-head0809.hatenablog.com
では今回の内容に入っていきましょう!
プロジェクトマネジメント
プロジェクトには様々なことを明確にしたり決定したり
しなくてはいけません。
例えば、どのようなシステムを作成するのか。
期限は。予算、品質、スケジュールなど...。
これらのマネジメントを体系的にまとめたものがあります。
PMBOK(Project Management Body of Knowledge)です。
これは米国のプロジェクトマネジメント協会というところが
まとめたプロジェクトマネジメントの知識体系で、
国際的に標準的なものとなっています。
ここでWBSについて軽く説明をしたいと思います。
WBS(Work Breakdown Structure)とは、
プロジェクトに必要な作業や成果物を階層化した図で表したものです。
先程出てきたPMBOKではスコープ管理に活用されています。
何か大きなシステムを作るとしたとき、
いきなりそのシステムを完成させようとしても難しいと思います。
そこで、図のように細かく細分化することで、
何をするべきかなどが明確になり、全体的に把握することができます。
見積り
では続いて、開発コストについての話をしたいと思います。
開発する前に、お客様に予算などを伝えなくてはいけませんよね?
では、その予算はどのようにして算出しているのか...。
これには2つの方法があります。
「プログラムステップ法」と「ファンクションポイント法」です。
それぞれについて見ていきましょう。
まずはプログラムステップ法です。
昔からある見積り方法で、
ソースコードの行(ステップ)数によってコストを算出します。
一方、ファンクションポイント法は
表示画面や出力ファイルなどの利用者から見た機能に着目し、
その個数や難易度からコストを算出します。
メリットとしては、利用者が見える部分が費用として算出されるため、
利用者は理解しやすいものとなっています。
アローダイアグラム
では次に、スケジュール管理に関することについて見ていきましょう。
スケジュール管理にはアローダイアグラムを使って明確にしていきます。
アローダイアグラムは以下の図のようなものです。
数字の書かれている◯は作業の開始と終了を表しており、
結合点と言われます。
1つの結合点から開始できる作業は1つのみ。
→は作業を表す矢印(アロー)で線の上に作業名、
線の下にはその作業にかかる日数を記載します。
点線の矢印はダミー作業を表す矢印です。
2つ以上の作業がある場合には、このダミー矢印を使って
結合点へと繋げます。
では、全体の日数はどのようにして見るのか。
先程の図では、ダミー矢印が書かれているところで
枝分かれしているのでどれを数えて全体の日数にすれば良いのか...。
悩んでしまうかもしれません。
最初に簡単に述べておくと、一番日数のかかる経路で数えれば大丈夫です。
なぜ一番日数のかかる経路で数えるのかというと、
例えばFの作業はCとDとEの作業が終わっていないと
Fの作業を開始できないようになっているため、
一番日数のかかる経路で全体を見ていかなくてはいけないのです。
これを「クリティカルパス」と言います。
最早結合点時刻
ではアローダイアグラムについてなんとなく理解ができたところで
少し応用に入っていこうと思います。
と言っても、そんなに難しくはありません。
最早結合点時刻とは、対象とする結合点で、最も早く作業を開始できる日時のことです。
まずは図を見てみましょう。
そこまでの日数を数えて足すだけです。
少し気をつけることとしては⑥の作業のように
それまでに済ませておかなくてはいけない作業がある場合には
クリティカルパスの経路で数えることくらいです。
最遅結合点時刻
最遅結合点時刻とは、対象とする結合点が
全体に影響を与えない範囲で最も開始を遅らせられる日時のことです。
これについてもまずは図を見ておきましょう。
上の図でいうと④の作業の開始は⑥の最早結合点時刻が70日であるため。
④自身がかかる日数20日前の50日には作業を開始していなくてはいけません。
この50日が④の作業の最遅結合点時刻となります。
さいごに。
今回はシステム開発周りのことについて触れました。
スケジュール管理を中心に見ましたが、
もちろんこれ以外にもたくさんあります。
それらについては次回以降にでも記事に書きたいと思います。
今回も最後までご覧いただきありがとうございました。
宜しければツイッター(@potato_head0809)のフォローをお願いします!
今回は以上になります。お疲れ様でした。