ソフトウェアのコスト見積もりを評価する方法(技術者以外の場合)

ソフトウェアプロジェクトを評価して値札を付けるのはかなり難しいです。

この記事では、いくつかの課題と、ソフトウェアのコスト見積もりを評価する方法について説明しています。

前書き

頻繁に引用されるカオスレポートによると、すべてのソフトウェアプロジェクトの約30%が失敗しています。 これは、プロジェクトの期間が長くなりすぎているか、予算が維持されていないことを意味します。

ここにソフトウェアプロジェクトにおけるいくつかの課題があります:

1)正確な要件を確認するのが難しい

カスタムビルドの大きな家を建てたい場合、作業のすべての部分が適切に評価されている場合にのみ、価格を固定することができます。 使用する最後のネジまで。

建築家は、家全体が紙に複製されるか、最近では3Dモデルとして複製される、正確な計画を使用して計画を作成します。 そして、これらのプログラムでは、家を建てるために必要なネジなどの数を計算することができます。

この情報を使用して、住宅建設プロジェクトの正確な見積もりを出すことができます。

しかし、私たちも知っています。非常に大規模な建築プロジェクトでは、通常、価格の見積もりは正しくありません。 そして、5億ユーロの費用がかかるはずだったものが、50億ユーロ以上の費用になることになります。 ベルリン空港、ハンブルクのエルプフィルハーモニー、ドイツのシュトゥットガルトの主要鉄道駅は3つの例であり、ほとんどの場合、コストは10億ユーロ以上下がっています。

シュトゥットガルトの主要鉄道駅の場合、建築家の料金は約3,600万ユーロでした。 建築家はそのような高額を支払われたにもかかわらず。 プロジェクトのコスト見積もりは約10億ユーロずれていました。

同様の課題は、ソフトウェアプロジェクトでも見られます。

特に、技術者以外の人がソフトウェアまたはWebプロジェクトの要件の受け渡しに関与している場合。 通常、プロジェクトの説明は、電子メール内の数行のみになります。 または、必要な解決策が概説されている電話。

参考のために、いくつかのWebサイトの例を示します。 これらのサンプルWebサイトが何年にもわたって構築され、数十万ユーロ、時には数百万ユーロもかかることはめったにありません。

ただし、Webアプリケーションまたはソフトウェアソリューションの予算は約4,000〜40,000ユーロであり、2か月以内、最大3か月以内に構築する必要があります。 (これは通常、価格について問い合わせているIT以外の人からの願いです)。

現実はこうです。クライアントによる詳細な問い合わせ文書(約10〜50ページ)と、その問い合わせられた文書に基づいてIT企業が作成した詳細な提案がなければ、プロジェクトの価格を決定することはできません。

そして、正確な提案書があったとしても。 通常、要件はプロジェクト中に変更されるため、この提案作成の演習は数週間かかる場合があり、不要な作業になります。

2)プロジェクト中の要件の変更

最初に引用されたソフトウェアプロジェクトがプロジェクトの間同じままであるITプロジェクトはほとんどありません。

その理由は、ソフトウェアが形になり始めて初めて、クライアントはいくつかの重要なものが欠けていることを認識し、それなしではプロジェクトを成功させることができず、ソフトウェアはビジネスプロセスを支援しないからです。

しかし、固定価格が合意された場合はどうなりますか? ITサービスプロバイダーは、プロジェクト中にどのように変更を許可できますか。 ITサービスプロバイダーはまったく利益を上げないため、これはほとんど不可能です。

一方、クライアントは固定価格を主張し、「この小さな変更のために予算を変更する必要はありません。この小さな変更リクエストは、最初の見積もりに入れることができます。」

そして、ここから通常、ジレンマが始まります。 変更要求に関するこの議論は継続されます。 そして、プロジェクトは行き詰まります。

したがって、プロジェクトの予算を流動的に保つことは常に良いことです。 ソフトウェア開発に必要なだけクライアントが支払う場合。 ->もちろん、これはクライアントにとって「ソフトウェア会社にとっては天国のように思えるかもしれません」。なぜなら、クライアントは必要以上に時間がかかると思うからです。

しかし、それをレストランと比較してください。 追加のコカコーラまたは追加のステーキを注文した場合は、その追加料金も支払う必要があります。 ソフトウェア開発でなぜ違うのですか? 特に、時給が通常はるかに高いITでは。

3)IT以外の人によるソフトウェア開発の複雑さを理解するのが難しい

IT以外の人がソフトウェア開発の複雑さを理解することは、通常、非常に困難です。

「私の友人はこの1つのWebサイトを1日で作成しましたが、多くの機能があります。専門家として、これらの機能を開発するのに6か月以上かかるのはなぜですか?」

おそらく友人は、WordPressやDrupalなどのコンテンツ管理システムを使用し、通常は多くの機能をもたらすいくつかの標準プラグインを使用していました。 しかし、これらは友人のために作られたカスタムソフトウェアソリューションではありません。 これらは、通常、数千、数十万の人々が使用するシステムとプラグインであり、同様の要件があります。 これらはカスタムメイドのソリューションではありません。

