コーディングの前にデザインにどれくらいの時間を費やしますか? [複製
https://softwareengineering.stackexchange.com/questions/23604
質問
この質問にはすでに答えがあります:
- 最初にやるデザインはどれくらいですか? [複製 4つの回答
私の経験では、コードに入る前にプロジェクトの計画をスケッチする際に少し費やすことが有用です。このような計画には、通常、フレームワーク/ツールの選択、要件と期待の作成、モックアップの選択が含まれます。
私は通常、深刻なプロジェクトに対してのみこれを行いますが、1回限りの試みや短命の試みについてはそれほどではありません。
コーディングを開始する前に、プロジェクトの計画/設計にどれだけの時間を費やすかを聞いてみたいと思います。あなたはすべてのプロジェクトのためにそれをしますか、それとも単に「深刻な」ものですか?
解決
それはプロジェクトに大きく依存します。
プロジェクトが既に記述されている仕様(バイナリデータファイルの仕様など)に基づいている場合、あまり設計が含まれない場合があります。
プロジェクトが非常に投機的または研究志向である場合、私はデザインを作成するためにスローアウェイコードを書くためにより多くの時間を費やすかもしれません。
プロジェクトが大規模なものである場合、高レベルのアーキテクチャについてより多くの前向きな考え方が必要になります。
他のヒント
かかる限り
プロジェクト、モデル、リスク、未知のものを理解する
特にリスクと未知のもの
私たちは私の仕事でスクラムを使用しているので、ユーザーストーリーをタスクに分解するために十分なデザインを考えなければならないと少なくとも言えます。タスクを作成するために必要なものについて、かなり良いアイデアが必要です。重要なのは、それらを書くことであることを忘れないでください 他の誰か 理論的には実装を行うことができます。私は通常、タスクの時間推定に小さな詳細(例えば、どのアルゴリズムを使用するか)を折ります。困難な調査を行う必要がある場合は、独自の仕事をします。
叙事詩(複数のスプリントを続けるプロジェクト)を扱うとき、私は「デザイン」と呼ばれるものではるかに自由です。その場合のデザインには、通常、基本的なアーキテクチャの大まかなスケッチと、私が期待する少数のユーザーストーリーが含まれます。カウボーイコーディングではありませんが、厳密な設計プロセスではありません(従来の滝モデルを考えてください)。ゲームをどこかに変える何か(要件の変更またはA-HAモーメント)が出てきます。私は、捨てられたり、大幅に修正されたりする可能性のあるものにあまり時間を費やさないようにしています。
有名なジェイミー・ザウィンスキーは、本「職場でのコーダー」のラインに沿って何かを言った...私たちが使用できるものをコーディングしてからそこから行くために十分な時間を費やす方が良い。プロジェクトと競争に応じて、あなたが何かをするための最良の方法を計画し、考えている時間を費やし、特定の時間枠で働く製品を持っていない場合、競合他社はゲームの先を行っており、それは大きな損失。
私は必ずしもそれに同意するわけではありませんが、あなたは彼が成し遂げたことに対して彼に信用を与えなければなりません。