アジャイルソフトウェア開発宣言
アジャイル開発をするにあたって、原点である「アジャイルソフトウェア開発宣言」および「アジャイル宣言の背後にある原則」が十分にチームメンバーや関係者に伝わっていないことがあります。
すでにアジャイル開発(スクラム)を実践している人においても、より深く理解するには「アジャイル宣言の背後にある原則」への理解が欠かせません。
ですので、「アジャイル開発における12の原則」を読み解くために、以下にまとめました。
(アジャイルマニフェスト)
https://agilemanifesto.org/iso/ja/manifesto.html
**「アジャイルソフトウェア開発宣言」は、2001年に著名な17名のソフトウェア開発者によって、それぞれの主義や手法についての議論を通して生み出されました。
彼らがソフトウェア開発を行ううえで重視している「マインドセット」**が書かれています。
アジャイル開発で成果を出すためには、考え方の背景にある12の原則を理解することが大切です。
アジャイル開発 12の原則
アジャイル開発を会得するには、アジャイルの呼吸の12の型を理解する必要があります。
アジャイルの呼吸:拾弐ノ型
- 顧客満足を最優先し、
価値のあるソフトウェアを早く継続的に提供する
- 要求の変更はたとえ開発の後期であっても歓迎する
- 動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースする
- ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働く
- 意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。
- 情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすること
- 動くソフトウェアこそが進捗の最も重要な尺度
- アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持する
- 技術や設計をレベルアップさせる意識が、俊敏(アジャイル)さを高める
- シンプルさ(ムダなく作れる量を最大限にすること)が本質です
- 自己組織化したチームのメンバーが協調して動く方が、パフォーマンスが高い。
- 定期的な「ふり返り」により、開発チームのパフォーマンスをより高めるようにする
【壱ノ型】 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供する
- 開発者の最も重要な活動は、顧客のビジネスを成功させ満足させること
- そのために、価値のあるソフトウェアを素早く継続的に提供する
- 開発の目的は**「QCDの達成」ではない。「バグがないこと」「コストを下げること」「納期を守ること」**は大事だが、目的を見失わないように
- 顧客と開発者は、ビジネスのゴールについて、しっかりと話し合う必要がある
【弐の型】要求の変更はたとえ開発の後期であっても歓迎する
- 開発者は、価値があるのであれば積極的に変更を受け入れる
- しかし、顧客に言われるがままに変更を受け入れることはやめる
- 改善に繋がる要求は新しい価値を見つけた証拠
- 変化を**「新しい価値」の発見の機会**ととらえ前向きに受け入れる
【参の型】動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースする
- 要求は不確実であり変化することが前提である
- 顧客の要求が変更になることが想定される場合は、仮説検証型で進める必要がある
- 開発者は価値に結びつかない中間成果物ではなく、ビジネス観点で評価できるものを提供する
- 顧客は、市場からのフィードバックを得て開発者と共有する
【肆の型】ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働く
- 全員で共通の目標に対して仲間として働く
- 不確実性の高いプロジェクトでは、状況が刻々と変化するため、共通の目標が見えないまま進めると認識の齟齬などが発生する可能性がある
- 関係者全員が一緒の場所で働くことを理想とする
- 関係者全員でビジネスを成功に導くという共通目標を、日々確認する
【伍の型】意欲に満ちた人々を集めてプロジェクトを構成する。環境と支援を与え仕事が無事終わるまで彼らを信頼する。
- 開発チームには意欲のある前向きな人々を集める
- 関係者は、開発チームを信頼して仕事を任せ、気持ちよく働けるよう配慮する
- 細かな作業指示は、開発者の自律的な行動を阻害する
- 開発者は、顧客の価値創造のために、自らが考え、自らの行動と判断に責任を持つ
【陸の型】情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすること
- お互いの本音をフェイス・トゥ・フェイスで汲み取り、直接対話することが大切
- 決まった仕様を伝えるだけのような一方通行はダメ
- 伝えたい情報には、目的、希望、夢、心配ごとなど、正確に言葉で表現できないものもある。そのような情報は、言葉では伝わりにくかったり、伝える際に齟齬や誤解を起こしやすい
- 関係者が全員同じ空間に集まり、対面で双方向に対話することで、お互いの本音を汲み取りやすくなる
【七の型】動くソフトウェアこそが進捗の最も重要な尺度
- 動くソフトウェアこそが、進捗の最も重要な尺度である
- 設計書の完成度など、動くソフトウェア以外のもので測る進捗では、実際に動作するまでは問題に気づけない可能性がある
- 動くソフトウェアを早いタイミングで見せられるように、小さな単位でリリースする計画を立てる
- 顧客は、期待に合っているか判断するために評価できる受入基準を作る
【八の型】アジャイル・プロセスは持続可能な開発を促進する。一定のペースを継続的に維持する
- 無理のない一定の開発ペースを保つ
- 無理をした状態では、創意工夫をしたり、改善をしたりという意欲が起きない。トータルパフォーマンス低下
- タスクを小さく均一化し、一定期間内に優先順位の高いものから開発を繰返す
- 開発者だけでなく、顧客も心身ともにベストな状態を保つ
【玖の型】技術や設計をレベルアップさせる意識が、俊敏(アジャイル)さを高める
- 開発者は、常に最新の技術を学び、効果的な技術はプロダクトへ適用する
- ソースコードの状態を目視やツールで常に診断し、常に変更して高い可読性を維持する
- 自動化されたテストを作成して常に実行し、問題をすぐに発見する
- 関係者は全員、上記の行動に価値があることを認める
【拾の型】シンプルさ(ムダなく作れる量を最大限にすること)が本質
- 「ムダ=価値を生まない」を探して「やめる勇気」を持つ
- 日々の作業の中から、全員がムダを見つけ、削減することは、身軽になり機敏性を高め、生産性を向上させる
- ムダについて真剣に話し合う
- 顧客に価値をもたらさない会議や報告をなくす
【拾壱の型】自己組織化したチームのメンバーが協調して動く方が、パフォーマンスが高い
- 開発チームは、自分たちで規律やルールを決める
- 自ら率先して作業の改善や課題の解決に取り組む
- 自分の不得意な作業、領域についてもチャレンジして取り組む
- 困っているメンバーがいたら、助け合う
【拾弐の型】定期的な「ふりかえり」により、開発チームのパフォーマンスをより高めるようにする
- 常にチームが成長し続けるためには、定期的に(毎週が良い)ふりかえりを行い、調整し続けることが大事
- 開発チームだけでなく、ビジネス側も交えてチーム全体で振り返ると良い
- チームで問題に立ち向かう(個人の責任にしない)
- 挙がった課題をすべて解決しなくても気にしない
まとめ
アジャイル開発し続けるためには、自分たちに合った方法を、常に試していく必要があります。
失敗した場合も成功した場合も、「12の原則」に立ち返ることも大事です。
今回、わたし自身この資料をまとめることによって、アジャイルの原点をみつめなおし、明日からの開発に向けて、向き直ることができました。感謝いたします。