システムを作るとはどういう事なのか? ~人の感性は十人十色~
【見積りの根拠出してくれっていったら、金くれって言われたよ】
http://anond.hatelabo.jp/20131003212934
『システム屋の常識ってものが分からないのですが・・。』
と言うことなので、作る側(あくまで作る側視点です)から解説。(反論はあろうけど、まあ、人の話は最後まで聞いてね)
以下、ベンダーって書いてるのはソフトを開発する会社と言う意味で使ってます。
実際の中身が分からんので、一概には言えないけど、
1)何社かシステム屋呼んで、こっちのやりたいことをいって、概算金額出させてた。この時出てきた金額が350万~2200万。
まずこの時点で分かるのが、あなたの出した要求内容がシステム屋からすると曖昧で、作る範囲(機能)が確定できないってことです。
通常、作る範囲が明確なら、価格差ってのは大よそ±20%~30%の範囲。
但し、NTTデータとかの名のあるベンダーに頼むと、そもそものSE単価が普通のソフトハウスの2倍とかするので、見積もりが2倍とか3倍とかはあります。
が、今回のように6倍以上差があるってことは、ベンダーが想定した範囲(機能)が明らかに異なってるってことです。
但し、自社開発パッケージを提案してくる場合には、パッケージ代を(社内的に)ただ同然にする場合もあるので、一概には言えませんけどね。
まあ、この場合、パッケージなら画面とか帳票はパッケージ標準を見せられるはずなので、決まったベンダーからのパッケージ提案はなさそうですね。
◆システム構築経験が少ない場合の勘違い
その1:要件は明確であると思う
⇒システム屋からすると、聞き出せた内容だけでは曖昧な箇所が多くて、システムが作れない
その2:自社の業務運用を知ってるので、システムを作るのは簡単だと思う
⇒システム屋からすると、業務運用・データの繋がりが分からないので、システムの難易度が分からない
ありがちなのが、自社の業務を知っている前提で要件を話されるケース。
聞く側からすると、どの業務とどの業務がどんなデータで繋がってるのか説明がないので、理解できない。
また、自分の担当範囲外の業務を知らない場合、システム化されたデータが他部門でどう使われているかを知らないため、システム化によりほかの部門に影響が出る事を見落としている場合があり、システム屋が提示した見積もりに対し、関係ない(と思っている)部門の機能が見積もりに入っているか理解できない
<アドバイス>
・ベンダーが??って顔をしたら、自分の親(もしくは子供)に説明するつもりで、事細かく話をして見てください。特にデータ(情報)がどこでどう処理されてるかは大事です。
で、SE単金について説明しておいた方が良さそうですね。
それなりに能力のあるSEであれば、月80万~160万/1人がかかります。(優秀なのはもっと高いです)
まあ、仕事がなければ60万くらいで請け負うこともありますが。
で、プログラマが月40万~80万/1人くらい(VB、Javaの場合。優秀なのはもっと高いです)
まあ、40万のプログラマってほぼ新人(もしくは新人レベル)なので、通常60万位ですかね。
注:上記の金額=給料ではありません。会社が半分以上持っていきますので、勘違いしないように。
また、コンサルタントレベルのSEは、シャレにならないくらい高額です。月300万~とかね。
プログラマでもいわゆるスーパープログラマは高額です。月100万~とか。その代り普通のプログラマの3倍~5倍とかで作ってくれます。なので、請け負った規模にもよりますが、月160万出してもペイするという事になります。
さて、概算で350万となると、仮に60万で請け負ったとしても5.8人月。
恐らくですが、請け負ったベンダーは、4~5人月の仕事と見たのだと思います。
でSEとプログラマで仕事するとしたら、作業期間は3か月前後と思われます。
(1人で5か月でって可能性もありますけどね)
2)詳細見積りとスケジュール表を出せっていった。それで出てきたのが、A3の紙1枚で4項目ぐらいのざっくり見積りと、設計期間・製造期間・動作確認期間っていう期間を表す太い長方形が三本かかれたエクセル。
システム屋(あくまでシステム屋からですが)からすると、3か月程度?の仕事でシステム化の要件も明確でないのに、未契約の状態で詳細な見積もりは出せません。
詳細な見積もりのためには、システム屋からみたシステム化の要件を明確にする必要があります。
それは、設計作業となりますので、契約しない状態では金額を考えると受けられない話です。
(これが例えば、費用1億とかなると契約することを前提(覚書を交わしたりします)に、契約前に作業したりしますが)
また、3か月?程度の作業だと、ぶっちゃけスケジュールもへったくれもありません。
わたしが未契約の状態でこの話を受けたとしても、恐らく同じような資料(太い長方形が三本かかれたエクセル)を出すことになります。
3)自分らが事細かく話した内容をシステムに落とし込んだらどうなるのかっていう資料的なものがないから、どんな画面でどんな印刷物がでて、顧客ごとの入金の流れとか、その他諸々がどんなふうになるのか全く分からない。
個別のシステムを作ると言うのは、はてブで指摘されてる通り【設計事務所に頼んで住宅を建てる】ようなものです。設計事務所に設計をしてもらうためには、設計の費用を支払わねばなりません。
要求されているのは、まさにこの設計事務所が出す設計書に該当します。
つまりは契約して頂かないと(=対価を貰える確証がないと)、作業は出来ません。
また、ここで気になるのが『顧客ごとの入金の流れ』と言う部分です。
これって債権の管理が必要になるのでは?となると、会計システム(があるなら)との連携(連動)も考える必要があります。
つまりは設計作業をしないと、要求される資料は出せないってことですし、そのためには契約が必要です。
さて、ベンダーがなぜ契約にこだわるのか?
それは、未契約状態だと、作った設計書を他社に流して作らせるって事態が発生しうるからです。
(個人的なトラウマがっ・・・orz)
そこそこのレベル以上のベンダーが作った設計書があれば、別のベンダーに渡して作らせるってことが可能です。
きっちりしたベンダーの設計書なら、中国のベンダーに依頼して作らせる事も可能でしょう。
そんな事態になったら、作ったベンダーは馬鹿を見ることになります。(設計費用が赤字な上にお客まで取られる)
そんな不幸な事態を防ぐために、営業は契約にこだわっているのだと思います。
4)家の場合だったら、普通は設計図と各パーツの詳細見積りで初めて契約だろうが。なに作るかわからねーモノに対して契約とか有り得ない
繰り返しますが、要求されているのは【設計事務所に頼んで住宅を建てる】ようなものです。
であれば、最低限、設計と言う作業に対して対価もないし作業させることは出来ません。
ソフトウェアってのは目に見えません。
だから、知らない人から見ると、何で詳細見積もりが出せないのか分からない と言う言い分も理解は出来ます。ですが、パッケージのような既に存在しているもの(=パーツですね)ではなく、パーツそのものを設計しなければならない状況なのです。
となると、どうしたって各パーツの設計図を作る と言う作業が必要で、それってプロのデザイナーにデザインを依頼するのと同じこと(くどいようですがベンダー視点からすると と言う事です)なのです。
で、個人的なアドバイスとしては、パッケージを使うように方針転換するか、ご自身でACCESSで作られるかするべきだと思います。
恐らくですが、このまま進めてもお互い不幸になると思いますよ。
ついでに蛇足ですが、パッケージを使った場合、安くなるとは限りません。
パッケージに機能が足りない場合、機能を作る必要が出てきますので、パッケージ費用+導入支援費用+追加機能作成費用が必要です。