アジャイル時代は「人間の工学」の時代

川口恭伸氏(以下、川口):ここから2001年です。アジャイルに入ります。

1990年代からスクラムとかでXPはやられていますが、2001年に初めてアジャイルマニフェストというものが作られました。アジャイルマニフェストが何だったのか、その後の影響の話をしていきます。

これは「アジャイル開発の時代」という別のスライドから抜粋してお送りします。

まず、私の知り合いというか、先生にデビッド・バーンスタインという人がいて、『レガシーコードからの脱却』という本を書かれています。この人が言っていたのが、「ソフトウェアの品質って何ですか?」と。

30年前の品質は今と違うよね。30年前だったら動いているものが正解みたいな、「動いているものはいじるなよ」みたいなことを言われていましたが、今はきれいに整理されていて、メンテナンスしやすい、つまり変化に対応できることが必要だと言っている。

福井厚氏(以下、福井):いいことを言うなあ。

川口:逆に言えば「どうやったら変更しにくくなっちゃうの?」「どうやったら直せなくなっちゃうの?」ということを考える。それはたぶん数値では測れないけれど、変更しにくくなる要因を避けるように、ちょっとずつ手を入れていくという話をしています。

それから、『組織パターン』という本も書いているジム・コプリエンさん。こちらも私の先生の1人ですが、『組織パターン』に書いてあるのは、「この本が扱うのは実は人間なんだ。ソフトウェアの書き方ではなくて、ソフトウェアを書く人間そのものを観察した本だ」と。

我々はここ10年ほど共同作業、みんながチームによってソフトウェアを生み出す方法について研究してきて、それを研究したのが『組織パターン』で。

しかもそれは単なるソフトウェアを出すのではなくて、優れたソフトウェアを効率的に次々と生み出す能力を持ったチームをどうやって作り上げていくのか。そこに関心があって、そこをパターンとして書き出したのが『組織パターン』なんですね。

アジャイル時代は、人間(の時代)なんですよ。ソフトウェア工学ではあるんだけれど、(それを)生み出す人間の工学というところが非常におもしろいポイントかなと。

福井:まさしくそのとおりですね。

アジャイルマニフェストの定義はどのように決められたか

川口:ちょっとざっくり時代の整理をします。1990年代にパソコンの普及でアジャイルの基礎になるものが出てきて、OSSみたいな話が出てきて。2000年代に入ってアジャイルマニフェスト、それから組織の中に(それらが)普及(する流れ)が出てくるんですね。そこでVMwareとかXenとかブラウザが出てきて、2000年代の後半ぐらいからAWSが出てくるということになるかなと思います。

その上で高度化していって、ビッグデータや機械学習みたいな話が出てくる。それから、リーンスタートアップとかDevOpsが出てくるという流れですね。こんな世界です。

アジャイルマニフェストの話です。アジャイルマニフェストは何を言っているかというと、特に定義しているのは真ん中の主要な4つです。

この4つを端的に言うと、個人との対話で、コミュニケーション手法なんですね。“動くソフトウェア”と言っているものは何を言っているかというとソフトウェア開発手法の話をしているんです。それから顧客との協調を重視しましょうと言っている。これは要は、ビジネスの進め方を変えていかなあかんと。

それから変化への対応ですが、これはリスクへの反応の仕方。リスクが難しくなってきている、リスクが非常に高まっていっているので、我々はどうやって(それらに)対応していくのかに着目してやりましょうと。これがアジャイルマニフェストの定義です。

どうやってそれを見つけたかというと、実はそれも自律分散型で、みんなでワークショップをやって決めていったんです。みんな言っていることは似ていて、17人集まっていろいろな手法をやっているんだけれど、似ているところを集めていったんですね。

最初にカードに書いて、「こういうのを私たちは重視している」というものを並び替えて、「順番に意見がある人は、並び替えてください」と言って、先ほどのマニフェストが決まりました。

そこにあった空間がもうまさにアジャイルそのもので、その場にいた17人はお互いにリスペクトしている。それから自己組織化で、誰かがリードするのではなくて、みんなで考えながら1個のマニフェストをまとめていく。もしくはお互いの合意を作っていくということをやった。

だから、誰かが来てミーティングを勝手に動かすとか、「いや、もうこれでやっていればいいよ」と指示する人はいなくて、「みんな、これはどうなんだろうか?」とお互いに話し合いながら自律的にやる現場がそこにあって。これがアジャイルマニフェストを生み出しているというのが、非常に重要なポイントだと思います。

アジャイルマニフェストが出てきた時代は、みんな悩んでいた

川口:アジャイルマニフェストの背景に「12の原則」というものがあります。アジャイルを知るために、この12の原則は非常にシンプルでわかりやすいので、読んだことがない方は、ぜひ見てもらいたいです。

ここでもやはり動くソフトウェアだったり、自己組織的なチームという項目は入っています。

わかりづらいなと思ったら、「非アジャイルマニフェスト」で検索してもらえれば、(アジャイルマニフェストの)逆を取ったやつがあります。これがムッチャウケるので、ぜひ読んでもらえればと思います(笑)。今日ははしょっていきます。

アジャイルの源流としては、リーンであったり、先ほど言ったスクラムの源流は日本の製造業だったりという話があるんですけれど。

じゃあアジャイルマニフェストが出てくると何が起きてくるか。日本では(私と)福井さんと出会うぐらいの時代になってきますが、(当時は)みんな悩んでいましたよね。

2000年代って、みんなすごくアジャイルをやりたいけどできない現場が多くて。「じゃあ、なんでできないんですか?」と言うと、「ソフトウェア開発がわからない人が上司にいる」とか、さらに上にいて「どうやって説得したらいいですか?」みたいな話が満ちていたのが2000年代でした。私もそこで悩んでいたし、「チームではできるようになったけど、じゃあ広げていくにはどうするか」みたいな話があって。

やっていない人って、とりあえずラベルをつけて終わるじゃないですか。「アジャイルというのは、ソフトウェア開発のやり方なんでしょう? やりたい人がやるのね」みたいな感じで終わっちゃうみたいな。雑な理解で終わっちゃったりするので。

そこを越えて相手に考えさせるにはどうしたらいいかみたいなところが、当時の問題だったかな。簡単ですが、2000年代はそんな話です。急に終わっちゃったけど(笑)。

(次回につづく)