いくつかの非効率的な開発手法が非常に多くの人によって非常に頻繁に選択されており、そのような予測可能な悪い結果は「古典的な間違い」と呼ぶに値します...
このセクションでは、3ダースの古典的な間違いを列挙します。私は個人的にこれらのミスのそれぞれが少なくとも一度は見たことがあり、私はそれらの多くを自分でしました...
このリストの共通点は、間違いを避ければ必ずしも迅速な開発を得られないということですが、避けなければ間違いなく遅い開発になります...
参照しやすいように、リストは人、プロセス、製品、および技術の開発速度の次元に沿って分割されています。
人
#1:やる気を損なう...
#2:人員が少ない...
#3:管理されていない問題のある従業員...
#4:ヒロイック...
#5:遅いプロジェクトに人を追加する...
#6:騒がしい、混雑したオフィス...
#7:開発者と顧客の間の摩擦...
#8:非現実的な期待...
#9:効果的なプロジェクトスポンサーシップの欠如...
#10:利害関係者の賛同の欠如...
#11:ユーザー入力の欠如...
#12:実質に置かれた政治...
#13:希望的観測...
プロセス
#14:過度に楽観的なスケジュール...
#15:不十分なリスク管理...
#16:請負業者の失敗...
#17:不十分な計画...
#18:圧力の下での計画の放棄...
#19:ファジーフロントエンドでの時間の無駄。「ファジーフロントエンド」とは、プロジェクトが開始されるまでの時間であり、通常は承認および予算化プロセスに費やされる時間です...
#20:アップストリームアクティビティの短縮...「コーディングへのジャンプ」としても知られています...
#21:不十分な設計...
#22:品質保証の変更...
#23:不十分な管理コントロール...
#24:収束が早すぎるか、頻度が高すぎます。製品のリリースが予定されている少し前に、製品のリリース準備を進める必要があります。製品のパフォーマンスの向上、最終ドキュメントの印刷、最終ヘルプシステムフックの組み込み、インストールプログラムの洗練、今後予定されていない機能のスタブ時間通りに準備など
#25:見積もりから必要なタスクを省略する...
#26:後で追いつく計画...
#27:コードのような地獄プログラミング。一部の組織は、高速でゆるい、使いやすいコーディングが迅速な開発への道だと考えています...
製品
#28:金メッキの要件。一部のプロジェクトには、最初から必要以上の要件があります...
#29:機能クリープ...
#30:開発者の金メッキ。開発者は新しいテクノロジーに魅了され、新しい機能を試してみたいと思うことがあります...製品に必要かどうか...
#31:押してくれ、交渉してくれ...
#32:研究指向の開発。Crayスーパーコンピューターの設計者であるSeymour Crayは、障害のリスクが高すぎるため、一度に2つ以上の領域でエンジニアリングの制限を超えようとしないと述べています(Gilb 1988)。多くのソフトウェアプロジェクトはCrayから教訓を学ぶことができます...
技術
#33:銀弾症候群...
#34:新しいツールまたは方法による節約の過大評価...プロジェクトが以前のプロジェクトのコードを再利用すると、節約の過大評価の特別なケースが発生します...
#35:プロジェクトの途中でツールを切り替える...
#36:自動化されたソースコード管理の欠如...