owky's blog

アジャイルいいじゃん!と思うところ。アジャイル開発宣言を自分の言葉で説明する。

Oct 24, 2021

「アジャイルいいじゃん!」と思うところ、アジャイルの好きなところ。 自分たちのチームの開発もアジャイルにしたいので、チームにアジャイルのこういうところが良いと思うんだ、というのを伝えたい。 アジャイルソフトウェア開発宣言の4つの価値観を、自分の言葉で説明してみる。

アジャイルソフトウェア開発宣言

私たちは、ソフトウェア開発の実践 あるいは実践を手助けをする活動を通じて、 よりよい開発方法を見つけだそうとしている。 この活動を通して、私たちは以下の価値に至った。

この記事を書くにあたって、アジャイル宣言の背後にある原則もあらためて読み直した。これから説明する4つの価値観は、こういう記事を書こうと思うくらいには抽象的で、どういうこと?ってなったりすると思う。だけど、12の原則の方はわかりやすくて、確かにそれは大事!とか、できるならそんな原則に従って開発したい!と思わせるものが多くて、とても共感しやすい。12の原則を読んだ後で、4つ価値観に戻ってくると、原則に従うために、もしくはそこに近づけていくために意識したい価値観として理解しやすくなる。

プロセスやツールよりも個人と対話を、

12の原則にある「情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。」というやつ。自分は困ったら話しかけにいくタイプなので、これはよくわかる。

顔を合わせた対話をすると、微妙なニュアンスとか温度感とか、相手が本当に考えていることがよくわかる。お互いの理解が深まるので、安心感をもって気持ちよく開発に取り組むことができる。

ツールやプロセスは省力化や平準化のための決められたインタフェースでしか情報が得られなくなる。これで効率化を実現しているのでツールやプロセスも大事。ただし、個人と対話した方が効率的な場面もある。書類を回覧してレビューしてもらうよりも、集まって議論した方が早くて良い結果が得られることってあるよね。「ちょっと一回集まろうか?」みたいなのを上手く使えると良い。

包括的なドキュメントよりも動くソフトウェアを、

12の原則の「動くソフトウェアこそが進捗の最も重要な尺度です。」というやつ。これが一番グッとくる。

実際に動くソフトウェア=プログラムによる実装成果物は、最も実現不確実性が低くなっている状態。効率よく開発を進めようと思ったら、いかに早く動くソフトウェアを作り出せるかを考えるべきだ。

もちろん、包括的なドキュメントも大事。だが誰のために、何のためにドキュメントを作るのかは考えたい。実装の前に何をどう作るのかを認識合わせしたいなら、体裁にこだわらない必要最低限のメモと、みんなで話すことで十分達成できる。ここでも「ツールやプロセスよりも、個人との対話を」ということ。残すことが目的のドキュメントは後で作れば良い。

契約交渉よりも顧客との協調を、

いわゆる「越境」ってやつ。自分の守備範囲を飛び越えて、お互いに歩み寄ろうってこと。

「契約交渉」というと大袈裟すぎてピンと来ないかもしれないけど、立場や部署が違う人と仕事をするときに、少なからず線引きを意識することはあると思う。線引きがないとぐちゃぐちゃで意味がわからんことになってしまうんだけど、線引きに固執しすぎることで、本質的でない部分にコストを割いてしまうことも良くある。お互いをリスペクトして越境していく勇気を持つことが大事。ひとりひとりがこういう意識を持っていると、素敵なチームになれると思う。

計画に従うことよりも変化への対応を、

計画も大事だけど、それは絶対ではない。何を作れば良いのか、完璧な正解を最初から知ることはできない。まず作ってみて評価するとか、外部の変化や自分たち自身の変化(気付き)によって正解に近づいていくことができる。フィードバックを得るとか、仮説検証とか。計画の間違っている部分を見つけて修正していくことが必要。

12の原則の「変化を味方につけることによって、お客様の競争力を引き上げます。」というやつ。変化を受け入れることが重要と良く言われるけど、とても大変で勇気がいること。ひとりが頑張ってもできないから、チームで変化を歓迎する姿勢って大事。

価値とする。すなわち、左記のことがらに価値があることを 認めながらも、私たちは右記のことがらにより価値をおく。

なんかソフトウェア開発がより楽しくなり、そしてより良いものが作り出せそうな気がしてきませんか?

→ Columns