26

私は、アジャイルはスパイラル モデルのもう 1 つの実装に過ぎないと考えています。私はスパイラルの大きな支持者です (スパイラル モデルは、トップダウンとボトムアップの概念の利点を組み合わせるために、段階的に設計とプロトタイピングの両方の要素を組み合わせたソフトウェア開発プロセスです)。多くのプロジェクトがスパイラルの世界で動作していることを知らずにスパイラルを実装しています。アジャイルが人気を博し始めた日から、スパイラルの概念が少し見過ごされ始めました。複雑なプロジェクトでは、スパイラルが最良の代替手段であると確信していますが、アジャイルとスパイラルの手法の類似点と相違点をよりよく理解したいと思います。違い/類似点を説明できる人はいますか?

4

6 に答える 6

48

アジャイルスパイラルです。完全に。一部、マーケティング目的で名前が変更されました。

問題は、スパイラルが「事前に大きな設計」を暗示する傾向があることです。つまり、リスクの順に多くのスパイラルを計画します。ただし、スパイラルはアジャイルではありません。リスクの順序で段階的に実行するだけです。

アジャイルが追加する大きな違いの 1 つは、「まだわからないことを過剰に計画しない」ことです。アジャイルはスパイラルですが、一度に1 つのインクリメントに対して詳細な計画を作成します。

アジャイルは他にも多くのことを追加します。スパイラルは非常に技術的なアプローチです。しかし、アジャイルは、テクノロジーは人によって構築されることを認識しています。アジャイル マニフェストには、ベームの単純なリスク管理アプローチを超えた 4 つの原則があります。

于 2008-10-31T15:02:45.270 に答える
15

基本的な違いは、私が見ているように、開発中のほとんどの Spiral モデルが依然として大きくて前向きなデザインを主張していることです。システムがどのように使用されるかについて、できる限り多くのことを知ることに重点が置かれています。すべてのユースケースを発見します。これらを理解したら、システムを設計し、詳細設計、実装、テスト、リファクタリング設計の反復ループに従うフェーズに分割します。アジャイルでは、合理的なリリースを説明できるように、事前に計画を立てます。おそらく大粒の理解 (ストーリー タイトル) を収集します。ただし、各リリースは個別に計画されており、開始の準備が整うまで詳細の発見を遅らせます。そのリリースの実装。私たちは変化を期待しており、最初にすべてを知ろうとはしません。

もう 1 つの違いは、ほとんどのアジャイル哲学が「テスト ファースト」の方法を含むことです。これは、テスト自体が活動であることが多く、コードの前にテストが開発されないスパイラルとは異なります。ほとんどの場合、それらは事前に計画されていますが、並行して、またはコーディング後に開発されます。多くのアジャイル手法は、コードの仕様として最初にテストを開発することを主張しています。

それらは反復的であるという点で似ています。それらは、反復とは何かの実装と理解が異なります。

于 2008-10-31T15:07:24.933 に答える
2

私はスパイラル モデルの専門家ではありませんが、ウィキペディアの定義から、いくつかの重要な違いがあるように思えます。

たとえば、アジャイル プロジェクトでは、イテレーションの最後にプロトタイプは存在しませんが、機能リストで最も優先度の高い機能を含む、完全に機能し、完全にテストされた、潜在的に展開可能な (1) システムです。

プロジェクトの開始時に収集された要件は、(次のステップに進むために) かろうじて開始することを意図しており、実際に実装する直前に肉付けすることを意味しています。要件の変更は大歓迎です。

また、アジャイルには、反復開発を行うだけではありません。書面によるコミュニケーションではなく、対面での会話に焦点を当て、日常業務でビジネス関係者と技術者を結びつけることに焦点を当てています。契約を定義して履行するのではなく、協力して価値を最大化することに重点を置いています。

まだご覧になっていない場合は、基本的にアジャイル ソフトウェア開発の定義であるアジャイル マニフェストをご覧ください。

(1) これは、システムを展開することがビジネス上合理的でなければならないという意味ではなく、「単に」技術的に実行可能であるという意味です。反復の最後にシステムを展開するかどうかは、純粋にビジネス上の決定であるべきです。

于 2008-10-31T15:47:26.163 に答える
1

アジャイルは反復型 SDLC の一種であり、スパイラルは増分型 SDLC の一種だと思います。スクラムはアジャイルの一種であり、DSDM/FDD/XP などがあります。ウォーターフォール以降のすべての SDLC は、いくつかの異なる組み合わせで同じ一連の行為 (要件分析、設計、コーディング、およびテスト) に従いました。したがって、シーケンシャル OR 反復 OR インクリメンタルの基本的なアクション セットは同じです。

アジャイルとスパイラルに関する限り、どちらにも共通の利点があります 1.要件の変更の処理 2.短期間のリリース 3.SDLCの期間が短いため、リスク管理が容易 4.クロスチームが製品とプロジェクトの円滑な進行を支援

于 2012-04-13T11:26:37.007 に答える
0

スパイラルとアジャイルは似ていると思います。しかし最近では、アジャイルはカウボーイコーディングを言い訳するプロパガンダシステムになっているように見えることがよくあります。いえ

  • 非常に最小限の要件
  • 最小限のテクニカル分析
  • 最小限のドキュメント
  • コードのコメントはありません
  • 特別ボーナス -- ドメイン駆動設計の誤用によるオブジェクト モデルの過度の複雑化

これはスパイラルのアイデアではありませんでした。私が最近これを何回目にしたかに驚かれることでしょうが、それは実際にはアジャイルのポイントでもないと主張します。 経験豊富な開発者/PM は、ウォーターフォールと「アジャイル」の間のよりバランスの取れたアプローチの知恵に気づき始めています。

アジャイル マインド スペースにはいくつかの有用なアイデアがありますが、それは、特に負担が大きすぎる/役に立たないソフトウェア設計方法論を持ち、それに対する反応/過剰反応である組織に属する人々から現れたように見えることがよくあります。

于 2010-02-09T23:11:55.623 に答える
0

最初のアジャイルは、実際には、同様の哲学に従う多数の異なるプロセスです。それを差別化する哲学の 1 つは、各反復が機能する製品を生成することです。それは、反復的で漸進的であると言えます。動作する製品とテストに重点が置かれています。多くのアジャイル モデルでは、コーディングの前にテストが行​​われます。

スパイラル モデルでは反復回数が固定されていますが、アジャイル モデルの各フェーズは任意の反復回数で構成されます。

類似点があることは確かですが、根底にある哲学が違いを生んでいます。このページでは、より詳細に説明し、アジャイルを他の方法と比較します。

アジャイル プロセスはユース ケース駆動型であると言えます...エンド ユーザーである人々に重点を置いています。

于 2008-10-31T15:03:16.253 に答える