今関わっているプロジェクトが納品を向かえることとなり
システム開発の工程として「保守・運用」のフェーズに
変わってようやくひと段落(まだ予断を許さない感じですが。。)
「保守・運用」と書きましたが、今回はちょっとまじめに言葉は
聞くけどよくわからない一般的な「システム開発の工程」について
SE的な観点で考えてみようと思います。
※ 自分自身の再確認も込めて
システム開発の工程は以下のような順で行われていきます。
あくまで「一般的」な視点なので細かいものは割愛です。
※青文字は上流工程、それ以外は下流工程
- 要件定義(RD:Requirements Definition)
- 基本設計(BD:Basic Definition)
- 詳細設計(DD:Detail Definition)
- 実装(P:Programing)
- 単体試験(UT:Unit Test)
- 結合試験(IT:Integration Test)
- 総合試験(ST:System Test)
- ユーザ受け入れテスト(UAT:User Acceptance Test)
- 保守(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くらいがそこそこできる
守備範囲といったところ。
運用・保守は大変なので好んでやりたくないですし
工程は会社やプロジェクトにより多少の違いはあるかもですが
上に書いた順番で行われるのが一般的です。
次からはそれぞれの工程について考えてみようと思います。