web-dev-qa-db-ja.com

「失敗した」プロジェクトが実際に「成功した」場合、どうしますか?

あなたが取り組んでいるプロジェクトが明らかに不十分に構築されており、将来的に失敗し、維持するのが悪夢になるような状況にあった場合、どうしますか?しかし、クライアントが幸せです?

気にしない方がいい?クライアントがこれよりも優れたアプリケーションを持つことができることに気付かなくても大丈夫ですか?

どの時点で私はそれを正しく構築することを気にせず、ただ流れに行くのですか?

14
James P. Wright

それは彼らにとって悪夢ではありません。それはあなたにとって悪夢であり、彼らはあなたがあなたが何をしているか知っていると思っているようですので、それは修正されます。プログラミングを理解していない人は、あなたのアプリが実際よりも悪いと思いますか?これは例外ではありません。できるうちにお楽しみください。クライアントがこのアプリを超えることを望みます。彼らは、ビジネスとして別の方向に進んで、これはまったく役に立たないかもしれません。あなたが思っているよりも全く異なる理由でそれを書き直している可能性があります。

4
JeffO

たとえ上層部の経営陣がやめたように見えても、あなたが思いやりをやめるべきではないと私は思います。この経験から取り除くべき重要なことは、あなたが間違っていると思うことをすべて覚えて文書化することだと思います。将来これらのミスを回避することは、この現在のマネージャーのグループでないとしても、最終的には認識されるでしょう。

3
djnotepad

コードの品質を改善するためのリファクタリングを含む、開発の次のステップのアイデアを提示し始めます。技術的な詳細に深く入り込まないようにしてください。ただし、提案する修正がどのように意味するかを指摘してください続き顧客満足度。経営陣は常に何か新しいものを探しているので、クリーンアップと新機能を組み合わせる準備をしてください。

一般に、クライアントは、何か問題が発生するまでメンテナンスを気にしません。理想的には、あなたの会社はその評判を気にし、コードを維持することでそれを保護したいと考えています。

ただし、この製品が非常に短期的に見られる場合、実際にそれを正しく実行することに付加価値がない場合があります。その場合-安価な修正を探してください-開発者の正気に大きな価値を持つ、少しの努力でのこと。

2
bethlakshmi

あなたはしません。成功を利用して、資金調達/許可/バイインを確保し、技術的に正確でメンテナンスが容易なリファクタリングを開始します。または、成功を利用して、「古いコードベースを維持する」部門から昇格します。

2
Wyatt Barnett

おそらくあなたの優先順位/視点は間違っています。

ソフトウェアプロジェクトで最も重要なことは、ユーザーの要件を満たすことです。

これは、今月のC/Sデザインファッションによれば、「正しい」ことよりも何億倍も重要です。

はい、正しい設計パターンを使用し、テクノロジーを正しく使用する必要があります。ただし、堅牢で保守可能な方法でユーザーの要件を実装するのが容易になる限りにおいてのみです。

ビジネスニーズを実際に満たす本当にひどいシステムは、誰もが使用したくない、または使用する理由がない、美しく文書化された見事に記述されたコードよりも常に優れています。

0
James Anderson

現在のユーザーとコミュニケーションを取り、改善が必要だと思う側面を尋ねます。次に、改善が必要であると考えるいくつかの側面を改善し、ユーザーが提案した側面も改善することができます。 「ユーザーが提案した改善を実装するために必要」として、改善を正当化できます。

例:ユーザーが検索機能が遅いと思う場合。明らかに検索以上の機能を提供するより優れたデータレイヤーを作成することで、これを改善できますが、費やした時間を正当化できます。

0
Bazzz