エクストリームプログラミングにおいて重視すべき価値とは?
「この番組は「エンジニアの成長は楽しい学び」からをモットーに、昨日より少し成長できる学びを届けるエンタメ系テックラジオです。ということで」
「学びてー、はい」
「はい」
「えー、まあエンジニアの成長は楽しい学び、これめっちゃ大事なんすよ。ということで、僕はなんか最近ですね、やっぱりAIを使ってめっちゃいい感じに開発していきたいなあという気持ちはあるんですけど」
「うん、もちろん」
「で、それに向けた学びを欠かさずやってるわけなんですが」
「が?」
「最近思うことがあって」

「うん」
「なんか、こうやってやってるようちはとか、こうやってやったらうまくできましたとか」
「うん」
「ま、そういうプラクティス系、なんて言うんだ、プラクティスというか実例というか」
「うんうんうん」
「系の、まあナレッジシェアはまあいろいろあるわけじゃないですか」
「うん」
「で、それはそれでめちゃくちゃいいことなんですけど」

「はい」
「それって別にまんま持ってきてうまくいくとは限らないとは思うんすよ」
「うんうんうんうん」
「うん。で、そんな中でじゃあ僕が今思ってるAI使ってめっちゃいい感じに開発していこうぜっていうものを実現するために何が大事かっていうと、それは、これはちょっと僕の仮説なんで間違えてるかもしれないんですけど、それはAI駆動開発、AI使った開発に関するいろんな知識じゃなくて、エクストリームプログラミングなんじゃないかと思うんすよ」
「極端だね。極端じゃないすか、それ」
「で、極端じゃないですかと思うじゃないですか」
「はいはい」
「今日のお話は、結局エクストリームプログラミングじゃないっていうところに、まあ着地させてみようじゃないかというお話をさせていただきます」

「ちなみにじゅんぺいエクストリームプログラミングは」
「存じ上げておりません」
「はい、大丈夫。あ、聞いたことありますか、ちなみに」
「うーん、なんとなくWordだけ」
「ちょっとWordだけでイメージ、ど、ど、なん、なんなのかちょっと」
「えー、エクストリームなんで、あのー、そこらへんのシニアエンジニアが書くようなレベルのコード、なんかクソ暗いだぐらいのレベルのコードを書こうぜっていう本」
「おー、ごめんなさい。ちなみにエクストリームってどういう意味でしたっけ」
「いや、なんかすげーみたいな感じじゃなかったですか。もうすんごいみたいな」

「極限、過激、極端」
「あー、なるほど」
「うん」
「まー、あんまり遠いんですけど、多分じゅんぺいのやつは。ま、これもちょっと今僕読んでる途中ではあるんですけど、ま、本読んでる中でめっちゃおもしろいなというところをまあお話ししていくんですが、まずエクストリームプログラミングとは何かっていうところなんですよ。で、まあエクストリームプログラミングというワードに紐づけてまあよく出てくることっていうのはね、まあペアプロとか継続的インテグレーションとか、えー、まあがまあよく出てくるかなと思ってますと」
「おー、うん。アジャイルじゃん」
「アジャイルというか、はい。まあプラクティスというか」
「うんうん」
「で、今プラクティスというかって言ったんですけど、エクストリームプログラミングは、まあなんでしょうね、エクストリームプログラミングの中にはそういうペアプロとかなんかそういうのって含まれるんですけど、ペアプロをやってればエクストリームプログラミングかといえばそうではなくて」

「うん」
「で、なんならなんかエクストリームプログラミングってプログラミングに限らないです、おそらく」
「ほう」
「で、何を言ってるかというとですね、うーんと、この第1章、このエクストリームプログラミングという書籍の第1章の第1文目、エクストリームプログラミングとは、エクストリームプログラミングはソーシャルチェンジであるということが書かれてるんですよ」
「ソーシャルチェンジ」
「ソーシャルチェンジなんですよ」
「知らない言葉で説明された」
「そう。うーん、ま、これもちょっとね、僕もあんまり、なんだろうな、なんか正確な英単語の意図はよくわかってないんですけど、ま、要するに仕事のやり方を変えること」

「うん」
「なんですね、総じて」
「うーん」
「今までうまくいってたようなことだったとしても、それはなんか時代が変わったり、世の中のテクノロジーが変わったりして」
「うんうん」
「今では最高の仕事をする、今では最高の仕事ができるようになるものの邪魔になってるかもしれないと」
「えー、邪魔になっているかもしれない」
「はい」

「ん?」
「これすべてちょっと例え話で言うんですけど」
「うん」
「スクラムを使ったアジャイル開発をしています」
「はい」
「これは世の中的にはめっちゃいいとされてました」
「はい」
「はい」

「で、すいません、これは例え話なんでほんとかわかんないんですけど、じゃあAIエージェントが入ってきましたってなったときに、スクラムを手放す」
「うん」
「それはAIを使って最高の仕事をするために」
「うんうん」
「実はいらないから、例えば」
「うーん」
「で、こういう手放すっていうところもソーシャルチェンジでエクストリームプログラミングなんすよ」
「なるほどね。あー、ソーシャルチェンジねー。うーん、もう歴史上ずっと行われてきたことっすよね、でもこれ」

