メンテナンスと新機能の間に線を引く必要がありますか?
オックスフォード英語辞典では、メンテナンスを次のように定義しています。
(7.a)何かを正常に機能させたり、修理したりする行為。設備などの手段を提供することによる、建物、施設、軍隊などの維持。そのように維持されている状態または事実。維持のための手段または準備。
私はクライアントサーバーアプリケーションを使用していて、クライアントを保守しています。定義に沿って、私は実行することを期待します:
- バグ修正
- APIの適応(クライアントがサーバーとの連携を継続するために必要なマイナーな変更)
- 識別されたパフォーマンスの問題の最適化
私は実行することを期待していません:
- 新しい開発(新しい機能の追加)
ウィキペディアのソフトウェアメンテナンスページでは、修正、適応、完全、および予防的なメンテナンスについて説明しています。これは、私が期待するものと一致しているように見えますが、クライアントサーバーの性質により問題が複雑になります。
編集:依存関係のないスタンドアロンアプリケーションでは、ソフトウェアが機能する場合は引き続き機能するはずです。クライアント/サーバーアプリケーションでは、サーバーが変更されたときにクライアントが破損する可能性があります。これはメンテナンスの定義を変更するものではありませんが、クライアントアプリケーションへの変更が必要になる機会と機会が増えることを意味します。
両者が保守契約に合意する場合、何が保守に適格であり、何が新機能として適格であるかについての相互理解が満たされなければならないため、問題が発生します。