質疑応答:リモートでスクラム開発をする際に生じたトラブル

司会者:では、いっぱい質問をいただいている中で、ちょっと選ぶのが難しいんですが、最初に飯山さんに、スクラム開発に対する質問をいくつかもらっていまして、その中から2つ質問いたしますね。

たぶん合わせての回答になるかなと思うんですが、「リモートでスクラム開発をする際に生じたトラブルなどはありましたか?」という質問と、「どれぐらいの期間スクラムやっているのでしょうか?」という質問で、スクラムで開発をしている中で、何かトラブルとかあったりしましたか?

飯山真一氏(以下、飯山):トラブルというほどではないんですが、やっぱりスクラムでは、込み入った議論をやるのは難しい思っています。

例えばホワイトボードの前で、みんな集まって会話をすればあっという間に終わるような内容でも、やっぱりいろいろなドキュメントなどを共有してリモートなのでオンラインでやるんですが、そういったやり方だとなかなか意識が合わないとか、そういったものはあるのかな思います。

あと期間の話でいくと、だいたい今9ヶ月か8ヶ月ぐらいの期間になっていると思います。

司会者:そうなんですね。

飯山:3ヶ月経ったぐらいから、少しずつ軌道に乗って、半年ぐらいのタイミングで、だいぶチームとしてのAutonomyやAlignmentがしっかり出てきたかと思っています。

司会者:そうなんですね。単純にこれは私の感想ですが、3ヶ月ぐらいで軌道に乗り始めるのは、チームとしてはなんだか早い気がしました。ありがとうございました。

質疑応答:ソフトウェアでカバーできていない領域

では、続きまして、長尾さんに質問させてください。「クルマの設計においてソフトウェアの領域が広くなったと説明がありましたが、逆にまだソフトウェアでカバーできていない領域にはどのようなものがあるのでしょうか?」という質問です。いかがでしょうか?

長尾洋平氏(以下、長尾):「ソフトウェア」という言葉に、例えば「仮想化」みたいなものを含んでいると仮定して、お答えします。

個人的に一番難しいと思うのは、リアルな物理現象のシミュレーションです。トヨタ自動車はクルマを扱っているので、最後は本物のモノにしていかなければならないんですが、物理現象をバーチャルにシミュレーションする行為はやはりものすごく大変で、ソフトウェアの領域がまだ技術的には追いついていないのかなと、個人的には考えます。

司会者:なるほど、たしかに実際テストするにおいても、仮想空間だけで終わらないようなものがたくさんあるものを、仮想の中でどうするかみたいなところとかが出てくるわけですね。

長尾:そうですね。結局ソフトウェア……システム設計でもかまわないのですが、何かを扱おうとしたときに、例えばクルマでもいいのですが、ある程度クルマのモデルって簡略化されているんですね。本当のクルマのシミュレーションモデルをどこかで動かそうすると、現在の現時点の技術では重すぎてたぶん動かないんですよ。

司会者:そうなんですね。

長尾:そうすると、簡略化することになるんですね。でも、それでやると、本当の最終的な挙動としてはテストできないんですよ。

司会者:確かにそうですね。

長尾:そういうところにジレンマがあるのは事実ですね。

司会者:なるほど、すごくわかりやすかったです。ありがとうございます。質問いただいた方もわかったのではないかと思います。ありがとうございます。

質疑応答:オブジェクト指向をクルマにどう活かすのか

ちなみに、もう1つ長尾さんに質問してもよろしいでしょうか?

長尾:はい。

司会者:ありがとうございます。これはコメントだったんですけれども、「オブジェクト指向というものをどう活かすのか、ぜんぜん想像ができません」という意見をいただいているんですが、オブジェクト指向はクルマの開発にどのように活かしていく感じなんでしょうか?

長尾:うーんとですね、昔という話をちょっとしちゃいます、「オブジェクト指向設計」という考え方が出てくる前はどんな設計方法論だったかというと、「構造化設計」と呼ばれていたものなんですね。データの流れを設計していくという、そういう考え方の設計方法論があったんです。1970年代とか80年代なんですが。

司会者:そうなんですね。

長尾:そういったもので、制御を設計することはできるし、僕は今もそれは有用なやり方だと思っているんですが、クルマのシステムが大きくなってしまうと、アプローチをちょっと変えないといけなくて。データの流れからアプローチするのではなくて、1つのクルマという課題を問題分割をするんですね。