「そう」
「うん」
「うん。ですけどそれをちゃんと自分のチームでやる。なんなら先行してやる」
「うん」
「実践する」
「うんうん」
「っていうのがエクストリームプログラミング」
「うん」

「ではないかと思うんすよ」
「なるほど」
「で、ちょっとこの本、なんて言うんでしょうね、この、結構なんかエクストリームプログラミングってこうですってバチッと語れるような概念ではなくて」
「ほう」
「なんかエクストリームプログラミングってなんか、こ、こういうのも含まれるし、なんかこういうのもやったらまあエクストリームプログラミングって言えるし、ま、プラクティスもまあこういうのもあるけど、まあでもなんかチームによってやっぱ事情違うから、まあこ、なんかこれらのようななんかまあ精神を組み合わせつつやっぱ最高の仕事をやってくために必要なマインドとか原則を大事にしながら変えてこうねみたいななんかそういうむにゃむにゃした概念だなと思います」
「歯切れ悪」
「なんかね」
「むにゃむにゃしたとやばいな」

「なんて言うんでしょう、やっぱなんか何かを排除したりする考えじゃないっていうかなんかなんて言うんだろう、結局ねチームの事情ってそれぞれだから最高の仕事をするために向かっていくこと」
「うん」
「でそれに必要な精神とか原則とか」
「はいはいはい」
「っていうのがエクストリームプログラミング」
「あーなるほどな、ちょっと俺の持ってた認識と違うかもしれないな」
「ちょっとなんか言ってみてください」
「まずこのなんかエクストリームプログラミングってめっちゃ古い本じゃないすか」

「あはいはいはい」
「多分1999年とかじゃなかったかなこれ」
「多分第1版そのぐらいなのかな。で今すいません私が読んでるのは第2版です」
「第2版」
「はい。で1版と2版で書かれてることちょっと変わってるみたいです」
「あ僕が持ってるのもね第2版ですね多分これ」
「あーはいはいはい」
「で多分このときの時代背景ってあのーウォーターフォールしかなかったんじゃないかなっていう時代な気がするんすよね」

「うん」
「まだアジャイル開発っていう概念がなかったタイミングだと思ってて」
「はい」
「でエクストリームプログラミングで新しいなんかこう開発の手法みたいなやつがこう注目されてそっからアジャイル開発の考え方が生まれてったみたいなイメージあるんですけど」
「あはいそう思います」
「なのでここで言ってるソーシャルチェンジっていうのはこれまでやってた方法っていうのが要はウォーターフォール開発みたいな」
「うん」
「でねただこれまででやってきた方法ってなんかやっぱつらみあるよねみたいなところで僕たちこうやってやったらなんか結構いい感じになりましたソーシャルチェンジみたいな」

「うんうん」
「なんかそん、そんな感じのこう印象を持ってますね」
「割とイメージ合ってますよ」
「あーほんと?」
「はいはい」
「はい。で例えばなんかさっきスクラムしてたみたいな話しましたけど、別にスクラムじゃなくてもアジャイル開発はアジャイル開発なんで」
「うんうんうん」
「なんかhowのところがまあ変わってく中で、例えば僕がAIをフル活用した開発やりてーって思ったとしてもそれはなんかhowが変わってるだけで」

「うん」
「まあ大事にすべき原則って変わらないよねみたいな」
「うんうん」
「ところをちょっと今日の本読んでてまあ改めて思ったっていうところで」
「うん」
「まあ少しずつちょっとエクストリームプログラミングをだいぶ、だいぶというか、うん、まあちょっとずつ潜っていきましょうねっていうところをお話しできればと思います」
「はい」
「はい。でちょっとまあもう少しむにゃむにゃ続くんですけど、えーエクストリームプログラミングにまあこういうものが含まれるよというところがまあ書いてたんで、ちょっとなんかこういうのがどうやら含まれるらしいぞというところをちょっと紹介させていただきます」

「はい」
「はい」
「えー1つ目がコミュニケーション、フィードバック、シンプリシティ、勇気、リスペクトの価値に基づいたソフトウェア開発の哲学が含まれます」
「うん」
「でえー2つ目がソフトウェア開発の改善に有効であることが実証された複数のプラクティス。これらは相互に補完してそれぞれ効果を高める。プラクティスは価値を表現するために選ばれたものたち。というまあ、まあ要するにプラクティスがいくつか含まれますと、エクストリームプログラミングには」
「うんうん」
「でえー3つ目が価値をプラクティスに変換するための知的な技法。問題に対応できるプラクティスがないときに、まあちゃんと重視する価値からプラクティスを作れるようにするための、まあ考え方、原則がエクストリームプログラミングには含まれますと」
「うんうん」

