アジャイル開発とは
人間/迅速さ/顧客/適応性に価値をおくソフトウェア開発手法.
アジャイル(Agile)とは, 素早く動くの意. アジャイルな価値観による開発の総称.
- 🔨スクラム開発
- スプリント開発
- 🔨エクストリーム・プログラミング(XP)
- 📝リーンスタートアップ
📝かんばん方式
Kanban.
スプリントとの違い
割り込み・障害対応が多い運用期
カンバンボード
カンバンボード機能はいろんなタスク管理ツールに実装されてる.
Trelloが有名.
アジャイル開発用語
イテレーション/スプリント
開発工程の単位. XPでは📝イテレーション, スクラムではスプリント.
Topics
📜アジャイルソフトウェア開発宣言
Agile Manifesto.
ref. https://agilemanifesto.org/iso/ja/manifesto.html
私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。
プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を、
価値とする。すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。
アジャイル宣言の背後にある原則
ref. http://agilemanifesto.org/iso/ja/principles.html
私たちは以下の原則に従う:
顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。
要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます。
動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースします。
ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。
意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。
情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。
動くソフトウェアこそが進捗の最も重要な尺度です。
アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持できるようにしなければなりません。
技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。
シンプルさ(ムダなく作れる量を最大限にすること)が本質です。
最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。
チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整します。
💡アジャイルとスクラムとXPの違い
- 偉い人(ステークホルダー)にウケがいいのが📝スクラム開発.
- 開発者視点のアジャイルが📝エクストリーム・プログラミング(XP).
- それらをまとめた便利な言葉がアジャイル.
時と場合に応じて使い分ければいい. その指し示すところはあまり変わらない.
エクストリームプログラミングはプログラミングという名前がついているのでどうも開発者にウケがよくビジネスサイドにウケが悪い. (👴🏼ケント・ベックは当初は対話プログラミングを提案したらしい).
スクラムよりもXPはスコープが広い(💡全てはXPになる).
ref. エクストリームプログラミングで見える開発風景 - TechBase vol.1 - YouTube
Persons
References
Books
📚アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法(2009)
見積りの方法.
売却してしまった.. https://www.amazon.co.jp/dp/4839924023