🙆‍♀️

アジャイルなんて言うのをやめて、顧客や利害関係者にとってよりよい価値をなるべく早く届けるために学び続けると言えばいいのに

2023/02/05に公開

「アジャイル」という言葉が「アジャイル開発手法を実践する」ことを指すようになっているように感じる。そもそもアジャイルマニフェストは2001年だ。20年以上も前のものだ。時代背景も理解しなければ、その意図を正確には掴み切れない。正直その時、私はまだ学生だ。その意図はClean Agileに書いてある以上のことは知らない。

ところで、アジャイル開発手法を実践していればアジャイルなんだろうか。

顧客満足を最優先し、
価値のあるソフトウェアを早く継続的に提供します。

アジャイル宣言の背後にある原則

手法をつかっていても、顧客にとって価値のないアプリケーションの提供していたらアジャイルではないのではないか。その提供が必要以上に長く本来かからない開発コストがかかってはダメなのではないだろうか。継続的ではなくても最大限価値を生み続けるなら継続的でなくてもよいのではないだろうか。(とはいえ、たいてい動作環境が対応しなくなって価値がなくなる場合があるのだが…)

要求の変更はたとえ開発の後期であっても歓迎します。
変化を味方につけることによって、お客様の競争力を引き上げます。

アジャイル宣言の背後にある原則

これもそうだ。要求が変わるということはこのまま作っても価値がなくなってしまうのだ。価値がないものを作っても仕方ないのだ。

という感じで、アジャイル宣言の背後にある原則の意図をてきとうに想像してみる。

動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースします。

アジャイル宣言の背後にある原則

これはおそらくフィードバック時間をできるだけ短くしたいのだ。作っているものが本当に価値があるのか、作っているものが本当に動くのか、作ったものをなるべく早くユーザに届けたいのだ。

ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。

アジャイル宣言の背後にある原則

これも価値あるのものをなるべく簡単に確実に作りたいのだ。なぜこれを作るかわかるようになる必要があるのだ。なぜこれを作るかわかることでもっと早くユーザに届けるための方法を開発者が提案できるようになるからのはずだ。

意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。

アジャイル宣言の背後にある原則

よりよいものを、その場で学びながら届けようとするのであれば意欲に満ちた必要な人でなければいけないのだ。よりよいものを作ろうとする人を信頼しなければ、よりよいものを作ろうと提案できなくなるのだ。提案が受け入れなければなにかを提案しようとする人はいないのだ。

情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。

アジャイル宣言の背後にある原則

人に信頼してもらうことで効果的なのは、人間みだ。メールやチャットだけのやりとりするよりも実際に会うほうが信頼できるのは体感できるはずだ。実際にあって話すのは遅延もなく、身振り手振りや動作など言葉だけではな情報が得られる。お互いに信頼しているのであれば、それをより伝えることができる。

動くソフトウェアこそが進捗の最も重要な尺度です。

アジャイル宣言の背後にある原則

ソフトウェアの統合はトラブルが起きやすい。お互いに想定してなかったことが見つかることがあるからだ。動くソフトウェアを提供するためにはなるべく統合する必要がある。統合するための時間は繰り返すことでより確実に示せる。ソフトウェアがいつユーザに届けられるか不確実な要素をへらすことができるのだ。

アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持できるようにしなければなりません。

アジャイル宣言の背後にある原則

一定のペースを保って開発できると、ユーザに届けられる時期の不確実性が減らせる。疲弊する現場は生産性が低下し、納期が伸びてしまうのである。最初に不果実なものを減らしロケットスタートして、のんびりやる方法だってあるかもしれない。価値がいつ届けられるのかより確実なことに価値があるのだ。

技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。

アジャイル宣言の背後にある原則

ユーザに価値を届けるための不確実性をへらし、より早く提供するには生産性を落とすことはできない。設計は一度したら終わりではない。計画どおり開発できるように問題を見つけるたびに見直しが必要になる。ユーザに価値を届けるための努力を知続けなければいけないのだ

シンプルさ(ムダなく作れる量を最大限にすること)が本質です。

アジャイル宣言の背後にある原則

結局は早く提供したいのだ。価値あるものが価値あるうちに、価値を生む予定のものがなるべく早く価値を生みたいのだ。

最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。

アジャイル宣言の背後にある原則

自己組織的なチームとはなんなんだ。という話からしないといけない気がするので、ここでは考えるのをやめた。

チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整します。

アジャイル宣言の背後にある原則

より早くユーザに届けるためには、開発しながらスピードアップする必要がある。そのためには学び続ける必要があると考えているのだろう。

結局、自分たちの仕事が最大限価値を生むためには何をするのが正しいのだろうかを考え続けることなんじゃないかな、って個人的には考えています。だから、ある手法が自分たちのチームが作るものに対して適切なものお選んで、それをもっとよく方法があるなら努力し続けるようになることがアジャイルマニフェストでやりたかったことなんじゃないんだろうか。場合によってはウォオーターフォールと称されるやり方が正しい場面だってあるかもしれない。それを正しく場面で選択できるのであればアジャイルんじゃないだろうか。

https://www.amazon.co.jp/Clean-Agile-基本に立ち戻れ-Robert-C-Martin/dp/4048930745

Discussion