東京発Webシステム開発会社TDTCの徒然ブログ

Webシステム開発とは?:Webシステム開発方法の相違点やメリット・デメリットを徹底解説

Webシステム開発とは?

Webシステム開発の大きな一般的特徴の一つとして、「業務効率化を通じて生産性を向上させる」ということが挙げられます。しかし、最も重要なWebシステム開発の側面は、「未来に向けた戦略的に実施すべき無形資産に対する設備投資」なのです。失敗しないWebシステム開発のためにも是非ご一読ください。


Webシステム開発とは(はじめに)

本日より始まりましたコラム連載を一読頂くことで、皆様のWebシステム開発に係る疑問や不安が解消され、実り多き有意義なものとなることを切に願っております。


なぜWebシステム開発(クラウド化)が必要なのか?

Webシステム開発(クラウド化)をするメリットは、大きく「3つの拡張性」「継続性」が挙げられます。


1つ目は、「機能的拡張性」です。市販の表計算ソフト等を用いてマクロ等のプログラムを組んでいる場合、実現できる業務処理内容も限られ、次第に陳腐化していきます。その点、Webシステムであれば常に柔軟に業務上欲しい機能を迅速に追加搭載していけます。


2つ目は、「共有範囲の拡張性」です。特定のフォルダやファイルにアクセスしてシステムを使用する場合、同時にアクセスおよび使用できる人数が限定されてしまいます。その点、Webシステムであれば無制限に同時アクセスおよび同時使用が実現します。特定の人間しか取り扱えない業務システムの場合、当該人員が抜けてしまったら大変です。


3つ目は、「時間および場所的拡張性」です。Webシステム、つまり現在ご利用の業務システムをクラウド化させることで、特定の就業時間中に、会社オフィスなど特定の場所からのみ使用できるといった制約が一切無くなります。権限を割り当てられた社員・スタッフは、インターネット接続が可能な環境であれば24時間365日世界中どこからでも必要な時にクラウド上の自社専用の業務システムにアクセスしてリモート(テレ)・ワークが可能となります。出先であっても他の社員・スタッフのスケジュール把握や性急なお見積(原価計算)作成等がその場で可能になります。


最後の「継続性」ですが、こちらは自社の業務システム(市販の表計算ソフト等の活用による)の場合、データ毀損や作業用パソコンが物理的に破損してしまった場合、以後の業務に多大な支障が生じてしまいます。また、自然災害や昨今のコロナウイルス感染症といった状況下で上述した「3つの拡張性」に限界がある場合、事業が大きく停滞してしまいます。継続性とは、それ等に限定されない様々な要因が生じた場合であっても、可能な限り「継続的事業体」として事業をWebシステムによって守ることにあります。BCPプラン策定の一貫としても非常に有効です。


Webシステム開発とは

Webシステム開発とは、予め定められた手順や動作(プログラム)に従って、利用者の操作(入力)内容に応答した結果(出力)を自動的に正確かつ瞬時に表示ないし処理するソフトウェアまたはアプリケーションを利用者の目的用途に応じて構築することを意味します。

次の3つのポイントを上手く抑えられれば、会社を大きく成長させられると言っても過言ではないでしょう。


【ポイント1】Webシステム開発の目的は明確にする

まず何故Webシステム開発が必要で、Webシステム開発を通じ実現したいことをできるだけ多く具体的に挙げてみましょう。いくつ挙がりましたか。

それ等は大抵の場合、Webシステムに求める「機能」であって、Webシステム開発を通じて実現したい「目的」ではありません。

あれも、これもと多くなり過ぎるとWebシステム自体が複雑化してしまい、時間とお金を無駄にする羽目に。欲しい機能を絞り、本当に必要な達成したい目的を明確にしましょう

目的が明確に定まって初めて具体的な機能を検討する「要件定義」の段階へ移ると良いでしょう。これ等の曖昧さこそがWebシステム開発における委託者側の唯一最大の失敗要因です。

最終的な開発エンジニアにしっかりと目的、要件定義、事業内容や意図を上手く伝え深く理解させることができるほど、よりそのWebシステム開発の成功確率は高まるのです。


【ポイント2】Webシステム開発の予算は厳格にする

Webシステム開発は、どの様な形態で進めるにせよ機能が多い=開発期間が長いほど、開発に必要な費用も時間もかかります。

目的や計画が明確でないことで、予算・人員・技術面で開発プロジェクトが道半ば頓挫してしまう事例は尽きません。

その様な悲惨な結果によってそれまで費やした時間や費用を無駄にしてしまうゼロサム状況は最悪なパターンです。また、一度その様な苦い経験をすると二度とWebシステム開発なんて考えたくもないと言う成長の限界を自ら設定してしまい、Webシステム活用による将来的に得られる莫大な恩恵を放棄してしまう機会損失に繋がってしまうのです。

目的をしっかりと定めたら、必ず当初設定した予算内でWebシステムを完成させる気概で開発担当者と入念な打ち合わせと確認作業をし、開発計画と予算管理を厳格に行う様にしましょう。


【ポイント3】Webシステム開発の投資対効果を検証