「うん」
「で最後にこれらの価値やプラクティスを共有するコミュニティ。これがエクストリームプログラミングに含まれるということで、まあ開発哲学と、えープラクティスと、そのプラクティスを新しく作るための知識と、それらを共有するコミュニティ」
「うん」
「これがエクストリームプログラミングに、まあ含まれる」
「はい」
「なのでこれ以外にも、えーエクストリームプログラミングに含まれるものは、まあありうる」
「うんうん」
「まあような書き方をされてます。まあなんで結構まあむにゃむにゃ度はわかっていただけたかなと思うんですけど」

「むにゃむにゃ度」
「むにゃむにゃ度、だいぶむにゃむにゃ度」
「うんうん」
「まあこのなんかほんとにこの本通しておそらく、僕ちょっとまだ途中までしか読めてないんですけど、エクストリームプログラミングをいろんな角度で見てっていろんな角度で見てって、まあ全部理解したらまあちょっと中心見えてくるでしょ、ね、みたいな本になっていて。でなおかつこの書籍の中では、この本読んでも別にエクストリームプログラミングの知識、知識っていう言い方だったかな、まあ知識か、知識としては十分じゃないですと」
「うんうん」
「やって実際に試行錯誤して初めて身につくものだということも書かれてたので、まあちょっとそれも前提にちょっとお聞きいただければなと思っております」
「はい」
「はい」

「で続いて、まあ今日ちょっとこのエクストリームプログラミングとはっていうところの、えっと前半部分のちょっと紹介をしたいなと思ってて。エクストリームプログラミングにはこれらが含まれますの中の、コミュニケーション、フィードバック、シンプリシティ、勇気、リスペクトの価値に基づいたソフトウェア開発の哲学が含まれますという話を、まあさっきしたんですが、その、まあ価値とは、エクストリームプログラミングで重視すべき価値とはみたいなところまでが、まあ今日のエピソードにしようかなと思います」
「哲学の部分」
「哲学の部分ですね」
「ってことっすね」
「はい」
「てっちゃん」
「てっちゃん。ではまあ早速価値それぞれ、まあお話ししつつ、まあ結構ね抽象的な話をしていくので、まあのりさん、じゅんぺいの実体験とか、まああとはなんかそういうのをいろいろワイワイしながら、まあいろんな角度から照明を当ててって、ああまあこういうことってことだよねっていうような感じで進めていただければと思います」
「はい」

「ほい」
「えー1つ目、コミュニケーション」
「コミュニケーション」
「はい。これはですね、まあそのとおりでエンジニア同士の、まあコミュニケーションの話なんですけど、まあコミュニケーションが、まあ不足していると、例えばなんか問題が発生して、したときに、まあ1人で抱え込んじゃうとか、であとはなんか解決策がし、解決策を知ってる人が、まあその人に解決策を提示できない、共有できないから、えーチームとしての生産性下がるかもしれないみたいな、まあ困りごとがあります」
「うん」
「まあなので、まあ問題が、チームに問題が発生したときとかは、まあそれってコミュニケーションの欠如が原因なんだっけみたいなところも問いを立てながら進めてみると、まあエクストリームプログラミングに則ったチーム改善が進められるんじゃないかなというところになってます」
「うんうん」
「で、あとは、これなんかあのコミュニケーションちゃんとやろうぜ、そうすれば全部うまくいくぜっていう話ではなくて」

「うん」
「まああくまでそのエクストリームプログラミングにおいての、まあ重視すべき価値のうちの1つではあるので、まあコミュニケーション以外も、まあ大事だという前提で、えーまあでもコミュニケーションがないと、なんか問題解決が、まあチームの生産性に関わるところになるので、まあそこもちゃんと重視しましょうねみたいなところが書いてます」
「うん」
「うん」
「で、まあなのでね、コミュニケーションめっちゃ重視するからこそ、ちょっとこれは想像ですけど、まあGoogleでは出社前提になってるんだりとか」
「うーん」
「するんだろうなって思うわけなんですよ」
「うんうんうん」

「で前テレワークを守るみたいな話しましたけど」
「ありましたね」
「えーはい」
「うん」
「フルリモートの会社、えー開発チームで働いてるあなた、僕、リモートでの生産性低下をさせないためにめちゃくちゃ能動的に積極的にコミュニケーションを取りに行く責任があると」
「うん」
「うん」
「すごい思うんですけど」

「懐かしい」
「はい。ただね、なんかこのへんやっぱね、伝播するのってめっちゃむずいくないっすか、その」
「うーん」
「コミュニケーション苦手な人に、苦手か置いといて好きじゃない人に、いやいややれよって言って、どこならで強制してやらせるべきなのか」
「うーん」
「これ非常に難しいなと思ったりするんですよ」
「そうねー」
「うーん」

「まああとはやっぱね、リモートゆえになんて言うんだろうな、偶発的なコミュニケーションが起きにくいというか」
「はい、そうですね」
「例えばさ、まあ学校、学校あるじゃないすか」
「うん」
「学校でさ、こう消しゴム落として」
「うん」
「で、拾ってもらいましたと。そこから生まれるコミュニケーションがあるわけじゃないすか」
「はい」

