アジャイルマニフェスト原則の特定のポイントを理解できない


24

私はアジャイルマニフェスト原則を読んでいました。1点を除いて、すべてが明確で合理的なようです。

シンプルさ-完了していない作業量を最大化する技術-は不可欠です。

これはわかりません。これは、行われなかった作業が何らかの形で誇張されるべきであることを意味しますか?もしそうなら、それは本当に意味をなさない。


2
+1を押して反対票を投じます-ここには驚くほど興味深い質問があります。

1
また、Wu Weiを参照して、ソフトウェア開発全般にどのように適用できるか想像してください。それはあなたの質問で表現された哲学の自然な進歩です。

回答:


30

カッコ内のコメントを削除します。残っているのは「シンプルさが不可欠​​」であり、それはところでその表現自体への原則の適用です。

本当に必要なものを蒸留し、手元のタスクをより重く、よりエレガントではないものにする複雑さを取り除くため、シンプルさが不可欠​​です。

パスカルの簡潔さの意味で私は常に解釈しました:「私は短い手紙を書いていたでしょうが、時間がありませんでした。アクティブなタスクではなく、簡単なもの。それ自体で起こるものではありません。


35

アイデアは、必要のない作業を行わない、つまり「完了の作業量を最大化する」ことです。

したがって、従来のプロジェクトで、将来必要なものすべてを可能にする優れた抽象ベースシステムを計画および構築する場合は、それをスキップして、現在の要件に対応できる最も単純なものを構築するだけです。必要のないものを作成しないでください。

YAGNIは関連する概念です。


5
偶然にも、これはおそらく私が最も同意しないアジャイルの原則です。極端に言えば、抽象的な先見の明は、私たちを他の動物から隔てるものです...私たちは、できる限りそれを使う必要があると言います。もちろん、原則がどのような残虐行為に反応しなければならないかは知っていますが、少し先見の明は害になりません。YAGNIの場合もありますが、数時間先のことを考えても止まらないほど独断的な開発者を見てきました(そして、実装しているシンプルさは4-8時間で十分ではないことを認識しています)。
マックス

2
@マックス、将来起こりうる変化を予見する必要があると思います。ここで先見が大きな助けになります。そして、あなたが説明する開発者は砂の中に隠れているダチョウのようなものです。
superM

7
@Maxの顧客は、あなたが何のためにお金を払う必要はありませんだと思う彼らはかもしれない、彼らが何のために支払いをしたい、将来的に必要できるだけ早くとして今必要。毎月数十億ドルの無駄な努力があり、「これは後の時間を大幅に節約します」と「後」は実際には来ないという善意でありますが、物事はすべて「先見性」のために複雑でバグがあり、遅くなります

15
@Max:YAGNIは、決定を最後の責任ある瞬間まで遅らせることについてです。あなたが話しているのは、決定を最後の可能な瞬間まで遅らせることです。これは確かにBad Idea™です。大事なことは、あなたが今持っているよりも、決定の基礎となる情報が少なくなることは決してないということです。最悪の場合、明日も同じ情報が得られます。しかし、通常、それまでに何かを学んでいるでしょう。あなたが言及した場合は、あなたが知っているということです YAGNIは単純には適用されませんので、それを必要とするつもり。その場合、それを適用しようとするのは確かに愚かです。
ヨルグWミットタグ

2
@Max:ここで説明しているのは、未完了の作業量を最大化することとは正反対です。2倍の作業を行っています。
-pdr

5

以前はこれを「金メッキ」と呼んでいました。ハンマーの要件は、釘を木片に打ち込むことができることです。金メッキされたハンマーであるため、それ以上の仕事はありません。

多くの場合、開発者は新しいクールなフレームワークを使用するか、クールではないが必要ではない機能を追加することを提案します。この考えは書き留めておきますが、このバージョンではそれを行いません。未完了の作業を最大化します。ソフトウェアを予定通りに配信するのは十分に難しいため、必要以上のコードを配信しないでください。実行する必要がある場合、最終的には計画に組み込まれ、適切なタイミングで実行されます。


4

このアイデアは、トヨタ生産システム(TPS)のコンセプトと非常によく似ており、より一般的なリーン製造を実現し、それらの技術をリーンソフトウェア開発に適用しました。TPSは、1950年代後半の製造業にそのルーツがあるアジャイルムーブメントに大きく先行しています。

実行されない作業量を最大化するという概念は、無駄をなくすことに似ています。製造環境では、廃棄物には、商品の過剰生産、リソースの待機、人や製品の不必要な移動、過剰な在庫、不良品などが含まれます。リーンソフトウェア開発では、これらの無駄は不要な機能、開発プロセスの遅延、ソフトウェアの生産を遅らせる不明確な要件、テストの欠如、および通信の遅延に変換されました。

両方の概念の全体的な考え方は同じです。価値を付加しないものは無駄であり、最小限に抑える必要があります。最終的な目標は、生産時間とコストを削減しながら品質を向上させることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.