システム開発とは

 「システム開発」という言葉、聞いたことはあっても、コンピュータ・プログラムの専門家がする仕事であって、自分とは縁遠いと感じる方が多いでしょう。
ですが、実際には“開発されたシステム”は誰もが利用しています。
銀行やコンビニのATM、ネットショッピング、そして電気、水道、電話など、日常生活で使うあらゆる設備の向こう側では“開発されたシステム”が働いています。
このように「システム」は、縁遠いようで実は生活や仕事に密着していて、現代社会では無くてはならない存在になっています。

広義でのシステム開発

“システム”とは本来、系統・仕組み・手順の体系等を意味します。
ですから広義でとらえると、企業における「システム開発」とは「業務の仕組みを作り上げること」と言えます。
例えば、会計処理の仕方、在庫管理の仕方、製品の製造工程の確立、製品の検査方法、サービスの手順、顧客情報の管理等、コンピュータが登場する以前から、企業は広義での「システム開発」を追求してきました。

コンピュータ導入のための「システム開発」

 コンピュータが実用化されると、企業は、それまで手作業で行っていた様々な業務を、次々と“コンピュータを使って行える”ようにしました。
この作業が現在で言うところの「システム開発」の初期段階です。
つまり、会計処理システム、在庫管理システム、製造工程実行システム、検査システム、サービス管理システム、顧客管理システム等を開発したわけです。
 現在では、コンピュータの処理能力が向上し、記憶装置の容量が増加し、ネットワーク環境が整ったため、「システム開発」に求められる成果は、より高度となり、具体的には次のようになります。

  • 業務の簡素化
  • 業務の画一化
  • 業務の効率化
  • 業務の正確な遂行
  • 業務の改善
  • 他業務との連携
  • 専門知識による判断の組み込み
  • 熟練と経験による判断の組み込み
  • 複数箇所からのアクセス
  • ミスの検出
  • データの保存とバックアップ
  • データ漏洩の防止
  • 個々の企業独自のニーズ

 このように「システム開発」を依頼する側が求める成果は多岐にわたり、同時に引き受ける側には、ニーズを理解し、実現する技術が必要となっています。

システム開発の本質

 先に『広義でのシステム開発』を示しましたが、それには理由があります。
それは「システム開発」において主となるのは“業務”であって、“システム”に業務を合わせるのではない、ということを強調したかったからです。
 「システム開発」を検討する時、往々にして“システム”ありきと言う受けとめ方をして躊躇されている場合がありますが、それは違います。
「システム開発」を引き受ける側の私達は、常に、どれだけ深く詳細に業務を把握できるかに注力し、依頼された企業様のニーズに添うことを第一に考えて開発を進めていきます。

システム開発の種類

 システム開発の種類はまさに多種多様です。
一般的な業務用ソフトでは足りないため独自のシステム開発を行うのですから、そういう意味では“依頼の数だけ種類がある”とも言えます。
 同時に“業務の数だけシステムがある”とも言えます。以前ではシステム化がそぐわなかったような業務にも、今では何らかの形でシステムが導入されている事例が沢山あります。

実行環境別の種類
  • アプリケーション型システム

     OSとしてWindowsやUnixが実行されている環境で、ExcalやWord、会計・在庫管理などの汎用業務ソフトと同じように使えるタイプのソフトです。
    システム開発の多くはこのタイプで、OSが基本的にもつ機能(操作方法・データ保存・印刷・ネットワーク環境など)をそのまま利用して、独自の業務や機械操作を行うシステムを構築します。
     コンピュータにOSと開発したソフトだけをインストールして使うように設定すれば、業務専用のシステムにもなります。

  • Webアプリケーション型システム

     インターネット環境を利用したビジネスを行うためのシステムです。
    お客様はブラウザを使ってHPにアクセスし、ここに入力欄を設けて、入力された情報を内部的に処理するシステムを構築します。
    例として、商品カタログ検索サイトやネットショッピングサイトなどがあります。

