プロセスと期待の管理がすべてであり、技術的なことはほとんど関係ありません。ほとんどのクライアントが犯す間違い (私見) は、特に小規模なコンサルタント会社では、固定価格の契約 (おそらく、T&M: 時間と材料が請求されるサポート付き) を選択することです。彼らはこれをリスク管理の演習として行っているため、理解できます。
問題は、彼らがその低いリスクに対して次の 3 つの方法で支払っていることです。
- リスクを下げるために割増料金を支払います。これは、金融市場と同じようにソフトウェア開発にも当てはまる基本原則です。
- 非常に多くのリスクが開発者に課される可能性があり、コストが天文学的に上昇する可能性があり、それは正確には誰にも利益をもたらしません (まあ、それは開発者に利益をもたらします)。と
- 仕様の作成と成果物と承認基準の形式化に多くの時間を費やしているため、何かをコーディングする代わりに、300 ページの Word ドキュメントを作成するのに 30 万ドルを費やしただけです。
これらすべては、クライアントにとって最終結果をより高価なものにし、開発者 (300 ページの Word ドキュメントを書きたいと思う人がいるでしょうか? 真剣に!) をやる気にさせません。プロジェクトの長さに正比例します)。
多くの場合、T&M アプローチを何らかの形式のラピッド プロトタイピング手法と組み合わせて、通常の成果物またはクライアントへのデモンストレーションを 4 ~ 6 週間以内に提供することで、双方にとってより良いサービスが提供されます。これは、期待の管理に向けられています。クライアントが何かが起こっていることを確認できれば、クライアントは安心し、仕事を続けることができます (ガント チャートに沿った会議で時間を保留にするよりも)。
ですから、あなたがすべきことは、クライアントが何を得ているか、どのように進化しているかを確認し、プロセスに参加できる段階的なアプローチ(ベイビーステップ)に進むようにクライアントを説得することです. 結果が早く得られ、最終的には安価になります (両方の当事者がリスク負担を分担します)。
多くの開発者が忘れているように見えることの 1 つは、開発者が 15 世紀のフランスの王族のようなものだということです。彼らは特権、さらには富、そして多くの特典を持っているかもしれませんが、気まぐれで彼らを斬首することができる王(または女王)の喜びで奉仕します. つまり、クライアントは最終的に力を発揮し、開発者としてのあなたはクライアントの生活を楽にするために存在し、その逆ではないということです。
クライアントが上司の iPhone 上の仮想 Vax/VMS サーバー上で動作する Cobol on Rails で開発されたピンクとグリーンの Web サイトを望んでいる場合、それは彼らが手に入れるものです。これで、あなたの専門知識と経験を使って、それは良い考えではないことを彼らに納得させることができますが、最終的に彼らがそれを望んでいる場合は、2 つの選択肢があります。
あまりにも多くの開発者が、人々が求めるものではなく、持つべきだと思うものを人々に与えるという罠に陥ります。大ミス。プロセスの一部は、クライアントとのコミュニケーション チャネルを開いたままにしておくことです。これにより、クライアントがまったく異なる何かを期待しているときに、クライアントが何かを望んでいると考えている (または何かを持っている必要があると判断する) ことはありません。
小規模なソフトウェア開発プロジェクトでも、簡単に 6 桁に達することがあります。これは通常、お金を払っている人にとっては大きな投資です。彼らには緊張する権利があり、あなたには彼らを幸せにする責任があります。