web-dev-qa-db-ja.com

アジャイル方法論とは何ですか?

簡単な文章でアジャイル方法論について説明できる人はいますか?

27
Chankey Pathak

アジャイルは多くのことや実践ですが、その中心は単なる反復的な開発だと思います。

反復:非常に小さな滝の束を考えてください。つまり、ウォーターフォール方式(要件->仕様->コード->テスト)ですが、1年程度で実行する代わりに、数週間にわたって実行して、全体の管理可能なチャンクを作成します。事業。 「イテレーション/スプリント/インクリメント」の最後に、小規模ながら完全でテスト済みの追加機能セットがあります。

これにより、あなたがしていることが顧客の望むものではない、またはビジネスのニーズが変化するなどのことが判明した場合に、プロジェクトの過程を迅速に変更することができます。したがって、「アジャイル」という用語です。

23
Fishtoaster

アジャイルマニフェスト自体に勝るものはありません。

私たちは開発のより良い方法を明らかにしています
それを実行し、他の人が実行するのを支援するソフトウェア。
この作業を通じて、私たちは評価に至りました:

プロセスとツール上の個人と相互作用
包括的なドキュメントに対応した実用的なソフトウェア
顧客とのコラボレーション契約交渉
計画に従った変更への対応

つまり、上のアイテムには価値がありますが
右側、左側のアイテムを重視しています。

から http://agilemanifesto.org/

32
Andy Lowry

私にとって最も重要なアイデアはこれです:

必要なもの(プロジェクトの開始)に関する知識の最下点でソフトウェアを設計する必要があり、要件がプロジェクトの過程で明らかになるため、要件の変更が発生します。

従来の(ウォーターフォール)アプローチ包括的な仕様を承認することで、プロジェクトの開始時に全員を契約に拘束することで、この変更を緩和しようとします。これはCYAとして機能する可能性がありますが、特に「サインオフしてくれますか!」という反対意見が出された場合は特に、ユーザーのニーズに合わないものを喜んで提供することにはなりません。

アジャイルメソッドは、開発チームをそれらから保護するのではなく、避けられない変更を受け入れるように設計されています。これはさまざまな方法で行われますが、その主なものは、反復的な開発と、プロセスへの利害関係者による継続的な関与です。私の経験では、ハードコアなプランナーである一部の管理タイプにとってはより不快になる可能性はありますが、結局のところ、関係者全員が幸せになります。

13
JohnFx

一文でこれは次のようになります:

アジャイルソフトウェア開発は、反復およびインクリメンタル開発に基づくソフトウェア開発方法論のグループであり、要件とソリューションが進化しますコラボレーションを通じて自己組織化、クロスファンクショナルなチーム

これはウィキペディアの定義によるもので、とても気に入っています。中核となる原則を強調しました。

6
user2567

アジャイルではないものも追加したいと思います。アジャイルであると主張している店はたくさんありますが、それはつまり、彼らがプロジェクトの計画に興味がなく、不当に短い時間で物事が行われることを期待しているということです。

Agile!=プロジェクト計画はありません。彼らは管理タイプである傾向があり、必ずしも矛盾するのは容易ではないため、ステートメントが暗黙的に誤っていると考える人々を処理することは困難です。

3
q303

Andyはすでにアジャイルマニフェストにリンクしています。

アジャイルマニフェストがどこから来たのかを見ることも役立つと思います。そこにはいくつかの共通の要素と多くの同様の動機を持つ方法論がありました:エクストリームプログラミング(XP)、スクラム、DSDM、アダプティブソフトウェア開発、クリスタル、機能駆動型開発、プラグマティックプログラミング( Alistair Cockburn )。それらの方法論を提案する人々は、彼らが言っていることの力が強化されるように、彼らが共通して持っていたものをカバーするマーケティング用語を思いつくことを決めました。

興味深いことに(誰かが私に言ったことによると)、「アジャイル」の代わりに選ばれた可能性のある候補リストにいくつかの名前がありました-その1つは「適応的」でした。私は個人的に、アジャイルが「アジャイル」よりも優れているということをよりよくまとめた単一の単語として考えています!

2
FinnNk

アジャイル方法論を採用することは、製品開発の他の側面よりも高品質の製品のデリバリーを強調し、ユーザーコミュニティからのフィードバックが高品質の製品を作成する上で重要な部分であることに気づくことになります。

これとは対照的に、実装を重視せず、開発からリリースへの製品の移行を重視せずに、事前の設計、ドキュメント、およびインターフェースの定義を強調する従来の/ウォーターフォール開発アプローチと比較してください。

私の意見では、チームが製品に組み込むことができる本質的な品質があります。これは、製品が開発チームの意図したとおりに機能し、予測可能な拡張に合理的に対応できることを確認するという形をとっています。製品がユーザーのニーズをどれだけ満たしているかを測定する、完全に知覚に基づく品質要因もあります。

アジャイルアプローチは、製品を提供する傾向があります反復的に、ユーザーのフィードバックと開発者のフィードバックを各反復に組み込み、提供する達成したときに機能の各増分最小の実行可能性を促進します=強制的な機能として頻繁なユーザーフィードバックそして、ユーザーからのフィードバックなしに長期間にわたって開発活動が継続する傾向を打ち消します。私の考えでは、アジャイルアプローチの他の側面は、これらの主要な理念をサポートする傾向があります。

  • 頻繁な顧客コラボレーションを強調すると、ユーザーのフィードバックが生成されますが、要件の変更に柔軟に対応できるため、製品開発でそのフィードバックを定期的に統合できます
  • 関連する展開構成および環境への頻繁な統合は、製品が貴重であり、フィードバックを提供するユーザーに関連し続けることを保証するために、関連する構成および環境の継続的な識別と密接に関連しています。
  • 部門を超えたチームの自己組織化と推進は、チーム内での個人的な説明責任を生み出し、チーム内で事前に割り当てられた役割と管理階層によって妨げられることなく効率的にロードブロッキングを削除する最善の方法を決定する権限をチームに与えることを話します
2
deaks