しかしただシステム開発会社へ丸投げをしてしまうと、システム開発は成功しません。予算と期間をかけて開発を行うものなので、きちんと自社の要望を伝え、有益なものとしなければ、導入後に後悔してしまいます。
後悔しないためには「システム開発工程」を理解して、開発会社と綿密なコミュニケーションを取ることが大事です。
本記事ではシステム開発工程の流れから、想定される期間までを解説していきます。
ぜひ本記事を参考にスムーズなシステム開発を行なってください。
システム開発工程とは?
システム開発と考えると難しく感じてしまいますが、日常にある他のものでも決められた工程に沿って行うものと考えれば理解しやすいでしょう。
たとえば美味しいカレーを作ろうと考えたら、材料は「ジャガイモが〇〇個、にんじんが〇〇個、豚肉が〇〇g、水の分量は〇〇ml」、手順は「にんじんとジャガイモを炒めて、水を入れて〇〇分間煮込む、ルーを入れてゆっくり回す」などのように、決められた工程に沿って行えば美味しいカレーを食べることができます。
そのためシステム開発の工程とは、システムを開発するための設計書を作って設計書通りに進めていくものということです。そんなシステム開発工程には2つの方法があります。
ウォーターフォールモデル
ウォーターフォールモデルは順番に開発工程を進めていき、一つ完了したら次、一つ完了したら次と、前に戻ることなく進めていく開発手法です。
段階的に開発を行なっていくので、「今どこの手順を行なっているのか?」がわかりやすく、作業がスムーズになるのが大きなメリットになります。そのため工数が多くかかる大規模なシステム開発に向いています。
多くのシステムはウォーターフォールモデルを元に開発されているので、開発時に採用されやすい手法です。
アジャイル開発モデル
アジャイル開発モデルは短期間で開発、効果検証を繰り返して完成させていく開発手法です。
短期間でのサイクルを繰り返すため、システム修正への対応や急遽の仕様変更などにも対応しやすいのが大きなメリットです。一方でウォーターフォールモデルのようにステップを踏んで進めていく手法ではないため、開発までのスケジュールが読みにくいのがデメリットになります。スピード感を持って開発したい時には有効な手法です。
システム開発工程の流れ
工程は下記の通りです。
要件定義
外部設計
内部設計
プログラミング
単体テスト
結合テスト
システム(総合)テスト
運用テスト
システム移行
運用・保守
システム開発工程①:要件定義
要件定義は開発に必要な要素を決めていく工程です。システムでどんなことを実現したいかを定義付けし、定義したものに沿って「プロジェクト体制、開発期間、納品物、機能要件」などを要件定義書に落とし込んでいきます。
今後の工程はこの要件定義で作成、確定した要件定義書に沿って行います。要件定義はシステム開発の骨格になる部分のため、入念な打ち合わせと確認によって進めていきます。
システム開発工程②:外部設計
外部設計とはシステム画面上のデザインやインターフェースを開発する工程です。
導入後にシステム利用者が見やすく、使いやすいような設計になるので、どのような画面で作業したいのか希望を出してすり合わせを行います。
システム開発工程③:内部設計
外部設計が固まったら、システム開発会社にて詳細設計書を作成します。
詳細設計書は開発者側からのシステム設計の文書です。基本的にはシステム開発側の作業になるので、発注者側の作業は発生しません。
システム開発工程④:プログラミング
内部設計で作成した詳細設計書に基づいて、プログラム開発を行います。この工程でもシステム開発側の作業のみになります。
システム開発工程⑤:単体テスト
作成したプログラムが要件定義書で求められているものかをテストを行います。
全体を動かすのではなく、一つ一つのプログラムごとにテスト行い、不具合が見つかれば修正していきます。
全てのプログラムがきちんと動けば次の工程へと移行します。
システム開発工程⑥:結合テスト
それぞれのプログラムがきちんと動くのを確認したら、複数のプログラムを組み合わせてもきちんと動作されるかを確認します。
データの受け渡しは問題ないか、プログラムごとの連携は取れているかなどです。
システム開発工程⑦:システム(総合)テスト
システム(総合)テストでは、作成した全てのプログラムが要件定義書通りに動くかを確認します。
データの定期処理を行うのであれば正常に動くか、処理速度は問題ないかなどです。
システム開発工程⑧:運用テスト
システム(総合)テストが問題なければ、最後に発注者側の実務環境においてもきちんと動作するかを確認します。また発注者側がシステムを操作しやすいかなども合わせて確認します。
正常に動作が行えれば、いよいよ本番環境に移行します。
システム開発工程⑨:システム移行
開発したシステムを移行して実務として使用できるようにします。
社内で利用できるシステムであれば、社員が使えるようになり、通販サイトなどを開発したのであれば、ユーザーがサイトにアクセスできるようになります。
システム開発工程⑩:運用・保守
システムが納品された後に動作が問題ないかを確認する工程です。システムログのチェックなどを行い、動作確認を続けます。
またシステムがバージョンアップなどをした際には、アップデートを行うなども運用保守の工程です。
システムが問題なく動作し続けるための工程が運用・保守になります。
システム開発の期間は納品物によって変わる
そのため「システム開発にはどれくらいの期間がかかるのか?」は誰もが気になる点だと思います。
結論から言えば、システム開発の期間は納品物によって変わってきます。大規模なシステムであればあるほど工数も多くなり、システム開発には時間がかかります。
そのため本項目ではトータルの開発期間が3ヶ月ほどとした場合、上記のシステム開発の工程にそれぞれどれくらい期間がかかるのかをご紹介します。
要件定義:約2週間~1ヶ月
外部設計:約2週間~1ヶ月
内部設計:約2週間~1ヶ月
プログラミング:約1ヶ月~2ヶ月
単体テスト:約1ヶ月~2ヶ月
結合テスト:約2週間
システム(総合)テスト:約1週間
運用テスト:約1週間
システム移行:1日
運用・保守:納期後から開始
なおここでの開発期間はあくまで一例のため、自社でシステム開発を行う際は「要件定義」の工程でシステム開発会社とのスケジューリングの確認を必ず行なってください。
開発期間にはある程度の余裕を見ておくと良いでしょう。
まとめ
なぜなら長期間に渡って開発を行うため、今どこで何をしているかを把握していないと開発が頓挫してしまう可能性もあるからです。
システム開発会社とのコミュニケーションを密に取り、どの工程にどれくらい期間がかかるかを確認しておきましょう。
本記事がシステム開発の一助になれば幸いです。