システム開発とは?企画から開発までの基本的な流れをわかりやすく解説
この記事はこんな人向け
- システム開発とは何かを簡単に知りたい
- システム開発のはじめ方について知りたい
- システム開発の流れを知りたい
- システム開発に必要な事を知りたい
- システム開発についての注意点について知りたい
近年、DX(デジタルトランスフォーメーション)という言葉が頻繁に使われ、既存事業のDXを進めることを検討されている企業が増えてきました。この記事をご覧の方の中にも、手動やExcelで管理していた業務の改善の改善を行いたい方、既存事業のIT化を進めたい方もいると思われます。
今回ご紹介する本記事では、「システム開発の基本から具体的な進め方・注意点」などについて解説します。事業や業務のシステム化をお考えで、専門知識がなく一歩前に進むことができなかったという方は、是非、ご参考にして頂ければと思います。
システム開発とは
システム開発(system development)とは、様々なタスクをコンピュータ上で稼働させたソフトウエアで稼働させた仕組みのことです。一言でいえば「コンピュータ上に仕組みをつくること」です。
会社で利用するシステムでは、これまで人が手動で行っていた様々な業務の流れをプログラミングし、コンピュータ上で稼働させることによって、コンピュータによる自動化や短時間で効率よく業務を処理できるようにしています。
システム開発の目的
システム開発の目的は様々ですが、ビジネス上発生していた業務の自動化、効率化、コスト削減、ビジネス上の課題解決、属人化の防止などを目的としています。
近年、システム開発を行う目的がはっきりしない中で、「DX」だけを謳いシステム開発に踏み切るケースが散見されるようですが、システムを開発するにあたり目的を明確化することは、システム開発を進める上での最も重要な第一歩となります。
システム開発の流れ
システム開発を行う際には、必ず行わなければならない工程があります。
開発するシステムの種類、開発手法は様々ですが、システム開発において大まかな流れはどのプロジェクトでも変わりはありません。
システム開発の流れは、大まかに①システム企画、②要件定義、③システム設計、④開発(プログラミング)、⑤テスト、⑥リリース、⑦運用保守・サポート、⑧追加/拡張開発 のステップで進んでいきます。
システム開発の主な工程
1.システム企画
システム企画とは、事業やサービスを提供する為に、どのようなシステムが必要か、どのようなシステムがビジネス上の目的を達成し、ニーズを満たすのかを検討し、システム開発からリリースまでの計画を立てることです。具体的には開発するシステムへの”要望”をまとめ、”開発予算”から”開発期間”、”開発プロジェクトの体制”、”費用対効果”などを行う工程を行います。
システム企画の段階では、システム開発の発注者である事業者がすべてのシステム企画工程を行うことが多い傾向がありますが、専門的な知識やアイディア、ノウハウが必要になることがことが多い為、開発を請け負う側であるベンダーがこの段階からメンバーとして入り、システム企画への助言、サポートを行うこともあります。
システム開発を進めるにあたって、そもそも「システム企画」なくしてはシステム開発を進めることができません。たまに?ですが、システム企画が曖昧なままプロジェクトを進めた結果、システム開発プロジェクトが半ばまで進んでいるにも関わらず、「これでいいのか?」「この機能は必要か?」酷い場合には「このシステムは必要か?」とシステム企画そのものを再考する最悪なケースが発生することもあります。
2.要件定義
要件定義とは、開発したいシステムの企画が行われた段階ででてきた要望を、システム化するにあたって、どのようにシステム化していくかを明確化していく作業のことです。
要件定義を英訳するとRequirements Definitionとなり、極稀にですが”RD“と略して呼ぶ人もいます。
要件と要望
要件定義を行う上で最も注意しなければならないことは、発注元であるエンドユーザー(ステークホルダー)から出てきた要望とシステム化する上で要件としてまとめる(定義する)ということは、明確に異なるということを認識することです。
要望はあくまでシステム化をするにあたっての期待であり、業務フローや開発期間、予算など様々な制約や問題がある中で、実際にシステムとして実現できるかは、別問題です。
ここの理解がないまま要件定義(風な仕事)をしてしまうと、どんなシステムを開発していくのか明確にならず、右往左往し、いつまで経ってもシステム設計ができないといった状況に陥りますので、要望は要望としてヒアリングし、要件として落とし込むことが重要になります。
ビジネス要件とシステム要件
要件定義は、ビジネス要件とシステム要件に大きく分けることができ、システム要件はさらに機能要件と非機能要件に分けてまとめることができます。
ビジネス要件とは、ビジネス面での目的と目標を確認しプロジェクトが達成すべき事項をまとめたものです。ビジネス要件の中には業務要件があり、ビジネス要件はステークホルダー目線で「何故このプロジェクトを進めるのか」を明確化し、業務要件は業務の現場から現状のタスク・プロセス等を把握し、システム開発後「どのような業務を実現していくのか」を明確します。
機能要件とは、システム上で稼働する機能を具体的にまとめる作業となり、非機能要件はシステムの性能、可用性、拡張性、保守性、セキュリティなど具体的な機能以外に“システム“として必要な要件をまとめたものになります。
システム開発プロジェクトの要件定義フェーズでは、機能面ばかりに目がいきがちで非機能要件や前述したビジネス要件・業務要件がおろそかになり、実際の開発(プログラミング)が進んでから「やっぱりここを変更したい」といった声がでるケースもありますので、非機能要件をよく理解し、機能の開発だけを考えるのではなく要件定義の段階から「システム全体として考える」ことが重要になります。
この記事を書いた人
株式会社APPSWINGBY マーケティング
APPSWINGBY(アップスイングバイ)は、アプリケーション開発事業を通して、お客様のビジネスの加速に貢献することを目指すITソリューションを提供する会社です。
ご支援業種
情報・通信、医療、製造、金融(銀行・証券・保険・決済)、メディア、流通・EC・運輸 など多数
監修
株式会社APPSWINGBY
CTO 川嶋秀一
動画系スタートアップ、東証プライム R&D部門を経験した後に2019年5月に株式会社APPSWINGBY 取締役兼CTOに就任。
Webシステム開発からアプリ開発、AI、リアーキテクチャ、リファクタリングプロジェクトを担当。C,C++,C#,JavaScript,TypeScript,Go,Python,PHP,Vue.js,React,Angular,Flutter,Ember,Backboneを中心に開発。お気に入りはGo。