責務と言うんですけれども、この人は何かに対して責任をもってデータを持ってくれる。でも、それ以外のことは知らない。こっちの人は別のことに対して何かの責任をもっている。でも、ほかのことは知らないみたいな、そんな人を何人も作るわけですね。この人が連なり合って全体として動くと、クルマというものが動く、できあがるみたいな。データの流れを設計するのではなくて、責任を分割して設計するみたいな、そんなイメージだと捉えていただければいいのかなと思います。

司会者:なるほど。ありがとうございます。私も理解できたので、たぶん質問をいただいた方も理解できたのではないかと思います。ありがとうございます。

質疑応答:トヨタで役に立つプログラミングスキルは何か

次は、これはどちらにもおうかがいしたいと思うのですが、「C++で仕事でコードを書いていて、趣味でRustのコードを書いていますが、トヨタで役に立つプログラミングスキルは何ですか?」という質問をもらっています。

トヨタで使われている、これは言語なのかはわからないのですが、プログラミングスキルという観点で、トヨタで役に立ちそうなもので言うと、どんなものがありますか?

飯山:クルマの中のソフトウェアを書くものと、先ほど紹介した「TITAN」みたいなツールを作るというのは、ちょっと違っていると思います。我々はそのツールを作るほうをやっているんですけど、今はPythonを使ってやっています。

ですので、言語としては何でもいいような気がしますが、ソフトウェアの考え方とかその取り組み方とか、そういったものが大事なのかなと思っています。1つのプログラミング言語に習熟していれば、ほかの言語にも比較的簡単に移ることができると思います。

司会者:考え方のところですね。プログラミングをしていく上での考え方自体が、そもそもトヨタで開発していく上で役に立ちそうということでしょうか。

飯山:そうですね。やっぱりこれまではハードウェアの部分が強かったものですから、そのハードウェアに対する考え方はしっかりしていると思うんですが、これからソフトウェアもやっていこうとすると、そういった考え方の人が増えて、ハードウェアやメカをやっている方とソフトウェアの考え方を融合するような役割を担えるような人が育っていけるといいのかなと思っています。

司会者:ありがとうございます。今すごくいっぱいコメントをいただいていて、「Pythonじゃないですか」「Pythonですね」とか「組み込み系はCですね」みたいなコメントがたくさん届いていますね(笑)。

飯山:(笑)。

司会者:けっこうPythonはみなさん使ってそうという予想があったんですね。ありがとうございます。

質疑応答:ハードもソフトも互角に協調しながら開発している?

そうしましたら、次、別の質問をいきます。「昔はハードウェアに付随的に、後づけ的にソフトウェアが加えられてきたように思いますが、今はハードもソフトも互角に協調しながらクルマの開発をしているのでしょうか?」。

これはたぶん今日のお話の全体のテーマとも近しいのかなと思うのですが、「ハードがあった上でソフトを載せいくような開発の仕方ではなく、今は相互作用を目指しながらやっているんですか?」という質問かと思いますが、いかがでしょうか? 長尾さん、飯山さん。

長尾:私から答えます。答えはイエスです。ただ、トヨタ自動車のクルマの中は、先ほど紹介したようにECUがたくさんあるんですね。そのECUによっても、やはり必要なアプローチは違っていまして。いわゆる昔からあまり変わらないようなECUというよりは、比較的、先ほど紹介したようなメーターやマルチメディア、自動運転といったもののほうが、ソフトウェアとハードウェアが一緒にやるという色合いが強いと思います。

司会者:なるほど。領域ごとで開発の部分が違うという感じなんですね。

長尾:そうですね。濃淡があるといったほうが正しいでしょうか。

司会者:確かに、今後を考えてもそうですよね。イメージ的に、それぞれがそれぞれのスペシャリティを発揮できるような開発の仕方をして、さらに協業できそうなところは協業していくかたちに変わっていくという感じなんですかね。

長尾:はい。合っていると思います。

司会者:ありがとうございます。

質疑応答:Areneなどは個別のモジュールに入っている?

では次に飯山さんへの質問。最初にいただいている質問に戻りますが、「OSってどの部分に入っているんですか?」という質問で、「Areneとかは個別のモジュールに入っているのでしょうか? それとも1箇所だけ?」という質問をいただいていまして。いかがですか?

