Archive for the ‘ Knowhow ’ Category

すぐに見積もり依頼をしてはいけない

例えば、自社でサービスを始めたいと思ったとする。

インターネット通販、ホームページ制作、SNSやポータルサイト・・・・
手っ取り早く自分で無料ホームページやブログで作るのも「アリ」だけど、自分がお客だとして、そんなところを使いたい(買いたい)とは思わないよね。ビジネスとしてやるのであれば、プロ(業者)に任せるのが正しい。では業者(ベンダー)へ発注すると仮定しよう。

最初に何をすべきか?

「ネットでググって、2・3社に見積もり依頼すればいいんじゃないの」
うーん。間違ってはいないが、まだそれは早い。

最初にやるべきことは、RFP(Request For Proposal、アールエフピー)を作ること。

RFPとは

RFPとは日本語の意味でいうと、提案依頼書、提案要望書、見積依頼書、要求仕様書など。文字のとおりで、発注者が何を作ってほしいか仕様や基準、条件を決めておいてこれを元に、業者に見積書や提案書を作ってもらうのだ。

書面にすることのメリットは、
・作ってほしいものが具体的に「整理」される。
・「言った・言わない・忘れた」を防ぐことができる。
・相見積の際に同じ説明をする「手間」も省ける。
そして一番のメリットは、業者にここは「ちゃんとした会社」だからいい加減なことはできないなと思わせることなのだ。
なので面倒とは思わずにぜひRFPは作成することを勧めたい。

参考:発注までの流れ

発注者:RFP作成、NDA作成
発注者:見積参加の業者選定
業 者:見積書や提案書作成
発注者:RFPを元に見積・提案書を査定。業者決定
発注者:発注書、契約書作成
業 者:注文請け書作成
業 者:具体的な作業開始

作業のもれを防ぐ(WBS)

担当者は誰だよ!

進捗会議で「えっ? この仕事って誰かがやっていると思っていたよ。」てよく聞く。
つまり、それを言った人は当然やっていると思い込んでいるが
まわりの人間は全然気づいていない場合がある。
それが重要な仕事だったりすると後工程は悲惨なことになる。

当然、WBSっぽいことはやる

うちではなんかしら仕事を受託した場合は、
最初に全作業項目を洗い出している。(WBSでやるとは限らない)
システム開発だと機能は違えど基本的にやることは
同じなので既にあるテンプレートをコピーして文言変えて終わり。
あと必要なのは、その仕事独自の部分を分割して足していく。
これを各工程の開始時期に見直して、さらに足りないものは追加する。
つねにそれを見れば何が終わって、何が未着手かが一目で分かる。
データは工程表にも移しやすいし便利。

やらないより、やった方がいい

アバウトな仕様で始める仕事だと、
当然機能がまだ決まってないので概要レベルしか書けない。
でもそれでもいいのだ。無いよりまし。
その時点での全作業項目を関係者が情報共有することに意味がある。

まともな会社なら、その会社なりの開発手順が確立されているはずだ。
ぜひ発注先に確認して見ることをお勧めする。

見積もりには注意する

お金さえかければ、なんでも作りますよ

システム開発依頼が来るときにこう切り出すお客さんが多い。
「こういう機能のシステムを作りたいんだけど見積もりしてくれないか。」
良くある話かもしれないが、実は一番困るのだ。

つまり見積もり価格の上限がないのが問題。
・価格がいくらかかっていいから最高のものを作る。
・決められた価格の範囲内でできる限りの最高のものを作るのか。
ちなみにうちは価格指定がなければ、前者で見積もる。

値段が同じでも、中身は同じではない

初めて依頼するような会社には後者で相見積もりをするか、試作やデモのシステムを作ったもらい、どういった開発をするのか判断してからでも遅くはない。なんでこんな面倒なことをするかというと、同じような規格のものを複数の会社に見積もり依頼して、安い会社に決めるのは正しいやりかたで議論の余地はない。

だが、ソフトウェアの世界は作った会社により違いがでるもの。結果として同じものなることはない。
よって安ければいいという選択は必ずしも正しいとは言えない。

痛い目に会うのも、勉強ですよ

痛い話をいろいろと耳にするのだ。
・納期になっても完成しない会社もある。
・保守はせず、作り逃げの会社もある。
・開発費は安いが保守費用でぼったくる会社もある。
・完成後、仕様変更依頼をしたら僅かな修正でも法外な請求をする会社もある。
このような会社に当たる可能性はないとは言えないのだ。
注意されたし・・

根拠のない値切り客には、「どうぞ他に行ってください」と言ってしまう、自分って(営業失格か?)

火消しスキル

先日、懇意にしているA社の社長さんとお茶してきた。
この会社の得意分野は、システム全般の受託開発で
最近はVB.NETを専門に仕事を取ってきているらしい。

Read the rest of this entry

システム構築激安プラン

激安で受託開発してくれないか

「とにかく激安で開発してくれ」と依頼された場合のシステム構築プランを考えてみた。

いかに開発費以外のコストを0円に近づけるかがポイントになる。システム構成は、WEBアプリで提案する。データベースは業務により必要であれば使用する。ハードウェアは、メーカー製の安いデスクトップパソコンか、お客さんが空いているパソコンを持ってればそれを使う。もしくは激安のレンタルサーバを使う。

必然としてインフラはオープンソースになる

ソフトウェアの方はなんでもかんでもオープンソースを採用する。
サーバOSは、Linuxを使う。RedHatを個人的には使いたいが、金がかかるのでFedoraかCentOSを使う。(タダ)

