[技術]システム開発の工程について考える - 概略

今関わっているプロジェクトが納品を向かえることとなり
システム開発の工程として「保守・運用」のフェーズに
変わってようやくひと段落(まだ予断を許さない感じですが。。)

「保守・運用」と書きましたが、今回はちょっとまじめに言葉は
聞くけどよくわからない一般的な「システム開発の工程」について
SE的な観点で考えてみようと思います。
※ 自分自身の再確認も込めて

システム開発の工程は以下のような順で行われていきます。
あくまで「一般的」な視点なので細かいものは割愛です。
※青文字は上流工程、それ以外は下流工程

    1. 要件定義(RD:Requirements Definition)
    2. 基本設計(BD:Basic Definition)
    3. 詳細設計(DD:Detail Definition)
    4. 実装(P:Programing)
    5. 単体試験(UT:Unit Test)
    6. 結合試験(IT:Integration Test)
    7. 総合試験(ST:System Test)
    8. ユーザ受け入れテスト(UAT:User Acceptance Test)
    9. 保守(MT:Maintenance)・運用(OP:Operation)

列挙してみるとわかりますが、実は意外と沢山あります。
次に上記工程に役割をつけてみます。

No 工程  役割
 1 要件定義 PM、PL、(SE)
 2 基本設計 PL、SE
3 詳細設計 PL、SE、(PG)
4 製造 (SE)、PG
5 単体試験 (SE)、PG
6 結合試験 SE、PG
7 総合試験 PL、SE、PG
8 ユーザ受け入れ試験 PL、SE、PG
9 保守・運用 PL、SE、PG
PM:Project Manager PL:Project Leader   SE:System Engineer PG:Programmer

こうやって表にしてみると、SEの仕事範囲って広い・・・。

私自身は一通りの工程を経験してきましたが、全部が
全部得意なわけではなく2~6、7くらいがそこそこできる
守備範囲といったところ。
運用・保守は大変なので好んでやりたくないですし


工程は会社やプロジェクトにより多少の違いはあるかもですが
上に書いた順番で行われるのが一般的です。

次からはそれぞれの工程について考えてみようと思います。

コメントを残す