飯山:なかなか答えづらいところではありますが、「Arene」という言葉をたぶんご存じの方だと思いますので、ある程度のことは知っている前提で話をしていきますが。

そういう意味でいくと、今の例えばクルマの中に入っているECUやコンピューターの中にそのまま入れるようなものではないと私は理解しています。

これからソフトウェアを頻繁にアップデートしていくことが求められるようなアプリケーションが載ったコンピューターに、メインで使われていくんじゃないかなと思ってます。

例えばですが、自動運転とかコックピットとか、そのあたりは状況に応じてどんどんソフトウェアをアップデートしていくことになりますので、そういった場所に、先ほどお伝えしたようなAreneとか、そういったソフトウェアが活きてくるんじゃないかなというふうに思っています。

逆にそういったソフトウェアはやっぱり大きくて重くなってしまうので、今クルマの中に入っているようなECUやコンピューターの中には、そのまま入れるのはちょっと難しいという状況だと思っています。

……なのですが、2つの種類のコンピューターをうまく連携させて、車両全体の統合したとか協調したような動作を実現することが重要かなと思います。

司会者:すごく納得できるご回答ありがとうございました。

質疑応答:どのように情報をキャッチアップしているか

では次、「ソフトウェアの世界ということですと、世界的にリードしている企業がすでにあると思いますが、どのようにキャッチアップを進めていかれるのでしょうか?」という質問をいただいています。

長尾:トヨタ自動車もソフトウェアには力を入れていて、実は採用活動もすごく進んでいるんですね。いろいろな方が来てくださっていたりするんですが。また先ほど紹介したWoven Planetという会社も、ソフトウェアのエキスパートに来ていただくための会社と言ってもいいかなと思っています。

そういった意味で、トヨタ自動車単体というよりは、トヨタ自動車グループとしてそういうソフトウェアに強いエンジニアをヒアリングしているかたちになっています。

司会者:なるほど。元TRI−ADさんですよね。

長尾:そうです。

司会者:かなり研究開発がすごい領域まで進んでいることは、私も聞き及んでいまして、確かにすごい外国籍のエンジニアが相当いる、多国籍なグローバルな環境の会社ですよね。

長尾:そうですね。ものすごくたくさん外国の方が、というよりも日本人のほうが少ないと思いますし、公用語は一応英語になっています。

司会者:そうなんですね。いや、楽しそうですね。ありがとうございます。

質疑応答:ソフトウェア・ファーストの中でハード屋・メカ屋に何を求めるか

次の質問を読みますね。「新しいソフトウェアの開発体制において、ハード屋・メカ屋に求めるものは何でしょうか?」という質問をいただいています。これは逆にハードウェアの領域の方々に求めるものですね。いかがでしょうか?

長尾:ちょっと泥臭い意見になっちゃうんですが、僕はソフトウェアエンジニアなので、ハードの方々に求めたいと言うと、ちょっと言い方が変なのですが、ソフトウェアのエンジニアに、もうちょっと優しくしてほしいなと思っています(笑)。

司会者:何があったんですか?(笑)。

長尾:我々ハードウェアに対しても、先ほどのトヨタの最後の円錐形にも書いてあったとおり、ソフトウェアとハードウェアのエンジニアってお互いを理解し合うというか、協調しないとプロダクトができないので、どっちも必要な人材なんですね。当たり前なんですけれど。なので、ソフトウェアのエンジニアにもやさしくしてほしいというのが僕からのお願いです。

司会者:わかりました(笑)。なんだか、ありがとうございます。今までの苦労が……。

飯山:そうですね、よく組み込みの分野でもあるんですが、マイコンとかハードウェア側とその上に乗せるソフトウェアの人たちが仲悪いみたいなこともあったりするんですね。それはたぶん、やっぱり考え方や作っているものが違ったり、こだわりをそれぞれ持っていたりするからだと思います。

ただ、そういった状況をよしとするのではなくて、お互いがそれぞれお互いのことを理解しようという努力が必要なのかなと思っています。バックグラウンドがやっぱり違うので、思考のパターンや使う手法は違うんですが、お互いがお互いの領域に踏み込んでやっていけるといいのかなと思っています。

今、トヨタの中でも、どんどんソフトウェアをがんばっていこうという状況ではあるんですが、それを少しずつ理解をしてもらえるような感じで、活動をずっとやっていくのかなと思っています。

