システム開発とは?〜基本からわかるWebシステム〜

 WEBや映像、書籍にマニュアル、イラストなどなど、ゲームに関係するものなら何でも手掛ける当社ですが、お客様に業務を説明する際、もっとも苦労するのが「システム開発」です。
 コストや仕組み、さまざまな面でハードルが高そうなシステム開発。テクニカルな部分だけみれば確かに難しそうですが、その大元から理解することで、まずはそのイメージを払拭してみましょう。

そもそも「システム開発」とは?

 そもそも「システム開発」とはなんでしょう。「ASCII.jpデジタル用語辞典」によると「企業で行われる業務などをシステム化するための、設計、プログラミング、テストなどの一連の作業の総称」とあります。
 なんとなく「業務の仕組みをコンピュータシステム化すること」なんだろうな、というイメージはわかります。たとえば営業の受注管理をシステム化する、ショッピングサイトを立ち上げる、スマホアプリのゲームをパソコンと連動させて遊べるようにする……内容は千差万別で、規模もさまざま。
 ただ、これだけではたんに表面的な事実を述べているだけなので、もう少し詳しくみてみましょう。

 一番のポイントは、「システム開発」=「コンピュータシステム化」ではないということです。コンピュータシステム化をするにはそれなりに費用がかかりますから、単純にアナログでやっていたことをコンピュータシステム化するだけでは、結局、目の前のコストでしか善し悪しを判断できません。
 大切なのは、何のためにコンピュータシステム化を行うのか、その目的をはっきりさせておくことです。もっと簡単にいうと、いま自分たちが何に困っていて、それをどう改善したいか、明確にしておくことです。その困っていることをコンピュータシステム化された新たな仕組みで解決し、会社の利益に貢献するわけです。
 わかりやすくまとめると以下のようになります。

① 課題や問題点の抽出
② 目的の明確化
③ 目的に応じた業務の仕組みやプランを検討
④ プランに沿ったコンピュータシステムの構築
⑤ 業務を改善し、その効果や効率をあげる
⑥ 会社全体の利益に貢献する

 コストはもちろん重要ですが、その目的や目に見えない部分での効果や将来的なメリットまでをきちんと理解しておかないと、大事な業務改善の機会を失うことにもなりかねません。ここまで考えて、本当の意味での「システム開発」といえるでしょう。

●当社でできること
 システム開発を請け負う場合、普通はお客様のほうで①〜②までを社内で検討されていることが多く、当社が担当するのは③と④ということになります。
 ただし、ふだんのおつき合いのなかでヒアリング等をさせていただくことも多く、実際には①や②の範囲まで含めてお客様と一緒に検討するなかで、よりよいシステムが完成することが多くあります。

システム開発の目的と手段

 では実際にどのような目的でシステムを開発するのでしょうか? もちろんお客様によってさまざまな目的がありますが、共通する部分もいろいろあります。よくご相談をいただくものを、便宜上、以下のようなタイプに分けてみました。

① 作業の自動化・効率化
作業を自動化・効率化することで、人為的なミスを減らしたり、人件費などのコストを削減できます。
また、業務が属人化することを防げますし、業務のクオリティを安定して維持することができます。

② データの一元化
さまざまな情報をまとめることで、情報共有が容易になり、ブラックボックス化を防ぎます。
また、蓄積したデータをもとに比較検討がやりやすくなり、その結果をもとに将来予想や計画が立てやすくなります。

③ 見える化
上の①や②と重複する部分もありますが、社内で動くさまざまなミッションのマネジメント状況をオンライン上で展開することで情報共有を行い、課題抽出や各種リスク管理をやりやすくします。

 「そもそも「システム開発」とは?」でも説明したとおり、目的を決めることは非常に重要ですが、もうひとつ大切なことがあります。それは「具体的にどうしたいか」をイメージすること。
 たとえば「営業の受注事務作業が煩雑なので改善したい」という要望があったとします。目的は「受注事務に関する作業の自動化・効率化」ということになりますが、このままではどうしたいのかわかりません。そこで現場からのヒアリングなどを行い、どういうふうになれば便利なのかを詰めていきます。
 そしてその具体的な手段として、「営業部の受注情報をコンピュータシステム化して、受注データを入力さえすれば、そのまま売上表やグラフへの展開、請求書発行までが手軽に実行できるようにする」という形に落とし込んでいくわけです。

 システム開発は決して安い買い物ではありません。期間も費用もそれなりにかかりますが、目的が曖昧なままだと余計な作業が発生したり追加仕様が発生したりと、ムダなコストがかかってしまいます。
 繰り返しになりますが、まずは具体的に何に改善したいのか、目的を明確にしておきましょう。