無事にWebシステム開発を成し遂げてもそこで終わりではありません。

設定した目的のとおり実際に仕事の現場で広く活用されて初めて意味が出てくるのです。

そして、Webシステム活用で具体的に得られた成果を客観的な数値データに基づき評価することで、そのWebシステム開発の投資可否を判断できれば尚良いでしょう。具体的な一例として、次の計算式で評価すると良いでしょう。

Webシステム開発の恩恵 = 売上貢献 + 経費削減 + 生産性向上 + シナジー効果 + 税効果

売上貢献は、Webシステム活用によりもたらされた売上の増加部分です。

経費削減は、Webシステム活用によりもたらされた人件費(残業時間軽減、人員削減または効率的な人的資源の再配置)など一般販売管理費の削減部分です。

生産性向上は、Webシステム活用によりもたらされた業務効率化で実現した可処分時間・人員の増加部分と、業務上起こり得る潜在的な誤り・事故によるリスク要因削減の部分です。

シナジー効果は、Webシステム活用によりもたらされた業務上のストレス軽減効果や社内コミュニケーション機会の増加や円滑化など、目に見えない恩恵の部分です。

税効果は、Webシステム開発によりもたらされた減価償却費の計上や消費税還付など、Webシステム導入後の決算時に得られるキャッシュフローの改善や節税効果の部分です。

Webシステム開発の恩恵は、開発したWebシステムが全く活用されなくなり、会計上の資産から除却されるまでの間、各事業年度で理屈上は計算されることになります。汎用性と耐久性の点で優れたWebシステムを開発できれば、減価償却費期間より長く活用することができます。その逆もしかりです。将来的な各事業年度のWebシステム開発の恩恵を計算(想定)することは困難ですが、導入活用開始から終了までの間の割引現在価値の総和がWebシステム開発の恩恵の総額として計算されることになります。

Webシステム開発投資利回り = Webシステム開発の恩恵総額 ÷ Webシステム開発費用


Webシステム開発の取組方法(大分類 - リソース選択)

Webシステム開発の目的と予算(計画)が決まったら、次に①開発人員は確保できているか(リソース)、②Webシステムを活用したい時期(納期)はいつか(スピード)、③そのための最適な開発方法は何か(アプローチ)を検討する必要があります。

ここでは、3つのリソース選択方法をご紹介します。


【リソース選択1】自社開発(内製化 - 社員/派遣常駐・非常駐)

自社開発(内製化)は、社内で既にIT部門やプログラミングに明るい人材をある程度確保できている場合に検討すると良いでしょう。

ただし、目的に応じたWebシステム開発と継続的な保守運営を自社内で全て一貫して完結させることが困難であると予想される場合、外部エンジニアの力を借りるのも一つの手です。

外部エンジニアの活用は、自社に出向いてもらい開発プロジェクトの期間一緒に開発を進める常駐型派遣と、オンラインでテレワーク協業を行い必要な場合に来社してもらう非常駐型派遣に分かれます。

自社ペースで柔軟かつ自由にWebシステム開発を行いたい場合や、一種の社員研修と捉え人材育成も狙いたい場合に有効です。


【リソース選択2】外部委託(外注化)

外部委託(外注化)は、社内にIT部門やプログラミングができる人材が全くいない場合に検討すると良いでしょう。

ここで、特に気を付けるべき点はWebシステム開発後の保守運営拡張性の問題です。

言うまでも無くWebシステムは開発して終わりではありません。開発してから長く日々の業務で活用されることが最低限の目標です。

そのためには保守運営が欠かせない要素となってきます。Webシステムに不具合や何らかの問題が発生した場合には早期復旧対応が一番大きな鍵となります。当該Webシステムへの依存度が高いほど業務運営に致命傷を与え兼ねません。当該Webシステムの取扱いや対処可能な社員が誰もいないと言う状況だけは絶対に避けなければなりません。

また、Webシステム開発後から一定期間が経過すると往々に微調整・改善や追加機能が求められる様になってきます。

将来的に何か問題や課題が生じた際に当初お願いしたWebシステム開発会社が引き続き存続しているか、保守運営サービスを提供してくれるか、別の開発エンジニア(同業他社含む)でも対応可能なWebシステム構成になっているかが特に重要なポイントとなってきます。

IT関連業務に煩わしい思いをしたくない、時間を取られたくない、丸投げしたい場合に有効ですが、信頼できるIT会社をパートナーとして確保し上手くコミュニケーションが図れる関係の維持が大切です。是非その点で当社サービスをご検討ください。


【リソース選択3】オフショア開発

自社開発(派遣非常駐)や外部委託(外注化)する際に国外の競争力ある人件費を求めて外国企業の開発リソースを活用する手法です。

時差、言語や文化の壁を越えて信頼できるIT会社をパートナーとして迎えられれば非常に有効です。


Webシステム開発の取組方法(中分類 - スピード選択)

どの様なリソース形態で開発を進めて行くかの方針が定まったら、次はプロジェクトの緊急性や目標使用開始日時(納期)を検討していく必要があります。

ここでは、3つのスピード選択方法をご紹介します。


【スピード選択1】スクラッチ開発