業務別の種類
  • 事務処理システム

     企業内における事務処理の分野でのシステム化は、大企業だけでなく中小企業でも進んでいます。
    重複入力や転記の必要が無くなる、専門知識が無くても入力が可能になる、異なった業務間の連絡が自動的に行われるなど、効率が上がって要員の削減にもつながっています。
     また、データの検索・抽出・分析・グラフ化を容易に行えますから、経営判断の材料となる資料を、必要な時に必要なパターンで作成できます。
    経営者にとって事務処理システムの開発は、経営戦略を立てる上での重要なツールになっています。

  • 機器制御システム

     デジタルで制御されている機器には、基本的に組み込みシステムが備わっています。
    ですから新型の機器の開発や手動操作だった機器のデジタル化の際には、組み込みシステムの開発が必要になります。
    また、複数の機器を連動させる製造ラインの自動化、制御、管理などを行うシステムの開発は、企業の存続にも関わる大切な分野になっています。

  • インターネット販売システム

     物品の販売、製造の受注など、あらゆる個人と企業がインターネット販売システム(ネットショップ)を運営しています。
    地デジ化でテレビとネットの融合が進むと、販路はさらに拡大します。
    そんな中、システムの使いやすさも、お店選びの重要ポイントとなっています。

  • サービス管理システム

     人の手によるサービスは、システム開発とは無縁のように思われがちですが、サービスの管理においては、システムの開発がとても有効となります。
    例えば要員に携帯端末を持たせることで、いつどこで業務を行ったか、業務のし忘れは無いか、次はどこへ行くのか、などの相互連絡を簡単で確実に行えるようになります。

未知のシステム開発

 YahooやGoogleなどの検索サイト、楽天などのショッピングサイト、ミクシーなどのSNSなど、それまでに無かったシステムの開発が大きなビジネスに発展しています。
手書きによる事務のシステム化がはじまった頃には、個人経営の社長さんがつくったファイルが、その地域の同業者に標準ファイルとして使われるようになった例もあります。
 『サービス管理システム』でふれたように、システム開発とは関係が薄いと捉えられていた業界にもシステム化が導入されています。
今後、規模が拡大するであろう介護業界、業態の改革が求められている農業など、“システム”ができあがっていない場所にこそ、“システム開発”の種が芽吹こうとして隠れています。

システム開発の活用法

 システム開発には、新らしいシステムを開発する場合と、既存のシステムを更新する場合があります。
いずれの場合でも、より良いシステムを完成させる上で最も大切な事は、依頼する側と開発する側が開発するシステムに関して共通の認識を持つことです。
依頼する側の知識と経験を、どれだけシステムに注ぎ込めるかが、より効果的なシステムづくりのカギとなります。

ニーズの提示

 システム開発を依頼する時には、ニーズ(業務の現状と解決したい課題)を提示します。
必要なシステムの完成形が明確にイメージできている場合でも“現状はどうなのか”“何に困っているのか”を提示することで、開発を行う側の経験から得たノウハウなど、考えとは別の解決策が導き出される可能性もあり、より効果的なシステムをつくることができます。

完成イメージの明確化

 ニーズを提示するだけで“後はプロに任せるから”と丸投げしてしまうと、結果的に、システムに業務を合わせるという、納得のいかない状態を招きかねません。
最初はわからなくても、打合せを行う中で完成イメージを明確にして提示することが、本当に必要なシステム開発への近道となります。

ルールの提示

 システム化する業務に関して、企業独自のルール、業界のルール、法的制限などがある場合、忘れずに提示します。
1番大切なのに、当たり前ゆえに提示し忘れることがあります。

“わかるだろう”と思ったら

 システム開発業者はシステム開発に関してはプロでも、システム化する業務に関して受注内容によっては前例が無い場合があります。
依頼する側にとって“当たり前の事”でも他者にとっては当たり前でない事は意外に多いものです。
“わかるだろう”と思った時の“念のために”の説明が、ミスの無いシステムづくりにつながっていきます。

将来の拡張に備える

 コンピュータの2000年問題は、西暦の下2桁を入力すれば自動的に19**と判断させることで、入力の手間を省きメモリーの使用を削減できるという有効なテクニックが仇となってしまった例で、いずれ2000年代になることを考慮したオプションを設けておけば回避することができました。
消費税率も3%から5%になり、将来も変わっていくでしょう。
 このようにシステム開発の際には、将来の拡張に備えるべき部分があります。
システム開発業者側が考慮すべき項目もありますが、依頼者側にしかわからない項目も多々あります。
標準の書式、材料や製品の規格、法的な規定などは、現状ではシステムに組み込むべき重要な要素ですが、常に変わることを前提にしておくことで、将来も継続して使えるシステムを導入することができます。