司会者:ありがとうございます。お互いで仲良くしていきたいという気持ちがすごくお二方の意見から感じられました。ありがとうございます。

質疑応答:Ethernetに移行するメリット

そうしましたら、ちょっと飯山さんに質問させてください。「CANからEthernetに移行していくだろうという見通しのお話がありましたが、利点などに対する考え方があればぜひ教えてください」という質問をいただいています。いかがでしょうか?

飯山:利点というのは世の中で売られているもの、ネットワーク機器というのはやっぱりEthernet対応が多いんですね。そういったものを簡単にクルマの中に入れることができます。

あと、CANでってなってくると、データの通信ができる量が非常に少ないんですね。今CAN FDという速いやつもありますが、だいたい2Mbpsとかいう、みなさんから見ると非常に遅いネットワークになります。

ですので、ソフトウェアのアップデートや大量のデータを使っていろいろなサービスを実現しようとすると、そういったネットワークに流す情報量をたくさん増やさないといけないので、CANやCAN FD、FlexRayって話もありましたが、そういったものだとまだ不足しているので、Ethernetにすれば、そういったサービスもしやすくなりますし、世の中にある既存の技術をクルマの中に取り込みやすいという利点があると思います。ただ、なかなかコストやそういったものがありますので、簡単にはいかないとは思っています。

司会者:ありがとうございます。そうなんですね。聞くかぎりだと利点がすごくありそうな感じでしたが、難しいこともたくさんあるんだということがわかりました。

質疑応答:トヨタに女性のエンジニアはいるか

そしたら最後から2番目ぐらいの質問をラフにいきますね。「トヨタのエンジニアに女性っているんですか?」。トヨタさんのエンジニアで女性の方々は周りにいますか? 

長尾:そうですね。いますが、エンジニアという枠に限定しちゃうと、やっぱり相対的に数が少なくなるのは事実かなと思います。

司会者:なるほど。でも、そうですよね。エンジニアという職種でまず女性が少ないですもんね。その中でも、トヨタでは女性も活躍しているという感じなんですね。

長尾:はい。

司会者:なるほど。ありがとうございます。周りにもいらっしゃいますか? けっこうチームとかでも。

長尾:僕のところにはいないですが、近いところにはいますね。

司会者:そうなんですね。いいですね。今日の視聴者でもけっこう女性もいたので。ありがとうございます。

トヨタはソフトウェアもやるような会社に変わっている

では最後に。お二方の個別にそれぞれ質問をしたいと思うのですが、「視聴者に伝えたいこと」みたいなことも含めまして、今後、お二方がどんなことをやっていきたいかを最後に伝えて、今日見ていただいた方への最後メッセージにしたいと思いますが、お願いできますでしょうか?

飯山:なんか意気込みに近いのですが、今、我々の中で「ソフトウェアファースト」というキーワードのもと、よりソフトウェアに力を入れて、強みであるハードウェアとの融合を目指していこうという話をしています。

ですので、ソフトウェアに関わる部分について正直強化をしていきたいなとは思っていますし、トヨタがハードウェアやメカに近い会社じゃなくて、ソフトウェアもやるよというような会社に変わっていることを理解してもらえるとうれしいと思っています。

またちょっと宣伝っぽい感じになるかもしれませんが、先ほどの「TITAN」のプロジェクトだと、今人を増やしたいという話の中で、なかなか採用では珍しいコーディングチャレンジもやっています。実際にコーディングの問題を出して、どれぐらいソフトウェアスキルあるかをやっていたりします。

このように採用などの取り組みも、我々は変わっていこうとしていますので、暖かく見守っていただけるといいかなと思っています。まだまだ実力は足りていないというのはありますけれども、変わっていこうという気持ちはあるので、ぜひ応援していただけたらなと思います。

司会者:飯山さん、ありがとうございました。では、長尾さん、最後よろしくお願いいたします。

長尾:はい。ちょっと考えていたんですが、なかなかまとまってはいなくて。

さっきの質問にも関連するのですが、トヨタ自動車の中、ハードウェアや制御にものすごく強いエンジニアがたくさんいます。なんですが、会社の方針としてソフトウェア側も大事にしていくという話が大きく出ていますので、ここをやれればいいかなと思っています。

司会者:ありがとうございます。ご登壇者の長尾さん、飯山さん、本日は愛知からのご登壇ありがとうございました。