Webシステムとは?

 さて、ひとくちにシステム開発といってもその種類はさまざまです。開発方法や仕組みなどでいろいろな分類はできますが、ここでは当社が主に手掛ける「Webシステム」についてみていきましょう。

 Webシステムとはインターネット経由で利用できるサービスのこと。パソコンやスマートフォンからいつでも利用することができる大変便利なシステムで、サーバと呼ばれるコンピュータにデータが保存されており、インターネット接続ができる状況であれば気軽にサービスを利用することができます。

 たとえばショッピングサイトなどはもっとも身近なWebシステムといえるでしょう。これは実際にお店に行くことなく、いつでも好きな商品を購入できるというWebシステムになります。インターネットの世界に存在するショッピングのためのストアですが、必要な要素は、実は実際のお店と何ひとつ変わりません。
 土地の代わりにサーバを、店舗の代わりにホームページを、商品の代わりにデータベースを、レジの代わりに決裁プログラムを……といった具合にインターネット上にシステムが置き換置き換わっているのです。一見難しそうに見えるWebシステムですが、身近なものに例えると仕組みがわかりやすいですね。

Webシステム導入のメリット

 Webシステムを導入することで、どういうメリットがあるのでしょう。「システム開発の目的と手段」とも重なりますが、主に以下の面では相性がよく、業務の効率化に適した内容となっています。

・作業の自動化・簡略化
・それに伴うコストの削減
・時間や場所の影響を受けにくい利便性の高さ

 ショッピングサイトの例でいえば、商品をわざわざ店舗に移動することなく、倉庫でそのまま保管できますし、お店で必要なレジや接客といった作業も人員も必要ありません。二十四時間いつでも利用できますし、そもそも店舗を作るのに必要な土地や建物の費用がかかりません。

 ただし効率化や削減などを意識するあまり、そこに至る工程が複雑化してしまうとあまり意味がありません。Webシステム化することにより複雑さが増し、デメリットにもなり得る可能性があることには注意しましょう。
 先程も説明したように、便利なWebシステムを上手に使うために、しっかりと目的や要件を整理する必要があります。

Webシステム開発はLAMP環境で

 最後に少しだけ専門的なお話しをさせていただくと、当社ではシステム開発で使う環境として、LAMPを採用しています。
 LAMP環境とはOS・Webサーバー・データベース・プログラミングの頭文字をとったもので、それぞれ以下のことを意味しています。

L(Linux)……Unixに似た性質のOSです。低い性能のコンピュータでも快適にかつ安定して動作してくれます。
A(Apache)……Webサイトを公開するためのWebサーバーソフトウェアです。
M(MySQL)……データベースの管理システムです。
P(PHP)……サーバーサイドで使用するプログラミング言語、動的なWebページを作成するために使います。

 これらはすべてオープンソースソフトウェア(無償)なので、コストが抑えられることもあり、数多くのWebシステム開発で使用されています。またオープンソースソフトウェアのメリットとして、誰でも自由に無料で中身の閲覧・開発・改善を行うことができます。
 そのため現在でも世界中の人が技術的な要素を検証し合いながら、切磋琢磨しアップデートが行われています。

おしまいに

 いかがでしたでしょうか。システム開発というと、どうしても敷居が高いイメージがあります。でもそれはプログラムとかサーバとか、ついつい制作のテクニカルな部分だけを見てしまうからです。
 コンピュータシステムはあくまでビジネスの道具。テクニカルな部分は制作側に任せ、ユーザーはその道具がいかに業務に役立つか、その点をしっかり意識することが大切なのです。
 こんなふうに業務を改善したい、こんなことができないか、などお困りごとがあれば、どうぞお気軽にご相談ください。

■関連リンク

・制作実績 Web/システム開発
https://www.qbist.co.jp/works/web_appli.html

・QBISTのWeb/システム開発
https://www.qbist.co.jp/service/web.html

関連記事