システム開発の実際
開発の流れ

システム開発の流れは、おおよそ次の様になります。
1.コンサルティング
2.設計
3.開発(テストを含む)
4.納品
5.サポート

開発に要する人員(チーム)

・プロジェクトマネージャ
 システム開発を行うに当たり、必要な人材・機器・費用等を計画して確保し、管理して、納期までに完成させるようチーム全体をコントロールします。(現場監督)
・システムエンジニア(SE)
 システム化する業務を把握し、業務をコンピュータ上に反映させるための設計、つまりプログラム構造、画面レイアウト、オプション設定等の設計を行います。(設計士)
・プログラマ
 SEがつくった設計図を、実際にコンピュータで実行させるためのプログラムを書きます。得意とする分野ごとに複数人で1つのプログラムを作ることもあります。(職人)

単品受注生産

 システム開発は、市販業務用ソフトでは機能が足りない、または、求める機能の市販ソフトが無い時に行うオリジナル・ソフトの開発ですから“単品受注生産”となります。

多くのユーザーに購入される市販ソフトは、開発コストを分散して価格に転嫁できますが、“単品受注生産品”の場合は、開発費がそのまま依頼主の負担になりますから価格に差が出ます。

この価格差が“ほかに無い独自のシステム”を導入するための代価と言えます。

画面の裏側(プログラミング)

 実際にシステムを使う時に見る画面は、業務を行う側から見れば、当たり前でしかない画面かも知れません。
ですが、実際には、画面の裏側では膨大な量のプログラムが動いています。
プログラミングは、論理的な思考や発想を追求する作業であり、文字1つの間違いでもバグが発生します。
ですから画面上の僅かな変更でも、その裏側では緻密さと根気が要求される作業が行われ、また、システム全体に与える影響も再テストされます。
 そもそも、システム開発は対応する市販ソフトが無い時に必要となりますから、通常、プログラムはゼロから築き上げて行く構造物と言うことになります。
ですから、パソコンの便利さの代表とも言えるコピー&ペーストも、プログラム構築の過程においては一種の異物混入であり、バグ発生の元凶にもなり、システム全体を動かなくすることさえあるため“使用を控えるべき手段”の1つとなります。

使いやすさにかけるコスト(レイアウトづくり)

 システム操作や入力用の画面レイアウトの使いやすさ・見やすさは業務の効率化とミスを無くす上で重要な要素になります。
 使いやすく見やすいレイアウトを作るためには、使う側の立場をより深く理解するための時間が必要であり、項目の配置決め、異なる画面間での操作感の統一など、何度も試行錯誤を繰り返します。
また、機能性を高め、同時に自由なレイアウト作りをするには高度なプログラミング技術が要求されます。
 出来上がったシステムの画面を見て、それが当たり前の様に感じるレイアウトほど、その背景で多くの労力が費やされています。

オプション設定の簡素化

 システムには、その機能を十分に発揮させるためのオプション設定が数多くあります。
この設定を変えることでシステムは異なった処理をしますから、変更には注意が必要です。
そのため設定ごとに、設定ミスを回避できるような配慮を施すことが必須となり、前述の通りプログラミングとレイアウトづくりのコストが嵩みます。
 ここで、ユーザー側にシステムを熟知した人材がいれば、設定変更をCSV形式(Excel形式)等のファイルによって一括して行い、オプション設定画面を大幅に簡素化して、コストを大きく削減することもできます。
ただ逆に、対応できる人材がいない状況で簡素化を行えば、システムの機能を十分に活用できないという本末転倒とも言える結果に至ります。

コストに関するギャップ

 システム開発を依頼する側は、システムの導入によってどれだけコストを減らせるか、どれだけ利益を増やせるかをもとに、システム開発にかける費用を決めます。
一方、開発する側は、要するであろう人件費を積み上げて開発費を算出します。
大きな利益をもたらすシステムなら問題となりませんが、長い期間を経てはじめて利益が評価される単純なOA化などの場合、両者にはギャップが生まれます。
 このような場合、システムに盛り込む機能を絞り、レイアウトづくりやオプション設定の簡素化を行うことで、コストを縮小できるのですが、その際にも前述した様な“必要性”を十分にふまえて結論を出すことが“本当に必要とするシステムの導入”につながります。