deha magazine / アジャイル開発 / アジャイルソフトウェア開発宣言とは
アジャイルソフトウェア開発宣言とは
2023/01/21
アジャイルソフトウェア開発宣言とはアジャイル開発という概念がはじめて定義された論文のこと。
アジャイル開発を行う上でこの論文は非常に重要ですが、一歩読み間違えてしまうとアジャイル開発の強みをうまく生かすことができなかったり、逆に手間になってしまうことも。
そこでこの記事ではアジャイルソフトウェア開発宣言に関してどんな内容なのか、どう読み解けばいいのかなど徹底解説していきます。
- これからアジャイル開発を行いたい方
- コストを抑えて開発を行いたい方
- 社内のIT人材が不足している方
これらに当てはまる方におすすめの記事となっています。これを読めばアジャイル開発の特徴はもちろん、アジャイル開発宣言の正しい読み解き方まで丸わかりですよ。
アジャイルソフトウェア開発宣言とは
アジャイルソフトウェア開発宣言とは2001年2月に17名の技術者がアメリカ、ユタにて出された開発手法に関する論文です。この論文にはソフトウェア開発を行う際のマインドセットが書かれており、アジャイル開発という概念が誕生したと言えます。
冒頭には、以下の文が記載されています。
私たちは、ソフトウェア開発の実践あるいは実践を手助けする活動を通じて、よりよい開発方法を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。
- プロセスやツールよりも個人と対話を、
- 包括的なドキュメントよりも動くソフトウェアを、
- 契約交渉よりも顧客との協調を、
- 計画に従うことよりも変化への対応を価値とする。
すなわち左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値を置く。(この宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。)-「アジャイルソフトウェア宣言」
価値観の多様性や生活水準の進化によって、我々は変化に適応していくことが求められており、アジャイルソフトウェア開発宣言においてもこの考えを大前提としているのです。
個人との対話、動くソフトウェア、顧客との協調、変化への対応を念頭において、その上でプロセスやツール、包括的なドキュメント、契約交渉、計画を考えることこそが大切なのです。
12の原則
アジャイルソフトウェア開発宣言には12の原則があります。
顧客満足を最優先し、価値あるソフトウェアを早く継続的に提供する
- 要求の変更はたとえ開発の後期であっても歓迎する。変化を見方につけることでお客様の競争力を引き上げる
- 動くソフトウェアを2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースする
- ビジネス側の人と開発者はプロジェクトを通じて日々一緒に働く必要がある
- 意欲に満ちた人々を集めてプロジェクトを構成。環境と支援を与え仕事が終わるまで信頼し合う
- フェイストゥフェイスで話をする
- 動くソフトウェアこそが進捗の最も重要な尺度
- アジャイルプロセスは持続可能な開発を促進する。一定のペースを継続的に維持できるようにしなくてはいけない
- 技術的卓越性と優れた設計に対する不断の注意さが機敏さを高める
- シンプルさが本質
- 最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出される
- チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整する
それぞれ詳しく解説していきます。
顧客満足を最優先し、価値あるソフトウェアを早く継続的に提供する
何が顧客満足度に必要なのか、何がどうなったら顧客満足度が上がるのかなどを徹底的に掘り下げて、継続的に提供していくことが大切です。
12の原則の最初にこの「顧客満足度」というワードが使われていることから、この原則が最も重要なものと考えても差し支えありません。
要求の変更はたとえ開発の後期であっても歓迎する。変化を見方につけることでお客様の競争力を引き上げる
要求があるということは、新しい価値を見つけたということ。いついかなる時も変更を受け入れることで、変化に強くなり企業の競争力を高めることができます。
従来は最初から作れる明確なシステムが大半でしたが、今の時代の人とモノの繋がりを重要視するビジネスでは、最初の時点で明確な要求を用意できることが少なくなっています。
このような現代のビジネススタイルにおいて、従来のままのやり方では対応していくことは不可能です。
変化を受け入れ、改善点を生み出すような開発を行うようにしましょう。
動くソフトウェアを2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースする
短期間で納品するには仮説検証型で開発を行なっていく必要があります。成果物を短期でリリースして、顧客の反応で本当にほしいものを修正・開発していく手法です。
長期の開発になってしまうと、当初に求めていたものと今求めているものが変わってしまい顧客満足度を獲得することができないリスクがあります。
短期間のリリースの場合、要求に対してたとえ後戻りがあったとしても、修正もやりやすくなるのです。
ビジネス側の人と開発者はプロジェクトを通じて日々一緒に働く必要がある
ビジネス側の人と開発者が協業することで、開発や改善をスムーズに行うことができるようになります。
常に方針や目標を共有しあって、必要に応じて改善をしていきましょう。万が一、一緒に働くことができない場合は、打ち合わせの頻度を上げたり、チャットツールをうまく活用するなど工夫していく必要があります。
意欲に満ちた人々を集めてプロジェクトを構成。環境と支援を与え仕事が終わるまで信頼し合う
働きやすい環境は、意欲のある人を集め信頼関係を構築することです。たとえスキルが高かったとしても関係が悪ければ十分な能力は発揮することができません。
アジャイル開発の手法の1つのスクラムでは、開発者はプロジェクトを通じて学習し成長するというものがありますが、その前提には意欲の高さがあります。
フェイストゥフェイスで話をする
先述したようにビジネス側の人と開発者は対面で話をすることで、咀嚼や誤解を最小限にとどめることができます。
直接話すことで、表情や仕草などから言葉では伝わらない情報も伝達することができるのです。
この時、一方通行の報告のみではいけません。あらゆることを固定概念なしに直接話し合いをすることで、今まで気づかなかったことに気づくこともできます。
動くソフトウェアこそが進捗の最も重要な尺度
進捗を把握するために、タスクの消化状況を計画と照らし合わせる方法がありますが、開発中のソフトウェアの状況を見るには、動くソフトウェアを通じないとわかりません。
さらに、動くソフトウェアを通じて進捗を把握することで、実際にプロダクトを動かした際にわかる想定外の問題を把握することができ、早期にリスクヘッジを行うことが可能になるのです。
アジャイルプロセスは持続可能な開発を促進する。一定のペースを継続的に維持できるようにしなくてはいけない
ゴールを目指して過負荷をかけてしまう開発者が多くいますが、そのような状態では改善の意欲やアイディアは生まれず、結果として生産性を下げてしまうことになってしまいます。
開発の目的は価値を生み出すことにありますが、疲弊すると目の前の作業を終わらせることに集中してしまい、目的が変わってしまう恐れもあるのです。
開発者にとって持続可能かつ、最高のパフォーマンスを出せるように環境を整えていきましょう。
技術的卓越性と優れた設計に対する不断の注意さが機敏さを高める
良い品質のためには優れた設計が欠かせません。開発者は最新の技術を活用するようにしましょう。
またソースコードの状態をツールや目視で確認するようにして、高い可読性を維持していく必要もあります。
シンプルさが本質
顧客の求めているものに関して最短ルートで作業を行なっていく必要があります。そうすることで無駄を省き、コスト削減や生産性の向上にもつながります。
要求の中には本当に必要かわからないものも。要求を鵜呑みにせず無駄を省くよう話し合いをしながら選択していきましょう。
会議の時間も短くする、報告資料をなくすなども無駄の削減につながります。うまく取り入れていきましょう。
最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出される
リーダーがメンバーを支配するようなヒエラルキー型のチームではなく、それぞれが価値を創出するために必要な行動を自ら率先して行うチームが重要です。
時には自分の能力では遂行するのが難しい局面があるかもしれません。そんな場合でもチームのメンバーが協力し合ってお互いを高めることでチーム全体が成長していく関係が最良と言えるでしょう。
チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整する
振り返りはチームにとって成長の機会を提供します。しかし多くの企業ではプロジェクトの最後にしか振り返りをしないため、プロダクトの改善につながらないことも。
進行中のプロジェクトに良い影響を与えるために、1-2週間に1回の程度で振り返りを行うことで、たとえ失敗や改善点があったとしても、すぐに動くことができます。
まとめ
いかがでしたか。本日はアジャイルソフトウェア開発宣言について、その概念と12の原則について解説していきました。
アジャイルソフトウェア開発宣言は、変化を求められる現代のソフトウェア開発でのマインドセットが書かれていました。
価値を追い求めるために常に考えて、改善していくことがアジャイル開発には重要だということがわかりましたね。ぜひこのアジャイル開発の考えを取り入れて開発を行なってみてはいかがでしょうか。
しかし、古いビジネス手法からアジャイルへのシフトは難しい側面もあります。
アジャイル手法へのシフトに関して、スクラムオーナーやプロダクトオーナーなどの人材を確保したい方は、人材調達のチョータツがおすすめです。
チョータツは高度IT人材を最短7営業日後に調達できる人材調達サービスです。
お客様のご要望をヒアリングして、研究開発支援やDX化支援などさまざまな依頼に柔軟に対応していくことが可能です。多くの企業様にご利用いただいています。
人材調達にお悩みの方、オフショア開発のラボ型開発に興味がある方は、ぜひ資料のダウンロードをしていただければと思います。