「アジャイル宣言とは何かぼんやりとわかっている。」
「アジャイル宣言にはどうやら原則があるらしいが、まったく知らない。」
そんな方たちがよりアジャイル宣言をより理解しやすくなるために、アジャイル宣言の背後にある原則についてイラストで解説しました。
これは文字通りです。開発者自身が実際のユーザーの満足を優先する。
というのがポイントです。「早く継続的に」というのもアジャイルの特徴です。
これは従来のウォーターフォールと比べた時に、アジャイルが明らかに違うポイントです。
「要件定義」~「リリース」まですべてを一気通貫で行い、途中での変更に手間がかかるウォーターフォールとは違い、1~4週間の単位で「要件定義」~「リリース」を行い、その期間(イテレーション)を繰り返すアジャイルでは、細やかな修正が都度都度できます。
こちらもアジャイルのイテレーションに関わる記述です。
何度もイテレーションを繰り返し、制作物をリリースできることで、顧客のニーズをより掴みやすくなります。
さらに不測の事態においても、素早く対応することができます。
イテレーションを繰り返し、変更や修正を重ねていくうえで、実際の作り手(開発者)とそれをユーザーに届ける立場(ビジネス側)のコミュニケーションは必須です。
ユーザーのニーズをとらえること(ビジネス側)、それを制作物に反映させること(開発側)は両者の目指す方向性が同じでないと上手く実行できません。
アジャイルは「要件定義」~「リリース」までをすべて同じチームで行います。
しかもイテレーションを終えるたびに、変更や修正が加えられます。
これらを遂行するためには、チームメンバーの高いモチベーションが必要です。
アジャイルでは同じメンバーがイテレーションを繰り返していきます。
より高いパフォーマンスを出すためには、チームメンバーの円滑なコミュニケーションが大切です。
これもアジャイルの核となる考え方です。
従来では「要件定義」~「リリース」の各工程を一度切りでしたが、
アジャイルではなんども「テスト」をし、「リリース」をします。
逐一、システムがしっかりと動き、理想に近づいているのかを確認することができます。
端的に言うと、「締め切りが近づくからって焦るな!」ということです。
それとは逆に「まだ期限はあるからなあなあでいいや。。。」という状態も望ましくありません。
より高いパフォーマンスのためには一定のペースを継続することが大切です。
「イテレーションを遂行することに妥協するな。」ということです。
「このやり方の方が品質は高くなりそうだけど、今更変えるのは工数が掛かるなあ。。。」
アジャイルは細やかな修正ができるのですから、そこで妥協してはいけません。
「本質を見よう。」ということです。
ユーザーが使わないであろう冗長な機能よりも、ユーザーが本当に求めているものに時間を使うべきです。
「自己組織的なチーム」とはアジャイルでイテレーションを遂行するチームのことで、
チームが能動的に開発に取り組んでいる状態を指しているのだと考えられます。
そういったチームでのアウトプットが最も品質の高いものになる、ということです。
アジャイルではイテレーションを何度も遂行します。
それによって、過去の取り組み方を振り返り改善点を見いだせれば、それを改善することが細かいスパンでできます。
そこから、より良いサービスを生み出すことが可能になります。それはアジャイルの最大の特徴です。
以上が、アジャイル宣言の背後にある原則になります。
基本的には短くわかりやすい文章で構成されていますが、その裏には提唱者であるソフトウェア開発の第一人者たちの考えや意図があります。
それらを一歩踏み込んで知ることで、アジャイルについてより理解が深まったのではないでしょうか。