web-dev-qa-db-ja.com

量と質の境界はどこにありますか?

私のマネージャーは私と話し合って、私の仕事の質は素晴らしいと言いましたが、私はどれだけクランクアウトするかという量を増やす必要があります。ほんの数年働いているので、まだまだ学ぶことがたくさんあるような気がします。私はどのルートをたどりますか(または別のルートはありますか?):

数量:彼らががらくたを望んでいるなら、私は彼らにそれをたくさん与えることができます。

品質:要求を無視し、経験とともに私の生産性が向上することを願っています。

12
Adamizer

他の回答で述べられているように、品質は技術的な観点から非常に重要です。

しかし、品質も動機付けにとって非常に重要です。あなたの上司がたわごとを作るように頼んだ場合、長期的には、それはあなたを破壊します。 「あなたは何をしますか?」という質問に答える飲み物を想像してみてください。あなたは「私は非常識なマネージャーのためにたわごとを書く」と答えないでしょう?しかし、あなたはそれを大声で考えるでしょう...

組織の鍵は、従業員が自分の作ったものを誇りに思うようにすることだと思います。

とはいえ、品質は、市場に参入するために削減する4つの要素の1つになる可能性があります。 4つの要素は、リソース、時間、範囲、品質です。

私はかつて、リソースが限られているプロジェクトに取り組んだことがあり、スコープが重要であり、1月ごとにその会社が毎分数百万ドルを失うことになった契約により、期限が最初に固定されていました。

最善を尽くすことを決定しましたが、時間と範囲を超えて品質を考慮する必要はありません。

アプリケーションは、実行の最初の1時間で十分な利益を生み出し、過去の開発とその後計画された完全な書き直しを払い戻しました。

結論:品質IS=非常に重要ですが、場合によっては、ビジネスの優先順位により、組織全体の幸福度を下げる必要があります。

6
user2567

高品質のコードは、長い目で見れば、メンテナンスにかかる時間を短縮できます。また、理論的には、QAチームがコードをテストするために必要な時間を短縮する必要があります。コーディング済みのコンポーネントまたはコーディング中のコンポーネントを再利用する方法を見つけると、見かけの量がスピードアップします。

選択を与えられれば私は品質にこだわるでしょう。私はむしろ高品質のコードで知られていて、多くのジャンクを吐き出すことができることで知られています。

8
Walter

ソフトウェアを実用的にするためには、実際にソフトウェアを出荷する必要があることを忘れないでください。必要なときに入手できない場合、世界で最も優れたコードを作成しても意味がありません。

これは、バランスを取る必要のある多くの要件の1つです。あなたのマネージャーが有能であると仮定して、私は彼らに耳を傾けます。彼らは、あなたが(かなり新しい開発者として)知っているよりも、プロジェクトに必要な品質/速度の比率を知っている可能性が高いです。

または、一般的なフレーズを使用します。完璧は善の敵です。

8
Ben Hughes

プロジェクトをより一般的に考え始め、独自のフレームワークを構築し始め、時間の経過とともにツールキットが大きくなり、古いプロジェクトをまとめて新しいプロジェクトを作成できるようになります。つまり、量が増えるのです。品質を維持しながら。

3
Toby

あなたが現在良いコードを書いているなら、私はあなたがより多くの経験を積むにつれてあなたがより速くなることを保証します。

あなたが現在コードを素早く書いているなら、あなたがeverより高品質のコードを書くという保証は絶対にありません。

だから私はあなたが正しい軌道に乗っていると言うでしょう。

3
Carson63000

数量の定義の問題ですか?

  • 行数は? -悪い指標
  • 対処されるユースケース-良い指標

私にとってそれは視点の問題です。問題を解決するために1万行のコードを記述し、別のコードでは200行のコードだけでなく、より生産性の高いオープンソースライブラリを必要とする場合意見の問題。

ただし、それが問題になると、これらの意見を行うのはマネージャーです。そのため、開発者の生産性のメトリックをどのように配置するか、および数量を明確に数量化して、理解を深める方法を理解する必要があります。

2
Chris

最後にレストランに行ったのはいつですか。最高の品質を持っているので5つ星に行きましたか?おそらくそうではありませんが、コストのトレードオフがあります。プログラマーは高価であり、クライアントは多くの場合最高品質を望んだり必要としたりしません。必要最小限の作業で顧客の満足が得られる場合、それを設計する意味はありません。

1
Richard