「でも学校でみんなさ、こうリモートですっつって、自分の部屋で消しゴムをさみしく落として、さみしく拾って、何も起きないっすよねみたいな。まあそういうのの積み重ねがありますよね、きっと」
「そうですね。なんかこれもあの、個々人の姿勢や意識を問われるところではあるんすけど、オンラインだから生まれるコミュニケーションもあると思ってて」
「おお」
「例えば、まあちょっと、いやオンラインとは限んないか。ただオンラインで起こせるコミュニケーションもあると思ってて」
「うん」
「うん」
「例えばTimesチャンネルでいろんな情報を出し続けると、それについてなんか興味ある人が遠方からリアクションくれるのはなんかオンラインならではじゃないすか」
「うーん」

「でそれがTimesかもしんないし、なんかランダムチャンネルかもしんないし、何、まあ開発チームのチャンネルであげるちょっと関係ない話とか」
「うんうんうん」
「っていうのはまあありうるっていうか、まあ実際に僕は起きてるのは見たことがあるので」
「うん」
「逆に言うとだから個々人そういう、何、ブロードキャスト的っていうの、なんて言えばいいんだろう、垂れ流し的な」
「うんうん」
「感じで、まあ情報を、お、お、出していくっていうのは、なんかリモート民に、リモート民の責務かもなと今のりさんの話聞いてて思いました」
「うーん」

「うん」
「ただそれって結構ハードですね。できる人はできるんすけど」
「まあそうね」
「うん。僕は苦手よりですので、ちょっと頑張んなきゃ。まあでもオフラインでもやれますけどね、今の私は」
「そうなんだよね、なんか、はい、包含されちゃってるよね結局っていう」
「うん、そうそうそう」
「うん」
「それはそう。まあただオフラインだと逆に言うと、そこまで切羽詰まる必要はないですね、そのオンラインで頑張る必要がない」

「うんうんうんうんうん。まあ確かに」
「まあまあやるの、やるのがもちろんいいんすけど」
「うんうんうん」
「はい。っていうのが1つ目コミュニケーション。これねめっちゃ大事」
「はい」
「2つ目、シンプリシティ。これ何言ってるかというとですね、システムをシンプルに保ち続けようという話です」
「うーん。ほお」
「これが1番むずいんですけど、多分」

「うん」
「これシステムシンプルに保ち続けると何が起きるかというとですね」
「保守しやすい」
「そのとおり!100点満点。保守しやすくて」
「答えまでシンプル」
「過去の問題を解決しなきゃいけない時間が減るんすよ」
「うん」
「今ある今日の問題だけフォーカスできると。まあなので、まあこういうのシンプルに保ち続けるための多分スキルを、まあ全員頑張って習得したり、まああとはチームで何か設計とかの判断するときに、1番シンプルでうまくいく選択肢なのかみたいなところを考えながら選択肢選んでいくと、良いのではというような感じですね」

「うーん」
「これでも知識ゲーっすよね、多分ね」
「いやー知識ゲーもそうだけど、これは僕なんか視座の高さみたいなやつ必要だなと思ってて」
「なるほど」
「多分複雑なシステム作った人って別に複雑なものにしたかったわけじゃないと思ってるんすよね」
「うん」
「そのとき1番シンプルだった道をたどり続けた結果、道筋は複雑になってるみたいなことあり得るなと思ってて」
「そうですね。つぎはぎになってるみたいなニュアンスで言ってます」

「あー、うん、そうね、うん」
「うんうん」
「だからなんかそのへんをこう、なんだろうな、振り返りが大事なのかな結局」
「ほう」
「前だけじゃなくて、後ろどうねった、どうなってたかも見る力というか。作業するときってさ、なんか例えばじゃあコーディングのときもそうですけど、1機能作るってなったらその機能だけを見るじゃないすか」
「うん」
「はい。一方全体を見たときに、その作り方が適切だったとは限らないことがあるというか」
「うんうん」

「実はここ統一できたよねとか、ここ分けたほうが良かったよねとか、そういうのが発生するなと思っていて」
「うんうんうん」
「だからなんか1歩、なんだ、俯瞰する力なのかな。俯瞰する力大事っすね」
「そうっすね」
「シンプルに保つには」
「まあほんとになんか1つの段、俯瞰も、おっと、まあ俯瞰だな、俯瞰ですね。1つの段、見方で見るとこうだけど、別の見方すると変わってとか。で、じゃあ総合してっていう話ですね」
「うん」
「うん」

「個別最適が全体最適につながらないというか、必ずしも」
「確かに、確かにおっしゃるとおり」
「うん」
「それがなんかあれですね、そのほんとにエンジニア初学者の、アーキテクチャーなんでこんなめんどくさいことするのみたいな」
「うんうんうん」
「ことっすよね」
「そうそうそうそうそうそう」
「うんうん」

「はい、ありがとうございます」
「これもあれかな」
「では3つ目。あ、いいすか」
「コミュニケーション大事になってくるなと思って」
「あ、はいはいはい」
「人が見ればそれは客観的になるよねっていう」
「うん」
「うーん」

