クライアントが 2 週間ごとに新しい機能を要求するフリーランスの Web アプリケーション プロジェクトがあります。今後の機能の要件を予測することはできません。したがって、クライアントが新しい機能を要求すると、次のいずれかが発生する可能性があります。
既存のプラットフォームと互換性があるため、機能を簡単に実装できます
プラットフォームの基盤の大部分を書き直さなければならないため、機能を実装するのは困難です
クライアントは、既存のプラットフォームに対して実装するにはコストがかかりすぎるため、リクエストを取り下げます
プロジェクトの開始時、約 6 か月間、システムが小さくて機敏だったため、すべての機能要求がカテゴリ 1) に分類されました。しかし、過去 6 か月間、ほとんどの機能の実装はカテゴリ 2 に分類されました)。システムは成熟しているため、新しいモジュールを追加するたびにリファクタリングとテストを行う必要があります。さらに、以前は機能していたものを壊し、修正していることに気づきました (これに対して報酬はありません)。
クライアントは、私が新機能を実装するための時間と費用に不満を表明し始めています. 彼らにとって、機能要求の多くは、6 か月前に要求した機能と同じ規模です。たとえば、クライアントは、「昨年はチケット システムを構築するのに 1 週間かかったとしたら、今日イベント登録システムを構築するのに 1 か月かかるのはなぜですか? イベント登録システムはチケット システムよりもはるかに単純です。 1週間しかかかりません!」このシナリオのため、機能要求はすぐにカテゴリ 3 に分類されるのではないかと心配しています)。実際、私はプロジェクトをサポートするために何時間もボランティア活動を行っているため、すでに多くの費用を自分で負担しています。
何かをするのにかかる時間を正直に話すと、クライアントはしばしばショックを受けます。クライアントは常に私の見積もりをプロジェクトの初期の月と比較します。成熟した Web アプリケーションを開発、維持、サポートするために実際にかかる費用に対して、彼らは準備ができていないと思います。
フルタイムの会社で給与を計算していたとき、マネージャーは私の見積もりをより受け入れてくれ、予想外の事態に備えて数字を埋めるように勧めさえしました. クライアントが同じように考えるように調整する方法はありますか?
この Web プロジェクトにあまりコストをかけずに作業を続ける方法について、誰かアドバイスをいただけますか?
追加情報- 私はフルタイムで 1 年しかフリーランスとして働いていません。私はまだハイエンドのクライアントを持っていませんが、ゆっくりとそこに到達しています. 時間が経つにつれて、より質の高いクライアントを獲得しています。