ただし、これらのプラグインを構築するには、おそらく2〜5人以上の開発者が数か月または数年にわたってフルタイムで必要でした。 そのため、友人が一見単純なソリューションを使用している場合でも。 それらは非常に複雑なソフトウェア開発で作成されました。

したがって、クライアントにこれらのプラグインと「既製のソリューション」で満たすことができる要件がある場合に備えて。 次に、それらを使用することをお勧めします。 しかし、ほとんどの場合、これらの「既製」のソフトウェアシステムは、クライアントが必要とするものではありません。

最良の例はGoogle検索エンジンです。 フロントエンド(ユーザーに表示されるもの)には、検索バーと2つのボタンしかありません。 したがって、IT以外の人は、「これを開発するのに1週間しかかからなかったでしょう。検索バーと2つのボタンしかありません。」 実際には、何千もの開発者によって開発された多くの「隠された」バックエンド機能があり、それは何年にもわたって開発されています。

クライアントプロジェクトの複雑さ、スケーラビリティのニーズなどによっては、ソフトウェア開発に予想以上の時間がかかる場合があります。

可能な解決策

IT以外の人がITサービスプロバイダーへの問い合わせにどのようにアプローチできるかについて、いくつかの解決策があります。

1)ソフトウェア開発者を巻き込む

理想的には、社内のソフトウェア開発者またはIT専門家がいて、ITサービス会社による見積もりをクロスチェックすることができます。

通常、そのソフトウェア開発者は、変更に対応できるように、プロジェクトの範囲を柔軟に保つようにアドバイスします。

ソフトウェア会社による見積もりが妥当である場合、ソフトウェア開発者は青信号を出します。

そうすれば、社内の従業員がプロジェクトを評価しているときに、IT以外の人も開発に伴う努力を確信することができます。

2)専用開発者の使用

専任の開発者は、フルタイムでクライアントに提供される開発者です。

これの利点は、開発者がクライアントおよびクライアントのチームと緊密に連携することです。 これにより、透明性が向上します。 また、クライアントまたはチームは質問をして、リアルタイムで回答を得ることができます。

このモデルはさまざまな方法で機能します。

  • 現場で: ITサービス会社は、開発者にクライアントの場所に行き、クライアントの敷地内で作業するように依頼します。
  • ITアウトソーシング:開発者のチームは、ITサービス会社の敷地内で働いています。
  • ニアショアアウトソーシング:専任の開発者は、近くの国のITサービスプロバイダーの敷地内で働いています。 スウェーデンの場合、それはポーランドまたはウクライナになります。 日本の場合、それはマレーシアまたは中国になります。
  • オフショアアウトソーシング:ここでは、開発者は遠く離れた国のソフトウェア会社の敷地内に座っています。 例としては、インド、パキスタンなどがあります。 しかし、ニアショアまたはオフショアという言葉は同じ意味で使用できます。 それは、クライアントがどこにあるかによって異なります。 クライアントが日本にいる場合、インドはニアショアアウトソーシングの目的地です。

クライアントは、専用の開発者を好きなだけ使用できます。 プロジェクトが終了するまで。 プロジェクトに時間がかかりすぎる場合。 クライアントとチームは、目標をより早く達成するために、どちらの方法で開発者と話し合うことができます。

3)厳格な固定価格プロジェクトを避ける

通常、固定価格はお勧めできません。 プロジェクトが非常に小さい場合のみ。 1ページのウェブサイトなどのように。

固定価格は、その価格の範囲内ですべてが行われるという誤った希望につながる可能性があります。 (食べ放題でもそのようには機能しません。好きなだけ食べることができますが、1回の食事だけです。何日も続くわけではありません。しかし、クライアントが固定価格を取得すると、それが期待されます。ソフトウェア開発)

開発にどれだけの労力が費やされたかに応じて、ソフトウェアプロバイダーの時間と労力が報われるアジャイル価格設定を選択することをお勧めします。

または、専任の開発者または専任のソフトウェアプロフェッショナルのチームを使用して、プロジェクトに取り組みます。

結論

多くのソフトウェアプロジェクトは、カスタムソフトウェア開発に伴う理解が不足しているため、失敗するだけです。 一見簡単なプロジェクトで、数週間から数か月かかる場合があります。

したがって、クライアントが何らかの評価を行う必要があります。 ソフトウェア開発のコスト範囲と、それによって生み出されるビジネス価値はどのくらいですか。 ソフトウェア開発に必要な予算よりもはるかに高いビジネス価値が生み出されていますか? よし、それなら行くのはいい。 プロジェクトを開始します。

創出されたビジネス価値とコストが一致しない場合。 それなら、低額の月額料金を支払うことで、購読可能な手動ソリューション、Excelファイル、標準ソフトウェア、またはWebソリューションを引き続き使用する方がよいかもしれません。

興味深い議論を楽しみにしています。

興味深いリンク:
見積もりが適切でない理由
ソフトウェア見積もりの神話の説明


著者:Sascha Thattilは、YUHIROグループの一員であるSoftware-Developer-India.comで働いています。 YUHIROは、IT企業、代理店、IT部門にプログラマーを提供するドイツとインドの企業です。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください