私はアジャイルマニフェスト原則を読んでいました。1点を除いて、すべてが明確で合理的なようです。
シンプルさ-完了していない作業量を最大化する技術-は不可欠です。
これはわかりません。これは、行われなかった作業が何らかの形で誇張されるべきであることを意味しますか?もしそうなら、それは本当に意味をなさない。
私はアジャイルマニフェスト原則を読んでいました。1点を除いて、すべてが明確で合理的なようです。
シンプルさ-完了していない作業量を最大化する技術-は不可欠です。
これはわかりません。これは、行われなかった作業が何らかの形で誇張されるべきであることを意味しますか?もしそうなら、それは本当に意味をなさない。
回答:
アイデアは、必要のない作業を行わない、つまり「未完了の作業量を最大化する」ことです。
したがって、従来のプロジェクトで、将来必要なものすべてを可能にする優れた抽象ベースシステムを計画および構築する場合は、それをスキップして、現在の要件に対応できる最も単純なものを構築するだけです。必要のないものを作成しないでください。
YAGNIは関連する概念です。
以前はこれを「金メッキ」と呼んでいました。ハンマーの要件は、釘を木片に打ち込むことができることです。金メッキされたハンマーであるため、それ以上の仕事はありません。
多くの場合、開発者は新しいクールなフレームワークを使用するか、クールではないが必要ではない機能を追加することを提案します。この考えは書き留めておきますが、このバージョンではそれを行いません。未完了の作業を最大化します。ソフトウェアを予定通りに配信するのは十分に難しいため、必要以上のコードを配信しないでください。実行する必要がある場合、最終的には計画に組み込まれ、適切なタイミングで実行されます。
このアイデアは、トヨタ生産システム(TPS)のコンセプトと非常によく似ており、より一般的なリーン製造を実現し、それらの技術をリーンソフトウェア開発に適用しました。TPSは、1950年代後半の製造業にそのルーツがあるアジャイルムーブメントに大きく先行しています。
実行されない作業量を最大化するという概念は、無駄をなくすことに似ています。製造環境では、廃棄物には、商品の過剰生産、リソースの待機、人や製品の不必要な移動、過剰な在庫、不良品などが含まれます。リーンソフトウェア開発では、これらの無駄は不要な機能、開発プロセスの遅延、ソフトウェアの生産を遅らせる不明確な要件、テストの欠如、および通信の遅延に変換されました。
両方の概念の全体的な考え方は同じです。価値を付加しないものは無駄であり、最小限に抑える必要があります。最終的な目標は、生産時間とコストを削減しながら品質を向上させることです。