「アジャイルを導入したいんですが、上司や会社に話が通じません。どうすればいいですか?」・・・アジャイルに触れたばかりの人からよく聞く質問です。

先日、Ultimate Agilist Tokyo というイベントに参加させていただき、壇上インタビューという形式で登壇させて頂きました。楽天の藤原さんからの質問に答えるという形で進みます。その中でも「よくある質問」として、この話が出ました。(決して楽天藤原さんが聞きたいと思っている訳ではなくて、こういう質問ってよく出ますよね、という対談です)

そのときの私の回答は、ボトムアップでは難しいんじゃないか、というものでした。そのときは時間も足りなかったので、簡単に答えてしまいました。

この記事では、ボトムアップでアジャイルを導入することについて、壇上インタビューでは答えきれなかった部分も含めて考えてみます。

WallWall / Son of Groucho

あなたのアジャイルは何をすることか?

私は「アジャイルを導入したい」という人に、いつも聞いてることがあるんですね。「あなたのアジャイルは何をすることですか?」と。ふりかえりをすること?テスト駆動開発をすること?イテレーションで区切ること?・・・どれもアジャイルと言えるかもしれませんし、そうではないようにも思えます。

そもそも「アジャイルを導入する」というのは一体どういうことなんでしょうか。そんなことよりも、もっと具体的に、どういった現場の問題をどのように解決することで、どんな風にしていきたいかを考えた方が、よほど生産的です。

アジャイルは目的ではなく手段です。

では目的はなにか?ということです。それは、それぞれの置かれた立場によって千差万別です。ひとりひとり違いますが、ひとつ揃っているとしたら、会社員でいる場合、その会社における目的は、会社ごとに決まっているはずです。だとすれば、手段を選ぶとき、その目的に沿っているかどうかが重要になります。

会社というのは多くの人が考えているよりシンプルで、どんな施策であれ理由がないことは出来ません。逆に、きちんと実施するだけの理由と見込みがあれば実施します。勿論、大きな企業になると、そこに摩擦が働いて、時間はかかるかもしれませんが、それだけです。

会社の中で新しいことをしようとするときに、アジャイルとは何か?ペアプログラミングとは何か?を説明している限り、会社の中で理解されることはないでしょう。会社では、なんのために採用するのか、それを採用することでどういった価値があるのか、を説明しなければいけません。経営的な判断のためには、中身より外身が必要なんです。

そのためには、自分の会社がどういう目的で活動していて、どういうビジネスモデルで利益を出しているかをわかっていないと説明出来ません。その上で、本当にアジャイルが価値をもたらすものだと説明できるなら、話が通じるかもしれません。

それでも通じないなら、目指すものとビジネスモデルがマッチしてないんでしょう。また、現場だけの話であれば、そもそもアジャイルなんて言わなくて、問題を解決できる手段なら自分たちで勝手にやったって良いんじゃないかと思います。

職業プログラマとどう付き合っていくか?

こちらは対談インタビューの際に使われたスライドの一部です。

たしか「こういう人たちを変えるにはどうすれば良いですか?」という話でした。これもよくある質問ですね。それに対する私の疑問は「(現場のあなたが)本当にこの人たちを変えなければいけないのか?」というものです。変えようとすることは、本人たちにとって幸せなことなんでしょうか?

このスライドにあるような職業プログラマの人たちは少なからずいます。大きな会社になればなるほど、その比率は上がるような気もします。しかし、それの何がいけないのでしょうか。職業プログラマである以上、給料分の働きでその会社の売上をあげて利益を出すために貢献している筈です。それで何も問題ありません。職業プログラマであっても信念をもって働いている人は沢山います。

それに対して「彼らはアジャイルではない!」と憤慨する必要は無いんです。その必要性がないということなんです。求めていない人に与えても、それは押しつけにしかなりません。アジャイルを知って自分は変われたから、あなたも変わるべきだなんて、大きなお世話なんです。

