システム開発の流れ
皆さんが「この作業、なんとかシステム化したいな」と思った時、何から始めればいいのでしょう。
今回は、システム開発の工程について、確認していきましょう。
システム開発において最も一般的なウォーターフォール開発についての流れを紹介します。
要件定義
この工程では、システムに何をさせたいか、開発目的を明確にします。
目的を明確にして開発会社に要求する内容をまとめましょう。
まとめた内容を元に、システム開発を行う目的やターゲットについて開発会社と打ち合わせします。
打ち合わせの結果、要求事項を決定します。
開発会社は、要求事項から、予算や人員、期間を計画します。
システム会社は、その要求内容が「アナログ」的なものとすると、その要求を、ITシステムという「デジタル」に変換します。この変換内容が要件定義となります。
この段階で注意すべきことは、ウォーターフォール開発では開発が始まると前の工程に戻らないということです。
プロジェクトが始動したら、最初に全体の計画書を完成させます。その計画書にしたがってシステム開発を進めることになります。
1工程ずつ完了させて次の工程に進みます。前の工程に戻ることはありません。
最初の打ち合わせで決定する計画が重要になるので、要求する内容はしっかりと具体化してまとめておきましょう。
設計
要件定義が固まると設計段階に入ります。
システムでの設計は、外部設計と、内部設計に分かれます。
外部設計はいわゆるフロントエンドと呼ばれ、ユーザーインターフェースの設計となります。
ユーザーインターフェースとは、簡単にいうと画面などの外観的な見た目の設計となり、「ユーザーにとって使いやすいシステム」を作るための重要な工程になります。
レイアウトや、色合いなどユーザーが考えることなくスムーズに操作できる様に設計する必要があり、ユーザーが使い、良いか否かにダイレクトに影響するので、システム会社との打ち合わせはしっかり行っておきましょう。
内部設計は、ユーザーが直接見る事のない、サーバー側の設計となります。
システム内の機能や動作、データをどの様な形で保存するかなど、詳細な部分の設計になり、開発者側視点でのシステム設計部分です。
プログラミング(コーディング)とテスト
外部設計と内部設計が完成したら、いよいよプログラミングです。
設計通りにプログラムがされていきます。
人体を例に出すと、DNAという設計図通りに、筋肉・骨・臓器をそれぞれ作っていくイメージです。
ある程度、プログラムが完成すると、単体テストと言われる、ブロック毎での動作確認になります。
実際に作成したプログラムの一つ一つが最初に定義した要件を満足しているかを確認する作業になります。
単体テストで要件が満たされている事が確認できれば、総合テストとなります。
複数のプログラムを組み合わせた状態でそれらがうまく機能するか確認する作業になります。
各プログラムを結合した状態で動作をさせます。例えば、各画面から入力されたデータの受け渡しが正常に行われているかなど、システム全体としての流れや操作を確認します。
プログラミングとテストは開発側で行われる作業で、お客様にお納めする前段階で行われる工程となります。
運用テストとリリース
プログラムが完成したら、実際に業務に取り入れることができるか確認します。
運用テストでは、制作したシステムを運用する環境下において、不具合がないかをテストします。
今までのテストと異なるのは、実用性に重点を置いたテストになるということです。
実務に取り入れたテストになるため、お客様は最初に要求した通りの動作や機能が満足され、目的通りのシステムになっているかを確認する作業になります。
一般的に、利用される部門の実施担当者がテストを行います。
アナログで行っていた業務をシステム化しているので、今までとは異なった内容の作業もあります。
社内で何を確認するかしっかり打ち合わせの上、運用テストの準備を行いましょう。
運用テストが終われば、いよいよリリースです。
リリースとはユーザーが実際に使用できるようにすることです。
旧システムからの移行の場合は、データの移行も必要となるため、日程の調整が必要です。
移行に要する時間や作業内容を確認して、開発会社と日程を調整しましょう。
今回は、ウォーターフォール開発についての流れを紹介しましたが、開発方法については、一般的に「ウォーターフォール開発」と「アジャイル開発」があります。
それぞれ、目的に合った開発方法を選択しシステム開発を進めることができます。
要約すると、「ウォーターフォール開発」は、上流の工程から下流の工程へ順におこなっていくのが特徴です。プロジェクトにより例外はあるものの、基本的には各工程を計画通りに制作し、最終まで制作し、納品して完了となります。
計画的に工程が進むため、品質が担保しやすいメリットがあります。
一方、「アジャイル開発」はスピード感ある開発方法です。必要最小限の機能で運用を開始します。運用と同時に市場テスト行い、改良や機能を追加しながらシステムを成長させていく開発方法です。
新規事業立ち上げ時などスピーディーな開発が要求される場合や、市場の反応が明確でない場合に有効です。
予め、工程の流れを理解した上で開発会社との打ち合わせを行う事で、必要な時期にシステムが製作できるようになります。
まとめ
今回は、システム開発の工程の流れについて紹介しました。
システム開発を行う上で、開発側に全てお任せするケースもあります。しかし最小限でも知識があることで、開発をスムーズに進めることができます。
今回解説させていただいた内容を元に、信頼できる開発会社に依頼しましょう。
KG-Innovationについて
中小企業のIT化をサポートすることを目的としてサービスを提供しています。
オープンイノベーション・IT共創事業をお考えの企業様へのサポートと、事業を始めるために必要なツールをDX事業として展開し、『何から始めたら良いの?』とお悩みの中小企業様の支援が出来る体制を整えています。
・新規事業立案
・新規事業のwebシステム開発
・ホームページ制作
・MAツールによる集客
・RPA(事務ロボット)による業務の効率化
・ERP(基幹システム)による生産性向上など
中小企業様への支援用ツールの多さが魅力です。