「でも」
「そのとおり」
「このAI時代、割となんか簡単ではないですけど、だいぶマシなんじゃないかなと思ってますが」
「うんうん、前よりマシになったね」
「確かに」
「一方でAIはここ気にしなくていいと思ってるとこ気にしなきゃいけないかもしれない」
「あー」
「だから、そこのコンテキストちゃんと渡せるかは、なんだろう、職人技というか、腕の見せ所っすね。で、あとこのシンプリシティを達成できるとコミュニケーション減らせるんで、余計な」

「うーん」
「うん。も非常に重要。はい、じゃあ3つ目いきます」
「はい」
「フィードバックです」
「フィードバック」
「なー、何に対する?」
「これあのいろんな意味のフィードバックがあるんですけど、まあ人同士の話もあるんですが、まあ今回話すのはソフトウェアのフィードバックっていうのかな」
「ソフトウェアのフィードバック?」

「はい。なんて言うんでしょうね、あ、でもまあ、うん。例えば何かやろうと思ったときのチームメイトの意見とか、あとは何かを実装したあとの、まあコードの状態、なんて言うんだろう、なんか複雑になりすぎてるかどうかみたいな意味で」
「うんうん」
「で、あとはテスト書きやすいかとか、テスト実行できるかとか」
「うんうん」
「あとそもそも機能してるんだっけみたいな。なんかそのへんのフィードバックを使うと、やりたいことを実現できるよね、早くって話です。なんでテスト書きましょうとか、えーCI、継続的インテグレーション使って、まあデグレしてないとか、ちゃんとデプロイできる状態だよねとか、なんかそういうの見たりとか」
「うんうん」
「で、あとはまあチームとの、チームメイトとのコミュニケーション取って、なんかやろうとしてることがそもそも結構外れてるものではないよねとか、なんかそういうものって非常に重要だよねというようなところが、まあ3つ目の価値、フィードバックになります」
「うん。なんかその、うーん、なんだ、意見とか、あとまあテストもなんかまあ実行したら結果が返ってくるからフィードバックのイメージ分かりやすいんですけど」

「うん」
「なんかコードの状態みたいなところがなんかあんまりピンとこなかったかもしれないな」
「まあコード行数というかなんだっけな、循環的複雑度とかなんかそういうのでも含める、測れるかもしんないですね」
「あー、そういうことか」
「そうそうそうそう」
「うんうんうん」
「まあ何をね、バラ、バロメーターにするかは、まあチームによるかもしんないですけど」
「うんうんうん。なるほどね」

「まあこれは別に今言ったやつ全部使いましょうとか、そういう話ではなくて」
「うん」
「まあチームでやりたいこと、チームの事情、コードの状態、ひっくるめてなんかまあいろいろ必要なものを選択していきましょうみたいな」
「うん」
「ことっすね。はい。えーでは残り2つ」
「はい」
「いや2.5個。いきます」
「2.5個、はい」

「はい。えー次、勇気」
「勇気」
「勇気」
「これはまあアンパンマンの友達で有名な勇気です」
「おー」
「恐怖に直面したときでも効果的な行動を取ろうというところで、行動の勇気というところで、問題が分かっていればそれに対する行動を取りましょうとか。忍耐の勇気。えー問題があることが分かってたとしても、ただなんかその問題がなんか分からないと、なんでそうなってるのか分からないとか、救命しきれない場合とかは、まあちゃんと勇気を持って忍耐して調べましょうとか」
「うんうん」
「まあほかにもいろんな勇気あると思います」

「うわー」
「うん。あるわー。こうき、作った機能があるじゃないすか」
「はい」
「で、それをテストするときに、なんかこう、こう触ったら壊れなさそうだなっていう方向を選んじゃう勇気のなさ」
「分かるー」
「本当はさ、なんか、う、こうならぶっ壊れるんじゃねえか、ぐへーっつって触んのがいいんだろうけど」
「うん」
「それなんかね、できないんだよね」

「できないっすね。できないというかやれ、うんそう、やれないというかやりづらいというか。で、しかも締め切り間際とかね」
「そう」
「余計にね」
「何かが出てくるんじゃないかみたいな」
「そう」
「そんなの早く出てきたほうがいいに決まってるのにね」
「そう」
「そのときになると出てくるなあと思っちゃうんだよな」

「これでもなんかエクストリームプログラミング上、というかまあそこのほんとにのりさんがさっき言ってた早く出てきたことには越したない、越したことないっていうのは」
「うん」
「ほんとにそのとおりで。まあこの勇気のおかげでやっぱ、まあ課題ができ、できて、な、課題ができるとか、あとは正しい解決策早く分かるとか。まあそのアクションに、アクションが早く取れる」
「うん」
「厳選になるかなと思うので」
「うんうん」
「はい。もう勇気を持ってやっていこうぜっていうところではあるんですが注意が必要で」
「ほう」

「え、勇気のみは危ないです」
「おお」
「っていう話で」
「うーん。やっぱ愛が必要ってことっすか」
「あー」
「じゃあアンパンマンか。まあね、アンパンマンの話も語れば長いですよ」
「うーん」
「これはまあ、そう、柳瀬さんのね、真のヒーロー像とはというところが現れてると聞いてますが」