昔話をしましょう。私が大きな会社でプロジェクトマネージャをしていたときの話です。30人ほどのプロジェクトで、パートナー会社から派遣で何名か来て頂いて一緒に開発をしていました。もちろんアジャイルな進め方で、社員もパートナーも分け隔てなく、一緒に朝会をして、設計をして、ペアプログラミングをして、ふりかえりをしていました。私はそれが正しい姿、あるべき姿だと思っていたんです。

あるとき、パートナー会社の偉い人に呼び出されます。そして、こう言うわけです。「私たちは別に一緒に設計したり改善活動したりしたい訳ではない。ちゃんと社員さんに言われた通りに作るので、指示をしてもらって実装だけを任せてほしい」と。衝撃的でした。私は本当に純粋な気持ちで、現場のエンジニアのためにやっていたことが、彼らにとっては、本当に大きなお世話だったんです。とても考えさせられる出来事でした。

職業プログラマの人たちはいます。彼らひとり一人に情熱をもって変化をもたらしても良いでしょう。しかし、そうは簡単にはいきません。しかし、職業プログラマの人たちを変える簡単な方法があります。それはトップダウンです。会社の仕組みが変わり、評価の仕組みが変わり、社長が変われば、彼らは従います。なぜならば、職業プログラマは会社の仕組みの上で働くからです。

ボトムアップでは変わらないと言ったのはそういうことです。変えることができるかもしれないけれど、限られた自分の時間をもっと有効に使った方が良いと思います。

たとえば、会社の中で偉くなってトップダウンで変えることを目指しても良いし、技術を磨いて会社の中で必要不可欠な人になって意見を通せることを目指しても良いし、その会社にこだわらなくたって良いわけです。自分が何をしたいのか、そのためにはどうすれば合理的なのかを考えると良いでしょう。

私は、ここで言われているような「職業プログラマ」の人たちとは、一緒に仕事はしたくなかった。自分たちの作るモノにこだわりをもって、お客さまにどう価値を届けるのかを考えるような「職人プログラマ」と一緒に仕事をしたいと思いました。そうして出来たのがソニックガーデンという会社です。

ソフトウェア職人マニフェストが同じ資料に入っています。とても良いスライドなので載せておきます。

何かを変えようとするのは本当に正しいことか?

次に、会社の中を変えることから会社の外に視点を移しましょう。世の中に沢山ある会社そのものを変えていくにはどうすれば良いでしょうか?色々な会社の社長をひとり一人説得する?それも良いでしょうが、やはり時間がもったいない。会社という単位もトップダウンで変わるはずです。

では、会社のトップとはどこか?それは市場です。市場を変えることが、会社を変えることにつながり、結果として、多くの現場を変えることができるのではないか、と考えました。それが、私たちの取り組んでいる「納品のない受託開発」で、その市場を拡大していきたいと考えています。

私たちの理念は、私たちが正しいと信じて行っていることです。こうして業界の問題を解決するように変えていくというのは、もしかすると、壮大な大きなお世話なのかもしれません。しかし、起業家というのは得てして我侭なもので、自分の正しいと思う世界を実現したいという想いで事業を行うのです。

人の数だけ理想があって、正しさがあって、人を変えようというのは傲慢なことかもしれません。変えるのは人ではなく仕組みではないでしょうか。

もし本当になんとしても変えたいものがあるならば、その人は起業家になるのでしょう。企業の中にいるか外にいるかは関係なく、アントレプレナーシップを持っている人はいます。そしてビジョンがあるなら、その実現のためのもっとも効果的な方法を選ぶでしょう。そういう人が増えて欲しいと思います。

大企業にいようが小さな会社にいようが、どんな働きかたをしていようが、その自分の行動に理由を持っている人、必然性を持っている人からは、愚痴を聞いたことがありません。誰かに決められる訳ではなく、自分自身で選択した人生を送っているならば、きっと後悔がないからなのかもしれません。

後悔のない人生を送りたいものですね。