あなたが取り組んでいるプロジェクトが明らかに不十分に構築されており、将来失敗し、維持するのが悪夢である状況にあった場合、あなたはどうしますか...しかし、それはクライアントによって幸せです?
私は気にしないでください?クライアントは、これよりも優れたアプリケーションを使用できることに気づいてさえいませんか?
どの時点でそれを正しく構築することを気にするのを止めて、ただ流れに行くのですか?
あなたが取り組んでいるプロジェクトが明らかに不十分に構築されており、将来失敗し、維持するのが悪夢である状況にあった場合、あなたはどうしますか...しかし、それはクライアントによって幸せです?
私は気にしないでください?クライアントは、これよりも優れたアプリケーションを使用できることに気づいてさえいませんか?
どの時点でそれを正しく構築することを気にするのを止めて、ただ流れに行くのですか?
回答:
クライアントが満足しているなら、あなたは正しいことをしている。多くの人々は、彼らがどのように作られているか知らずにホットドッグを楽しんでいます...
アプリが問題の優れた解決策であるが、基盤に欠陥があることが心配な場合は、製品を更新するときに、物事を徐々に改善し、それらの改善を実装する計画を提案する方法を見つけてください。増分が重要です。もしあなたがその全体を書き直したいなら、あなたのマネージャーはそれが不合理だと正しく言うでしょう。完璧は善の敵になりえます。NetscapeがNavigatorを「書き換えた」ためにIEをリードさせたというjwzのストーリーをご覧ください。
アプリのUI自体が混乱している場合、クライアントはそれを「難しい方法」と比較し、バグのあるプログラムでさえそれよりもはるかに優れている可能性があるため、まだ満足しているかもしれません。あなたはそれをあなたのバックグラウンドとスキルのために想像できる理想と比較しています。繰り返しますが、物事を少しずつ改善する方法を検討し、計画の一部として提案します。
思いやりをやめないでください。あなたは自分の仕事を最高のものにしたいのです。ただし、請求書を支払うのは顧客であり、あなたはソフトウェアを書いているのであって、あなたではないことを覚えておいてください。
コードの品質を向上させるためのリファクタリングを含む開発の次のステップのアイデアを提示し始めます。技術的な詳細に深く入り込むことは避けますが、提案する修正が顧客満足度の継続を意味することを指摘してください。経営陣は常に新しい商品を探しているため、クリーンアップと新機能を組み合わせる準備をしてください。
一般的に、クライアントは何かがうまくいかなくなるまでメンテナンスを気にしません。理想的には、あなたの会社はその評判を気にし、コードを維持することでそれを保護したいと思うでしょう。
ただし、この製品が非常に短期間であると見なされる場合、実際にそれを行うことに付加価値がない場合があります。その場合-安価な修正を探してください-開発者の健全性に大きな価値がある、労力の少ないもの。
あなたはしません。成功を利用して資金調達/許可/購入を確保し、技術的に正確で維持しやすいリファクタリングを開始します。または、成功を利用して「古いコードベースを維持する」部門から昇進させます。
おそらくあなたの優先順位/視点が間違っています。
ソフトウェアプロジェクトで最も重要なことは、ユーザーの要件を満たすことです。
これは、今月のC / Sデザインのファッションによると、「正しい」ことよりもはるかに重要です。
はい、正しい設計パターンを使用し、テクノロジーを正しく使用するなどしてください。ただし、堅牢で保守可能な方法でユーザーの要件を実装しやすくする場合に限ります。
ビジネスニーズを実際に満たす、本当にひどく記述されたシステムは、誰も望んでいない、または使用する理由がない、美しく文書化された美しく文書化されたコードよりも常に優れています。