「あ、そうなんだ」
「はい、そうなんですよ。まあちょっとアンパンマンの話はエンディングトークで」
「はい」
「はい。で、えー、まあほかの価値と組み合わせて行動してよっていうところが言われてます。まあ例えばなんて言うんでしょうね、なんか勇気があるけど、でもそれは別になんかとりあえずやればいけいけどんどんオッケーとかではなくて」
「うん」
「まあちゃんと。なんでしょうね、まあうまくいかない解決策を捨てて新しい解決策をちゃんと提案でするとかもそうですし」
「うん」
「ちょっとこれ言ったらあれなんすけど、まあ地に足ついたアクションをちゃんと確率、ちゃんと確率っていうのはちょっとエクストリームプログラミングじゃないんすけど、自分なりのロジックがあって、そのエクストリームプログラミングのほかの価値とか原則に則った形で行動を選択して勇気を出してやっていくといいよねっていうところが書かれてます。無謀に敵のことやっちゃだめだよっていう」

「なるほどね。あー、なるほど。なんかを考えなしに突っ込むんじゃなくて、うわーなんて言うんだろうな、だめだ」
「少なくとも結果を考慮した上でやるべきってことっすね。その、な、これやったらこうなるだろう。で、そのこうなるだろうが、まあ少なくともいいと考えてる状態でやる」
「うーん」
「どうなるか分からんでやるのは違うって話っすね、多分」
「あーそういうことか」
「うん」
「うんうんうん」
「無謀が違うっていう書き方だったんで、まあ無謀って多分そういうことっすよね」

「うん」
「どうなるか分からんけど、分からんもしくは分かりきってないというかなんて言うんだろうな、分かりきってないのもちょっと違うんだよな。まあ分からんだね。ほんとにどうなるか分かんないけど、これやったら多分いいだろうって言ってやんのは違うってことっすね」
「うんうんうんうん」
「まあ石橋は叩きすぎる必要はないと思いますけど。はい。えーというのでちょっと時間もそろそろいい感じになってきたんで次行くんですけど」
「はい」
「えー最後の5つの価値、リスペクトです」
「うん」
「うん」

「これめっちゃ大事ですね。まあこのエクストリームプログラミングって、まあ最初に言ったとおり、まあソーシャルチェンジなんすよ。で、チームでなんかやってることを課題にちゃんと向き合って、で、いろいろ変えながら最高の仕事を目指すっていう考え方ではあるので、なんかチームメンバー全員がプロジェクトをリスペクト、大切にしてる必要もあるし、チームメンバー同士がお互いにやってることに関心を持って、あれなんかちょっと効率悪くないとかっていうところにちゃんと気づいてお互いにフィードバックするみたいな」
「うんうん」
「うん」
「そういうカルチャーというかなんて言うんでしょうね、文化というかマインドがないと、まあこのエクストリームプログラミング回らないので」
「うん」
「リスペクト必要だよねっていうので重視すべき価値になります」
「なるほどね」
「うん」

「確かになー。リスペクトなきフィードバックはただの攻撃みたいになったりするもんなー」
「そうですねー。いやいいこと言いますねほんとに」
「へーほんとにいいこと言ったなと思います」
「うーん」
「そうだな。だからまあコメントして送るときもね、ちゃんとこれリスペクトあるんだっけっていう問いを立てて」
「うんうんうん」
「もしくはまあGeminiに投げて。このコメントリスペクトありますかって言って、そしたらGeminiがリスペクトあるコメントにしてくれると思う」
「うん」

「最悪それでいいかもしれないですね」
「いいのかなそんな仮想リスペクトで」
「そこからちょっと学んでいければいいのかな」
「うん」
「はい」
「コメントもらう側もあれですよね。あの人格を否定されてるんじゃなくて、コードとかについて言われてるだけで」
「そうね」
「うん」

「そう。そうね、まあそう。ほんとにまあ気にしすぎなくていいよっていう言い方だったのか分かんないですけど、なんかたまに凹みすぎる人いるんだよね」
「うんうんうんうん」
「うん。お互いに同じ、より良いものを作ろうというゴールに一緒に向かってるだけだよね」
「確かになー。あとね、フィードバックにもやっぱ勇気がいりますからね」
「うん」
「うん。そうやってリスペクトあるコミュニケーションを取ってシンプリシティを保っていこうと。そう」
「うん」
「そのとおりです。繋がりますねこれは」

「はい。もうほんとにすべてが繋がってるというか、まあなんかいろんな角度からエクストリームプログラミングとはを説明してる本なんでやっぱり」
「うーん」
「うんうんうん」
「はい。っていうのでちょっと最後0.5個なんですけど」
「はい」
「あの5個あるって言っときながら、まあちょっとその他もありますよという話をしてて」
「はいはい」
「もっと言うとなんかその他の重要な価値としては安全性、セキュリティ、予測可能性、生活の質などがあるというような書き方をしていて」