当然、パッチ当てはお客さんにやってもらいます。

Windowsでもよいのだがサーバにぶらさがるユーザ数が少なければ選択するのもあり(運用が楽だから)
データベースを使うのであればPostgreSQL(タダ)もしくはMySQLをかな。こちらはライセンスが面倒なのでちと迷うけど。

開発言語は、PHPを使う。(タダ)最近はレンタルサーバに入っているし。

やっぱりアプリケーションもオープンソースで探す

業務に該当する部分は、お客さんのしたいことを聞いて、似かよったオープンソースのシステムを探す。そのまま使えればそれを使う(タダ)
お客さんの希望があまりにも、マニアックな仕様の場合は、仕方ないので新規で開発する。
この場合は設計も合わせて必要なので金はかかることは伝えて再度、思い直してもらう。

ドキュメント作成もテスト工程も保守も削る

資料やドキュメント作成も金がかかるところなので必要最低限の作成にとどめる。もしくはサンプルを作って視覚的に同意を得る。
テストも実は一番時間をかけたいところだが「かけた時間=金額」なので、安くするためにお客さんに手伝ってもらう。
試験データはダミーデータ作成は省き、実際のデータを使う。
サーバ回線はBフレッツ等の安いものを使う。ADSLだと安いけど上り速度がネックになるのでパス。
お客さんから別途保守契約をたのまれたら、フレッツの安いVPNをオプションで付けて保守しやすくする。

新規で作り直す前に

作り直しの理由

毎度、依頼が来ていつも思うことがある。

「現行のシステムじゃ、もうダメなので新しく作り直したい」と言われたとき、本当にダメなのか調べたのか?と思ってしまう。実際問題、新規開発(作り直し)が決定してからうちに話が来てるのでうちとしても口出しはしない。

お客さんからしてみれば、色々理由があると思う。
・動作が遅い。
・見た目が古くさい。
・予算があまっている。
・今の業者の対応が悪いから総取っ替えしたい。
・機能が少ない。
・メンテナンス費用が高い。
・償却が終わったから。
・飽きた。
まあ、人それぞれ作り直す理由がありますね。

果たしてバラ色の未来?

新しくなにかを作るって、気持ちがいいこと。判ります。なんかバラ色の未来が待っているかも。
しかし、ちょっと待って下さい。

現行システムが安定して使えるようになるまで
・納品後どれだけの時間がかかりましたか?
・操作を憶えるのにどれだけ時間がかかりましたか?
・新しい業者は今の業者より対応がいいと言えますか?
・完成すると言えますか?
これは全部、リスクです。

新規のシステムでも起こる可能性のあるんですよ。

見極めてからでも遅くはない

それでも、現行システムが本当にダメなら仕方ない。新規にするのは反対しません。見極めが大事なんです。

まず、現行システムを見直しましょう。問題点を洗い出す作業が必要です。そして改善するのにいくら掛かるか見積もって下さい。(別の業者にも見積依頼を出すのがポイントです)

それから判断しても遅くはありませんよ。

市販のパッケージソフトが何で安いのか?

まさか、1万円かそこらでソフトが作れるとは思ってないですよね。タダでさえプログラマーの人件費は高いのに。ズバリ! 開発費は、恐らく億以上です。

パッケージソフトのポイントは大きく2つあります。
・ソフト会社が仕様を決めることができます。
・買った人には使用権だけ与え、多くの人に売ることができます。

受託開発では、ここが逆なんです。
・仕様を決めるのは、買った人です。
・売る相手は、買った人のみです。

簡単に言うと分譲マンションと注文住宅の違いですかね。

ソフトは完成するとコピーすれば簡単に量産できますから、どんどん原価を下げることができて、
結果的に安く売ることができるんです。受託開発はそれができませんよね?だから高いんですよ。安くするとしたら、人件費の安い人を使うしかありません。ソフトウェア開発の原価は人件費がほとんどですから、安易に下げるとどうなるか・・・・

それでも安くしてもらいたいならどうするか?

仕様を決めるにあたり、ソフト会社が全体的な構成と一般的な仕様を決めておく。買う人は、ここだけは欲しいと言う仕様だけ別途オプションとして作ってもらう。つまりオプション以外は後で使い回しができる。

”フレームワーク化、モジュール化はソフト会社のメリット”

まず買う人には、使用権のみを与えましょう。つまりソフト会社は他にも売って良いことにする。それだと、買う人が損をすることになりますから、他に売った際の売上の何%かを戻すようにする。

・全ての権利移動ではなく、使用権のみ買う

ソフトウェア業界では当たり前の話ですが、買う側の意見がどうしても通ってしまいがちです。見積の際に聞いてみたらどうでしょうか。

安かろう悪かろう

中身が見えないソフトウェア

最近、心配なことがある。安かろう悪かろうと言うことだ。
どこの業界でも同じだと思うが、特にソフトウェア業界では品著になる。

だって、中見えないから適当でいいじゃん(笑)って業者がいるのに気づいているのかなあ。

後からいっぱい聞くんだよねえ。
えらい目にあったとか。
いまだに完成しないとか。
結局、作り直したとか。

これはお客さんにも問題があるのよ。
安ければ良いという絶対的な基準を持っているから。

否定はしないよ。
自分も同じ機能や品質なら安い方選ぶと思うし。

でもねえ。お客さんに中身の判断ができるか?
業者を選ぶのは、本当に気をつけたほうがイイよ。