パソコン向けのソフトを開発しようとすると、ちょっとしたものでもの高額になり勝ちです。
それは、ソフトの開発作業が私たちが想像する以上に手間のかかるものだからです。
そのため、高額の開発費を投じたにも拘わらず、仕上がったソフトは大したソフトにならず、がっかりするということも、よくあるのです。
しかしこれは、一般的なソフト開発の場合です。条件が揃えば、驚く程安価に、驚く程質の高い製品を作ることができます。
では、その条件とはなんでしょう。以下の3点が上げられます。
・お客様の求めるものを理解して、それを設計する力
・開発するソフトがパッケージソフトのような概念があるかどうか?
・優れたインターフェース(使い易さの追求)を開発した経験
・徹底した品質管理
・開発者のスキル
・開発言語の指定
それでは、上記の条件を一つづつ説明していきます。
1)お客様の求めるものを理解して、それを設計する力
お客様との打ち合わせで、インプットする情報が何で、どんなアプトプットが欲しいのかということを聞きくことで、設計はそれほど難しくないように思えます。しかし難しいのはこの段階で、運用時の問題点や必要な機能をイメージできるかという点です。ソフト開発を依頼するお客様は専門家ではないので、製品が完成に近づき、動作させてみてして初めて気づくということが結構あります。
そして「こういった機能がぜひとも必要です」ということになってしまうと、当初の見積に入っていないので予算がオーバーしたり、開発日数が伸びたりして、すんなりと納品というわけにはいかないのです。
このように、ソフトの設計段階で、運用時に必要な機能や問題点を把握する能力は、技術者の「これまで設計してきた経験量」に比例すると思われます。
2)開発するソフトがパッケージソフトの概念があるかどうか?
パッケージソフトというのは、インストールCDと取扱説明書をパッケージに梱包して家電ショップなどで流通させている製品のことです。不特定多数の人を対象としていて、スーツに例えると既製品のスーツということになります。
これに対して、お客様の要望を聞いてソフトを開発するというのは、オーダーメードのスーツをつくるのと同じです。
ソフトとしてどちらが優れているかといいますと、パーッケージソフトです。良い製品にすることが利益に繋がるので、特にインターフェース面では、お金に糸目をつけないからです。
ソフトの場合、「使い勝手をよくする」作業に、多大はコストが掛かります。パッケージソフト不特定多数の人が操作するので、分かり易く容易に操作できるインターフェースを研究・開発します。使い辛いだけで製品価値を棄損するからです。
一方、受託開発ソフトはお客様の予算との調整になります。不特定多数の人が使うのではなく、使う人が限られるのでそれほどインターフェースにコストを掛けません。ソフトを動作させるのに「作法」が存在しても、使う人がそれを学べばよいだけだからです。
そして受託開発の仕事は、その殆どが大手企業か官庁のプロジェクトになります。大手企業の製品でにはログラムが入っていますし、業務を効率化するためのソフト開発にしても、大きな組織なので、ソフト開発に数億円掛かったとしても、それで業務が効率化するなら直ぐにペイできてしまうからです。
発注者が大手企業となると、それを受注する開発会社も大手でなければなりません。小さな会社ではプロジェクトが万が一失敗した際に保証する力がないからです。
そのため、世の中には数多くのソフト開発会社が存在しますが、中小のソフト開発会社の多くは大手開発会社の下請けになるので、技術者は与えられた仕様書通りにプログラムしているだけなので、設計をしたことがないのです。
この人達がお客様のフロントとなってソフト開発をしようとすると、前述の運用時の問題点のイメージもあいまいになるだけでなく、受託開発の経験から、必要最低限のプログラムをイメージしてしまうのです。
パッケージソフトの開発会社にいた技術者ですと、「誰も使えるインターフェース」と「どんな操作をしてもエラーが起きない堅牢さ」を担保してから、お客様の求めるを開発しようとします。
パーッケージメーカーにこの2点が欠落している場合は生業として成り立たないからです。
ところが、受託開発ではお客様との取り決めで「作法」を決めていくわけですから、開発側はお客様が作法以外運用をした場合には、「そんな使い方をしたら、データが飛ぶのは当たり前ではないですか」と、言えるわけです。
そのため、製品を開発するには、使いやすさと堅牢さの面で圧倒的に優れるので、パッケージメーカーの技術者に開発をさせるのが好ましいことになります。
じかし実際にはパッケージメーカー自体がとても希少です。私が知らないだけかもしれませんが、山梨のパッケージメーカーは当社だけなのです。
2)開発者のスキルと開発言語の固定
パッケージメーカーの技術者が開発するソフトは、インターフェース面や堅牢面で工数を掛けているので開発コストも嵩むと考えられがちです。
しかし、非常に高いスキルをもつ技術者なら、短時間でソフトを開発することができます。そして、パッケージメーカーには高いスキルを持つエース技術者が居る確率が高いのです。
というのは、受託会社では「標準的なスキルの技術者をどれだけ集められるか」というのが、経営上のテーマになります。一人当たり単価が決まっているので、技術者の数が多いほど利益に結び付くからです。
ところが、パッケージメーカーでは商品開発では「売れる製品」を作りたいのです。そのため企画会議で「このような機能は付けられないだろうか」ということの連続です。
会議では開発技術者も出席します。優秀な技術者はどんな要望をだしても、「それを実現するにはこれくらいの工数が必要になります」ということを言うのみで、「出来ない」という言葉は発しません。
逆に技術的に未熟な技術者の場合で、どんなリクエストをだしても、「それは技術的にできません」となってしまい、企画会議にならないだけでなく、もともと優れた製品を開発する力が備わっていないパッケージメーカーになってしまうのです。
そのため、パッケージメーカーでは、どのようなリクエストでも実現する技術者の必要になり、このようなエース技術者が開発する場合は、予想もつかないような速度で開発してしまうのです。
もう一つ、安価にソフト開発するのに必要なものは、技術者の慣れが開発言語をしようするというものです。
オーダーメードのアプリケーション開発の場合、大手企業の場合は発注者が開発言語を指定することがあります。その場合は、その言語でプログラムコーディングするわけですが、慣れていない言語では、試行錯誤や勉強しながらの開発になるので開発工数が嵩んでしまうのです。
パッケージメーカーの場合は、パッケージソフトを開発した言語を用いることで、技術者はその言語を習熟しており、尚かつこれまで開発した部品を用いることができるので、高い開発効率が求められるのです。
そのため、先の3点の条件を分かりやすく言い直すと、「パッケージメーカーのエース開発者に仕事を発注する」ということになります。
このような背景から、当社では半分の金額で、遥かに高品質のソフトウェアのご提供をお約束します。
お問い合わせ:〒400-0201 山梨県南アルプス市上高砂530 TEL:055-285-5229
E-mail:info@west-field.jp
技術者のスキル
中間業者が介在しない直接開発