「生活の質」
「えーいろいろありますし」
「うんうん」
「なんか、うん、なんかほかのもあります」
「うん」
「で、これは結局なんて言うんでしょうね、その、まあエクストリームプログラミングという考え方を実践する上で何を重視すべきかっていうものを、まあ多分最終的にはチーム事情それぞれ重視すべきものが変わったりすると思うので」
「うんうん」
「で、5個は紹介しましたけど、まあ5個は多くの場合重要だったりするんですけど、ほかにもチーム事情でセキュリティ絶対めっちゃ大事なんですっていうのもあればそうじゃないのもあるのかもしんないし」

「うんうんうん」
「っていう意味で、まあちゃんと考えながらエクストリームプログラミングを実践するために、まあチーム、そのチームに必要な価値ってなんだっけ、重要な価値ってなんだっけっていうところを考えながらやっていきましょうねっていうので、本日エクストリームプログラミングとは、なんかむにゃむにゃしてる話をしてたけど、まあソーシャルチェンジで、まあ今この現代での、現在での最高の仕事をするために邪魔になってる習慣やパターンをちゃんと手放して改善していく、これがエクストリームプログラミングだという話と、エクストリームプログラミングで重要視すべき価値、コミュニケーション、シンプリシティ、フィードバック、勇気、リスペクトその他っていうお話をさせていただきました」
「なんかこの価値の部分さ」
「はい」
「なんかめっちゃこう一言で言うとエンジニアのウェルビーイングだなって思いましたね、なんか」
「ほー、いいっすね」
「うーん。なん、なんて言うんだろうな。このコミュニケーションにしろさ、シンプリシティにしろさ、なんかハード面でもソフト面でもエンジニアがこう心地よく働くための部分を価値にしてるなっていう感覚がめっちゃあって」
「うん」

「なんかこうやって多分安全性とかセキュリティもさ、もちろんこんなところガバガバなものを自分が作ってしまったと思ったらさ」
「うん」
「夜も眠れないじゃないですか」
「眠れないっすね」
「っていう意味で、なんかすべてはそ、そこにつながるなっていうので、なんかエンジニアの価値を向上させようとしてるというか」
「うんうん」
「そういう動きを感じますね、なんかここから」
「まあ総じてそうかもしんないですね」

「うん」
「うん。結構なんかやっぱ仕事って仕事の時間だけじゃなくてプライベートのほうも結構生産性に直結するねみたいな話も書籍の中で出てきたりするので」
「うんうん」
「で結局しかもじじ、なんだ、世の中がどんどん変わってく中で最高の仕事をする、できるチームを作っていこうって結局ね、なんでしょう、改善、いろんなもの、ありとあらゆるものを改善していくっていう話だと思うので」
「うんうん」
「それが多分のりさんの言う最終的にはウェルビーイングにつながりますもんね」
「うーん」
「ウェルビーイングがゴールというか」

「うんうん」
「うん」
「うーん」
「はい、ありがとうございます。ちょっとこれあのほかにも話したいこといっぱいあるんですけど、例えばなんかエ、エクストリームプログラミングの原則とはみたいな話とか。まあちょっとプラクティスのところはね、なんか今までエピソードで触れたところもあったので、ちょっと今更話すのもなあとは思いつつ」
「うんうん」
「まあちょっと少なくともなんか原則の話とかはしようかなと思ってるんで、ちょっと続き乞うご期待です」
「うん」
「はい」

「なるほどね」
「ですいませんじゃあちょっと」
「はい」
「あのエンディングアンパンマンなんですけど」
「あーほんとに来るの」
「アンパンマンの曲を流す」
「エンディングアンパンマン」
「あーほんとに来ると思ってなかったわ、はい」

「あいやしないしないしない。いやあのーやっぱね子どもがアンパンマン好きで。でアンパンマン好きすぎてアンパンマンずっと見てるんですけど僕も」
「ほー」
「でアンパンマンのあのオープニングあるじゃないですか、ソーダ恐れないでみんなのみたいなやつ。ちょっともうこれ以上しゃべ、歌うとジャスラ」
「そうね」
「こんぐらい印象」
「ジャスラなんで。はいはい」
「はい。あの歌詞くそ重いんすよ。もう今脳内再生してください。くそ重い。あのね一切2歳向けのね歌じゃないんす」
「うん」

「うん」
「特にメロの部分すか」
「うんうん」
「そう、なんのために生まれて、なんの、なんだっけ、なん、なんのために生まれて、何をして生きるのかですよ」
「うんうんうん」
「一切に問わないでくださいそんなこと。彼らは成長するので精一杯。で、あれは別になんて言うんでしょうね、柳瀬さんは、あれ柳瀬さんが歌詞少なくとも書いてるんですけど」
「うん」
「あれはなんかその子どもへの対するメッセージというわけではなくて、なんか柳瀬さんなりのヒーロー像をすごい書いている詩なんですよ。で当時なんだっけな、1960何年つったっけなアンパンマンできたの、ちょっと曖昧なんすけど」

