[#Agile] アジャイル開発のエコシステム
前回、アジャイル開発宣言と原則をまとめました。わかり易くなったと思いますが「変化に対応して競争力を上げる」以外の効果は明確ではありません。
そこで、今回はアジャイル開発のプロセスが効率的である事を説明します。
プルシステム
前回のまとめでは、「ムダのないシンプルさ」「動くソフトウェアを継続的に作る」がプルシステム(必要性による引き取り)と関係します。XPのプラクティスの一つであるYAGNIやリーン開発の決定をできるだけ遅らせるとも関係します。
アジャイル開発では必要な事を必要なタイミングで行います。必要でないものや必要であっても適切でないタイミングで実施してもムダになるからです。プルシステムはムダを作らないことで効率化します。
ただし、アジャイル勘違い集に書かれている様に必要な事は実施しますので、必要なドキュメントは必要なタイミングで書きます。
フィードフォワード制御
「短い期間で繰り返す」中で「定期的なふりかえり」によって、改善されたプロセスが実施されます。また、「顧客との関係を変える。共に開発する関係にする」ことで手戻りを減らします。
ふりかえりは、手戻り作業を前提にするものではありません。次の繰り返しの際に、より良く実施するためのフィードフォワード制御の情報として、次のやり方を決めています。
アジャイル開発は全体の作業を終えてから確認し、多くの手戻りをするのではありません。顧客と協調して段階的に開発することで、手戻りを少なくし、顧客の構想を踏まえたより良い設計を実現できます。
さらに、ストーリーカードとタスクカードの関係では、後からトレーサビリティを確認するのではなく、作業方法によって漏れを無くすなど、フィードフォワードな仕組みが組み込まれています。
自律的である事
「積極的なコミュニケーションによって、自律的なチームを実現して開発を進める」「技術が大切」が関係します。xUnitやペアプロなどによって、それぞれが小さな単位の責務の実施を保証をすることで、確認や手戻りの作業を減らします。
ここでの自律性は個々の活動や受け身の活動だけではなく、全員同席など相互の働きかけを含みます。他の担当者や顧客と積極的にコミュニケーションする事で、自律的な組織を実現します。
自律的な組織では活発な双方向のコミュニケーションによって、独善的な判断ではなく、より良いアーキテクチャ・要求・設計を可能にします。
まとめ
このように、アジャイル開発は効率的な開発を実現します。プルシステムでムダをなくし、フィードフォワード制御によって手戻りを減らします。このような開発の基盤となるのが、高い技術をもつ自律的な組織です。
これらのうち、アジャイル開発でないと実現できないのは、短期間の繰り返しに基づく改善と、今回取り上げなかったマーケットなどの変化への対応力の向上です。
これらを参考に、ムダな作業を見直し、早めのサンプリングによって手戻りを減らし、チケット駆動開発などで双方向のコミュニケーションを活発にすれば、効率的な開発が可能になるでしょう。
« [#Agile] アジャイル宣言と原則の私的まとめ | トップページ | [#Agile] FDDはアジャイル開発、ハイブリッドアジャイルは、、 »
「私のアジャイル」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 「任せて、任せず」「魚を与えるのではなく"釣り"を教えよ」(2021.08.16)
« [#Agile] アジャイル宣言と原則の私的まとめ | トップページ | [#Agile] FDDはアジャイル開発、ハイブリッドアジャイルは、、 »
コメント