システム開発ってどんなことするの?
エンジニアの人に発注してるけど、よくわからん…
このような疑問に答えていきます。
結論
システム開発は次の工程で進みます(詳細は後述)
- 要件定義:何を作るか、いつまでに作るかを決める
- 設計:どのように作るか決める
- 製造:実際に作成する
- テスト:仕様通りに作成できているか検証する
また、一気通貫で行う「ウォーターフォール」と、短期間で要件定義~テストを実施し、開発サイクルをすばやく複数回実施する「アジャイル」と呼ばれる開発モデルがあります。
記事の信頼性
私は新卒でSIerという「対企業向けにシステムを開発する企業」に就職しました。エンジニアとして、システム開発の全工程(要件定義や設計、開発、テスト、リリース、保守まで)を担当してきましたし、現在はAndroidのアプリも作成していますので、経験者の視点からお話ししていきます。
YouTubeでも解説しています!
動画でも本記事の内容をご紹介しています!
他にもシステム開発やSIerのキャリアに関する情報発信をしていますので、ご興味ありましたら是非ご視聴ください。
電子書籍も販売しています
本記事の内容は電子書籍でも解説しています!
ご興味ありましたら是非ご一読ください。
また、AmazonのKindle Unlimitedというサービスを利用されている方は無料で読むことができます。
このサービスは、980円/月で利用できる、電子書籍の読み放題サービスです。
中には1,000円以上する書籍もありますので、1冊読めば元が取れるものもあります。
最初の30日間は無料ですので、ぜひ、お試しください。
システム開発工程について
システム開発は要件定義・基本設計・詳細設計・製造・単体テスト・結合テスト・システムテスト・本番移行の流れで進めます。各工程の説明は次の通りです。
各工程の目的をざっくりとまとめると、次のようになります。
- 要件定義:何を作るかを決める
- 基本設計・詳細設計:どのように作るかを決める
- 製造:実際に作成する
- テスト:仕様通り作成できているか検証する
要件定義とシステムテスト、基本設計と、結合テスト、詳細設計と単体テストが対になっており、V字モデルと呼ばれることもあります。
2つの開発モデル
システム開発は次の図のように、各工程を進める「ウォーターフォール」と呼ばれると、小さくサイクルを回して改善していく「アジャイル」と呼ばれる開発モデルがあります。
ウォーターフォール型
ウォーターフォールモデルは、各工程を分割し、1つ1つの工程をきっちり終わらせて次の工程に進んでいく開発手法で、上流から下流へ順次移行していくため、多岐に例えてウォーターフォールと呼ばれます。
この手法は作成するものが明確で、かつ管理もしやすいため、大規模開発で採用されることが多いです。前工程に戻ることは無いため、各工程で漏れなく進める必要があります。
アジャイル型
一方、アジャイルと言うのは、短期間で要件定義~テストを実施し、開発サイクルをすばやく複数回実施す開発手法のことを指します。(アジャイルとは、素早い・敏捷という意味)
プロトタイプを作成するため、要件が明確でなくても適宜カスタマイズでき、小規模開発に向いています。(新サービスの立ち上げ時など)
しかし、ウォーターフォールに比べ管理が難しく、遅延することも多いため注意が必要です。
2つの開発モデルのメリットデメリット
さて、この2つの開発モデルはどちらが優れているというよりは、それぞれメリット・デメリットがあるので、状況に応じて使い分けることが重要です。
私がSIerで働いていた時は、ウォーターフォールモデルがメインでしたが、転職してBIツールを作成するようになってからはアジャイル的に開発することが多いです。
要件が変わりやすい内容や、小規模開発であればアジャイル、要件がある程度明確に決まっていて開発規模も大きいのであればウォーターフォールを選ぶと良いでしょう。
まとめ
今回はシステム開発の全体像と2つの開発モデルについて解説してきました。
システム開発は各工程で行うことも多く、詳細を解説する記事は別途作成しようと思いますので、興味がありましたら、そちらの方もご参照ください。
ではでは。
コメント