
Step 25:技術と設計、どちらが大事?「アジャイル」原則 その9
【アジャイル宣言編:4つの価値と12の原則】 / Step 25:技術と設計、どちらが大事?「アジャイル」原則 その9 ←いまここ
この記事で学ぶこと
アジャイルソフトウェア開発宣言の「12の原則」の9つ目、「技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。」について、詳しく学びます。
この章を読めば、なぜアジャイルでは「技術」と「設計」が重要視されるのか、その理由がわかり、あなたのソフトウェア開発に対する考え方も、変わるかもしれません。
この記事って要はこういう話
アジャイルでは、目先の成果物だけでなく、それを生み出す「技術」と「設計」にも、常に注意を払います。「技術」と「設計」へのこだわりが、変化への対応力、つまり「機敏さ」を高め、アジャイルな開発を支えているのです。この章で、アジャイル開発における、技術力と設計力の重要性をお伝えします!
アジャイルソフトウェア開発宣言 「12の原則」を、振り返る
Step 16では、「アジャイルソフトウェア開発宣言」の「12の原則」について学びましたね。「12の原則」は、アジャイルを実践するための、具体的な行動指針、「虎の巻」とも言えるものでした。
そして、Step 17からStep 24までで、「12の原則」の1つ目から8つ目について、詳しく見ていきました。
ここで、「12の原則」の9つ目を、確認しておきましょう。
技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。
これは、アジャイルでは、ソフトウェアそのものだけでなく、それを生み出す「技術」と「設計」にも、常に注意を払い、改善し続けることが、いかに重要かを示している原則です。
なぜ「技術」と「設計」が重要なのか?
皆さんは、この原則を聞いて、どう思いますか?
「技術力や設計力が重要なのは、当たり前じゃないの?」「わざわざ原則として掲げる必要があるの?」
そう思う方も、いらっしゃるかもしれません。
確かに、ソフトウェア開発において、技術力や設計力が重要なのは、言うまでもありません。しかし、アジャイルでは、単に「重要」というだけでなく、「技術的卓越性」 と 「優れた設計」 に対して、「不断の注意」 を払うことが、「機敏さ」 を高めるために不可欠だと考えています。
つまり、日々の実践の中で、常に、技術と設計を意識し、改善し続けることが、変化に素早く対応する力、つまり、「アジャイルさ」を高めるために、必要不可欠だと考えているのです。
「技術的卓越性」とは?
では、「技術的卓越性」とは、具体的にどのようなことを指すのでしょうか?
これは、単に、最新の技術や、高度な技術を使う、ということではありません。もちろん、最新の技術や、高度な技術を、適切に活用することも重要です。
しかし、それ以上に、「アジャイル」では、自分たちが作ろうとしているソフトウェアにとって、最適な技術を選択し、それを使いこなすことを重視します。
例えば、
常に、新しい技術の情報収集を行い、自分たちの開発に役立つかどうかを検討する
チーム内で、技術的な勉強会を開催し、お互いの知識を高め合う
コードレビューなどを通して、技術的な問題点を早期に発見し、改善する
など、日々の活動の中で、技術力の向上に、継続的に取り組むことが求められます。
「優れた設計」とは?
では、「優れた設計」とは、具体的にどのようなことを指すのでしょうか?
これは、単に、見た目が美しいデザインや、使いやすいユーザーインターフェースのことではありません。もちろん、それらも重要です。
しかし、それ以上に、「アジャイル」では、ソフトウェアの内部構造が、シンプルで、変更しやすく、拡張しやすい設計になっていることを重視します。
例えば、
ソフトウェアの各部分が、適切にモジュール化され、疎結合になっていること
コードが、読みやすく、理解しやすいこと
テストコードが充実しており、リファクタリングが容易であること
など、ソフトウェアの内部構造が、きちんと設計されていることが求められます。
「技術」と「設計」への「不断の注意」が、「機敏さ」を高める
なぜ、「アジャイル」では、「技術的卓越性」と「優れた設計」に対する「不断の注意」が、「機敏さ」を高めると考えているのでしょうか?
それは、技術力が高く、設計が優れているソフトウェアは、変更や拡張が容易だからです。
「アジャイル」では、変化への対応が、非常に重要です。そのためには、ソフトウェア自体が、変更や拡張に強い構造になっている必要があります。
高い技術力に裏打ちされた、優れた設計のソフトウェアであれば、顧客の要望の変化や、市場の変化にも、迅速かつ柔軟に対応することができます。
つまり、「技術」と「設計」への「不断の注意」が、「アジャイル」の「機敏さ」を支えているのです。
まとめ:アジャイルは、「技術」と「設計」で、未来を切り拓く
アジャイルの原則、その9、「技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。」について、詳しく見てきました。アジャイルでは、目先の成果物だけでなく、それを生み出す「技術」と「設計」にも、常に注意を払い、改善し続けることを、非常に重視します。
この原則を、常に意識することで、あなたのチームは、より変化に強く、より競争力のあるチームへと、進化していくでしょう。
さあ、次のステップでは、アジャイルの原則、その10、「シンプルさ(ムダなく作れる量を最大限にすること)が本質です。」について、詳しく見ていきましょう!
理解度チェック
Q1. アジャイルソフトウェア開発宣言の「12の原則」のうち、9番目のものは、次のうちどれでしょう?
意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。
情報を伝えるもっとも効率的で効果的な方法はフェイス トゥ フェイスで話をすることです。
技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。
Q2. アジャイルが、「技術的卓越性」と「優れた設計」を重視する理由は、次のうちどれでしょう?
技術力が高く、設計が優れているソフトウェアは、変更や拡張が容易だから
最新の技術を使うことが、流行だから
見た目が美しいデザインが、顧客に好まれるから
Q3. 「アジャイル」における「技術的卓越性」と「優れた設計」に対する「不断の注意」とは、具体的にどのようなことを指しているでしょうか?
ソフトウェアの見た目の美しさに、とことんこだわること
常に最新の技術を追い求め、それをソフトウェア開発に取り入れること
日々の実践の中で、常に、技術と設計を意識し、改善し続けること
解答
A1. 3. 技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。
A2. 1. 技術力が高く、設計が優れているソフトウェアは、変更や拡張が容易だから
A3. 3. 日々の実践の中で、常に、技術と設計を意識し、改善し続けること
全問正解できましたか?間違えてしまった方は、もう一度記事を読み返してみてくださいね!
【アジャイル宣言編:4つの価値と12の原則】 / Step 26:シンプル・イズ・ベスト!「アジャイル」原則 その10 ←次はここ