お役立ち情報

自社で開発するシステム(アプリ)は最初に小さく作り必要に応じて大きくしていく

システム設計が完成度を決める

自社アプリ・システム開発

何かを作るためには、作るものの具体的な姿がわかっていなければ何もできません。システム(アプリ)開発において、システム(アプリ)の機能や仕様を決める設計が重要な役割を持つのはそのためです。設計が無事にできれば、開発も順調に進み高い完成度のシステムが出来上がるでしょう。システム(アプリ)設計はどのようにして行われるのかというと、要件定義・外部設計・内部設計という工程を重ねて詳細を決めていきます。最初に挙げた要件定義では、まずシステム開発会社がクライアントにヒアリングを行い、システム(アプリ)に何を求めるのかを確認します。その内容を受けて、システム(アプリ)の機能や開発にかける期間、導入や運用の方法など決めていきます。要件定義で決まった内容をまとめたものが、要件定義書という書類です。

要件定義を終えたら、外部設計を行います。基本設計や概要設計と呼ぶこともありますが、簡単に言えばシステムの基本となる部分を設計することです。システム(アプリ)とユーザーの接点となるユーザーインターフェースを作るために、画面や操作に連動する機能を考えたり、作業のスケジュールなどを決めます。この外部設計をより詳しく見ていくと、システム(アプリ)の構造や実装方針などを決める方式設計、機能ごとの仕様を決める機能設計、セキュリティや運用などの設計をするその他の設計と細かく分類できるでしょう。外部設計で決まったことを、外部設計書という書類にまとめます。

外部設計に続いて、ユーザーから見えないシステムの内部を設計するのが内部設計です。外部設計で決まったことをプログラミングするための準備です。内部設計も、工程を細かく分類する事ができます。まず機能ごとに分類してから内容を突き詰める機能分割をしてから、システム内でデータ等のやり取りをする部分を設計する物理データ設計を行います。そこから、外部設計で決めた内容をプログラミングで表現するための入出力の詳細設計をすれば、次はシステムの開発フェーズです。

システムは小さく作ることが成功の鍵

成功の鍵

システム(自社アプリ)開発 会社にシステム設計を任せるときは、どのようなやり方をしているのか確認しておくべきです。システム開発を成功させたいのであれば、最低限の機能を持つ小さいシステム(アプリ)を作るやり方が理想的です。システム(アプリ)を小さく作ることのメリットは、無駄を省けるという点にあります。多機能であれば多くのことができると思うでしょうが、実際には一度も使わない機能が含まれることもよくある話です。多くの機能を持つ大きなシステム(アプリ)を作ろうとすれば、相応の人材と長い時間が必要になるでしょう。それは最終的に、開発費用を増やすことにもなります。無駄な機能のために、コストが嵩むことはクライアントにとって望ましいこととは言えません。

大きなシステムを作ることのデメリットは、コストに関する問題だけではありません。システム(アプリ)を運用していく中で、複雑な操作が必要になったりメンテナンスの手間もかかります。システム(アプリ)は複雑になれば障害が起こりやすく、なおかつ不具合が起きている部分を取り除くことも難しくなるでしょう。システム(アプリ)が複雑なために不具合を取り除けない事態になれば、事業に深刻な影響を与える恐れもあります。

設計の段階で無駄を削り小さなシステム(アプリ)を作ることができるならば、開発にかける人数・時間・コストは大幅に抑えられるでしょう。運用をしていく中で障害が起きたとしても、原因の特定がしやすく修正もしやすいです。機能が少なくて困った時には、必要な機能を追加するだけで済みます。また基本となるシステム(アプリ)の作りがシンプルであれば、機能の追加は難しい作業ではないので事業に影響を与える心配もありません。しかしながら、システムを小さく作るというのは意外と難しいことです。設計をしているシステムエンジニアが、必要な機能と不要な機能を見極める能力を持っていなければ失敗する可能性もあります。

システムを小さく作るためには、システム(アプリ)開発 会社だけでなくクライアントも努力をしなければいけません。どのようなシステムを開発してほしいのか、どのようにシステム(アプリ)を活用していくつもりなのかというイメージを上手に伝えられなければ、優秀なシステムエンジニアがいても実現することは至難の業です。そのために用いるものが提案依頼書ですが、最初から完璧な内容にまとめられるとは考えないほうが良いです。多くの人の意見を聞き、何度も推敲を重ねて最終的に良い提案依頼書を作成できれば、小さいシステムを作るための設計もしやすくなるでしょう。