「うん」
「めっちゃ前なんすけど。で当時のヒーロー、まあとりあえず仮面ライダーいたかなとかあとアメコミのヒーローとかって」
「うんうん」
「割となんかまあ悪いやつと物理的に戦って、でぶっ倒して」
「うん」
「でおっしゃかったぞーみたいな。なんかまあ当時のヒーロー」
「うん。でもアンパンマンもばいきんぼこすだけの漫画じゃなかったでしたっけ」
「って思うじゃないですか」

「はい」
「まあアンパンマンばいきんぼこすのは多分アニメ版なんじゃないかな。多分昔かそうだったんかな、多分ほんとに」
「違ったの?えーそうなんだ」
「まあ昔のアン、まあでもテーマはそこじゃないんすよ」
「へー」
「柳瀬さんはそのまあ戦争バチバチに体験して」
「うんうん」
「で玉音放送でしたっけ、あの」

「うんうんうん、あの天皇の」
「天皇陛下が負けましたって言ったやつ」
「はいはい」
「であれを経験して正義って変わるんだっていうのを身にしみで体験して」
「へー」
「昨日までの正義が急にガラッと変わることがあると」
「うんうん」
「で、だからその戦う系のヒーローも正義が変わることがあると」

「うんうん」
「そんな中で、なんか一生変わらない正義ってなんだろうって考えた結果」
「はい」
「ちっちゃい子どものお腹を満たすことだと」
「ほー」
「それが変わらない正義であると」
「はいはいはいはい」
「でなおかつその正義はマッチョがピカピカの服で正義を執行するんじゃなくて」

「うん」
「ヒーローが孤独に自己犠牲を払んで自分の身を切りながら」
「うん」
「正義を執行するべきであるっていう」
「ほー」
「はー。だからアンパンマン」
「だから自分の頭をちぎって」
「そう」

「食べさせてたんですか」
「そうです」
「へー。っていうその柳瀬さんのヒーロー像を」
「うん」
「なんか結構ハードなヒーロー像だ、なんですけど、まあただなんか社会ってそういうもんだなってすごい思ってて」
「うんうんうん」
「プロジェクトの中のヒーローも結構なんか人知れず、なんか1人で言ってってあれですけど」
「うんうんうん」

「結構やっぱ負担はね、よっちゃうことが多いかなと思ってて」
「うんうん」
「すごい社会を表してるなあとちょっと思いつつ、なんかほかにもいろいろしゃべれることはあるんですけど、まあアンパンマンポッドキャストじゃないんでこのへんにしときます」
「そうなんだ」
「ぜひ、あのアンパンマン見てる方見てない方、アンパンマンちょっとそういった目で見るじゃないな、まあなんかオープニングだけ見てもらえると、まあ楽しいかなと思うんで」
「子どもとアンパンマン見ながらそんなこと考えてたんだ。このあと曲聞き直しますわ」
「はい。では、えー最後のお知らせで、ハッシュタグひまじんプログラマーでSNS、NEXTでフィードバック募集してますので、えー本日のエピソードの感想とか、あとはそうですね、エクストリームプログラミング勉強してるうえで、なんかこれ見ても、これ見たらいいよとかあればちょっと教えてください。お願いします」
「エクストリームプログラミングいっぱい本ありますよね、なんか」

「うん」
「いろんな映画本」
「そうですよね」
「うん」
「なんとか編なんとか編みたいな感じでめっちゃいっぱいある」
「なんか何がいいかよくわかんないです」
「うん」
「はい。まあなんかとりあえずね、あの今読んでるのは、えーっとケントベックのやつ、これなんて読めんだろう」

「白の1番オーソドックスなやつね」
「そう、オーソドックスなやつ読んでるんですけど、ほかにもあれば」
「なんか一種の自己啓発みたいな感じではないんすか。ちょっと違う」
「あーまあそうでもあるけど、まあこれなんかむずいのがね、自己っていうかチーム啓発なんですよね。ちょっとチーム啓発のがね、ちょっとむずポイントですよね」
「うん」
「結構具体的プラクティスもいっぱいあるしね」
「うん、そうっすね。であとはポッドキャストの説明欄からGoogleフォームで番組の要望、感想、質問お待ちしてます。あとはポッドキャストのチャンネル説明欄からSlackオンラインコミュニティ、ひまプロ談話室の参加申し込みフォームもございますので、まあワイワイ勉強したい人、刺激を受けたい人などなど、まあ興味ありましたらぜひチャンネル説明欄のGoogleフォームから申し込みお願いします」
「お願いします」

「最後に各種ポッドキャストプラットフォームのフォロー、高評価もお願いします」
「励みになりますのでよろしくお願いします」
「はい、それではまた次回」
「バイバイ」
「ある夜ね、いつものようにコーディングをしていたんですよ。カタカタカタ、カタカタカタって。そしたらね、夜なのにインターホンがピンポーン、ピンポーンってなってね。こんな時間におかしいな、おかしいな、試合が来る予定もなかったのになって思ってドアを開けたらね、うわー。怖いほど成長できるひまじんプログラマーの週末エンジニアリングレッスン」