スクラッチ開発とは、Webシステム開発委託者の希望に応じてゼロからオーダーメイドでWebシステム開発を進める方法です。


【リソース選択2】セミ(ハーフ)スクラッチ開発

セミ(ハーフ)スクラッチ開発とは、一部をスクラッチ開発で、一部を既に過去に開発済みのテンプレート(カタログ)の中から選んで開発を進める方法です。


【リソース選択3】パッケージ開発

パッケージ開発とは、既存のWebシステムを元に不要な機能は取り除き、不足する必要な機能は新たに追加開発で進める方法です。


Webシステム開発の取組方法(小分類 - アプローチ選択)

最後に、どの様な開発スタイルで作業を進めていくか、代表的な開発スタイル5つをご紹介します。


【アプローチ選択1】アジャイル型Webシステム開発

スピード重視

アジャイルとは「素早い」と言う意味で、その名の通り「計画⇒設計⇒開発⇒実装⇒試験⇒リリース(高頻度更新)」一連の工程をWebシステム開発委託者の要望に応じて随時実施していく反復継続型の開発手法です。定期的にWebシステム更新(改善・追加・変更など)を小出しに実施できるため、リリース期間を短縮してWebシステムのサービスと品質を矢継早に向上できます。仕様変更を前提としたWebサービスやゲームアプリなどの開発に最適です。


【アプローチ選択2】ウォーターフォール型Webシステム開発

じっくり慎重

ウォーターフォールとは「」と言う意味で、「計画⇒設計⇒開発⇒実装⇒試験⇒リリース(更新なし)」の各工程を一つの上流工程が完了したら次の下流工程へ進むと言う単元完結型の開発手法です。リリース後のWebシステム更新を基本的に考慮していないため、各工程は計画的かつ慎重に進められ安全・確実性を担保する分その開発スピードも遅くなります。仕様変更を前提としない組込型ソフトウェアや通信システムなどの開発に最適です。


【アプローチ選択3】スパイラル型Webシステム開発

スピードと品質のバランス確保

アジャイル型Webシステム開発と同様に「計画⇒設計⇒開発⇒実装⇒試験⇒リリース(高頻度更新)」一連の工程をWebシステム開発委託者の要望に応じて随時実施していく反復継続型の開発手法です。スパイラル型Webシステム開発は、品質が未だ保証されていない粗削りの段階でWebシステム開発委託者の評価や要望を各工程で相互に確認しながら進めていきます。スピード重視をしつつも、Webシステムのサービスと品質の確保も同時並行で目指していく開発手法です。


【アプローチ選択4】プロトタイピング型Webシステム開発

試作品でイメージ

プロトタイプとは「試作品・模型」と言う意味で、Webシステム開発委託者に対して先ずは急ぎ試作品を披露。具体的に可視化・操作可能な試作品Webシステムを元に、より詳細な仕様を協議した上で完成を目指していく開発手法です。


【アプローチ選択5】DevOps(デブオプス)型Webシステム開発

開発と現場が協力

DevOpsとは「Development = 開発チーム と Operations = 運用チーム」を組み合わせた造語です。実際にWebシステムを利用することになる現場(ユーザー)が開発の段階から携わる(現場の声を上げて意 見を反映させる)ことでより利用者目線で使い勝手の良いWebシステム開発を目指す開発手法です。


Webシステム開発の一般的な流れ

Webシステム開発は、一般的に以下の工程順に進められます。Webシステム開発を外部委託する場合、委託者は主にSTEP1から3に関与します。ここでしっかりと受託者とすり合わせを行い、受託者はSTEP4から7を経て委託者と最終確認や微調整を実施し、最終納品となります。また、契約内容に応じて引き続き受託者が当該Webシステムの保守運営を代行します。


STEP1 着想と目的の明確化

STEP2 要件定義(仕様書)

STEP3 基本設計(骨組み)

STEP4 詳細設計(肉付け)

STEP5 開発作業(プログラミング)

STEP6 動作検証(テスト)

STEP7 試作納品(ベータ版)

STEP8 最終納品(リリース)

STEP9 保守運営(メンテナンス)


Webシステム開発とは(まとめ)

第1回目のコラムは如何でしたでしょうか。Webシステム開発は、その「目的」、「予算」、「開発方法・計画」、「開発管理」と「効果測定・検証」が非常に重要になってくることを学びました。次回コラムでは『Webシステム開発と財務戦略』をテーマにお届けします。


※本コラム内に掲載される全てのコンテンツは、あくまで投稿時点における当サイト運営者個人の見解に基づくものであり、その内容、詳細、数値データなどに係る情報源、正確性、即時性および適性に関して何ら保証されるものではありません。

※本コラム内に掲載される全てのコンテンツは、事前の予告無しにその一部ないし全部を訂正、修正、変更、削除(掲載中止)または追記される場合がございます。

※本サイトのご利用によって生じたあらゆる結果、責任、負債、損害および損失等に関し、当サイト運営者は、理由の如何を問わず一切の責任を負いません。

※本コラム内の一切の著作権は、当サイト運営者に帰属します。

※本コラムの無断転載は、固くお断りします。