web-dev-qa-db-ja.com

ソフトウェア開発中、プログラマーにとって最も重要な開発フェーズはどれですか?

ソフトウェアの開発中にプログラマーは何に注意を払う必要がありますか?たとえば、時間の制約内に終了できないソフトウェアもあれば、クライアントの要件を満たすことができないソフトウェアもあります。

1
Jervis

それらすべてに注意を払う必要がありますが、開発プロセス中のさまざまな時期にさまざまな程度に注意を払う必要があります。ただし、常にそれらのいずれかを見失うことはありません。

それは常に要件、品質、時間の制約の間のバランスを取る行為であり、スキルは方法あなたがそのバランスを管理することにあります。

プロセスの開始時に、要件を理解していることを確認する必要があります。これから、許可された時間内に合理的に提供できるものを見つけることができます。この時点で、顧客の期待の管理を開始する必要があります。すべてを提供できると約束するのではなく、コア要件を提供することを約束してください。

開発を開始したら、品質と時間の制約に等しく注意を払い、順調に進んでいることを確認する必要があります。ただし、不要なものを開発してしまう可能性があるため、要件を見失わないようにする必要があります。

これを管理できれば、あなたは優れた開発者です。

10
ChrisF

要件の定義—それが正しく行われなかった場合、コーディングがどれほど優れていても、完全に失敗します。

28
vartec

開発者が最も必要としていると私が感じる3つの最も重要なフェーズは、常にスキップされるか、期限が与えられないフェーズです。

  1. 要件の収集と定義。書き込みを開始したり、時間の見積もりを行ったりする前に、コーディングする内容を知っておく必要があります。また、期限に達するかどうか、または期限を再交渉する必要があるかどうかを確認することもできます。
  2. 設計。コーディングする必要のあるものを設計するために時間をかけることで、時間を節約できます。デザインを文書化し、全員がコピーを持っていることを確認します。
  3. テスト。テストせずにコードを書くことは、電車のレースのようなものです。時間どおりに終了するかもしれませんが、すべてのバグの修正に何時間費やす必要がありますか?

これらの一つ一つはあなたがそれらに入れてそしていくつかを入れる時間を節約するでしょう。

2
Tyanna

要件を満たせない場合は、失敗します。締め切りに間に合わない場合は、失敗します。期限内に要件を満たすことが不可能であることを上司に納得させることができない場合、あなたは失敗します(彼らではありません...)。あなたが彼らを納得させることができれば、あなたは困惑しています(それはあなたに悪いレビューを与えるために使われるので、あなたは明らかに意欲と知識を欠いています)。

基本的に、あなたはめちゃくちゃです。

あなたが望むことができる唯一のことは、ゲームを先取りし、開発が始まる前に悪い要件と期限について警告を開始し、あなたの懸念を紙に書いて、プロジェクトマネージャーよりも高い管理者によって承認されることです。そうすれば、あなたは自分が過度に楽観的な期限を設定したのではないという証拠が得られます。また、要件が変更されて期限に間に合わなかった場合に再びカバーされるように、上級管理職によって承認された要件を取得します。

たぶん私は、マネージャーと営業スタッフがすべての成功に対してすべての賞賛を得ている間、開発者にすべての失敗について非難を押し付けるために絶え間ない非難ゲームが続いている組織であまりにも長い間過ごしました...

2
jwenting