デブサミ夏に登壇した

縁あって夏のデブサミに登壇する事が出来た。イベントのテーマは「Developer Productivityへの道」。僕はJenkinsを作るというプロジェクトの過程で、アメリカからソフトウェア産業におけるDeveloper Productivityの取り組みを20年という長い時期に渡ってつぶさに見るという幸運を得たので、そこから得た心象風景を発表した。資料はこちら

イベントが終わり、参加者からのアンケートをとりまとめた実施報告書が届いたので、それを読んでいるのだが、その内容がまた興味深い。

僕のこの業界における学びの一つは、エンジニアリングを外部から制約する「箱」が、エンジニアリングの合理的な形を決定するのに大きな影響があるという事である。例えば、自社で運用するウェブサービスを開発するのと、出荷した製品が目の届かないところで動く組み込みの製品では、どういう風にソフトウェアを開発すればいいのかの合理性が全く異なる。前者はデプロイの頻度を上げる事で小さな変更をプロダクションに晒す事で自信を付けていく…という方向に進化しているが、後者ではデプロイ頻度を上げるという事がそもそも出来ないから、それに立脚する手法には合理性がない。

デブサミ夏の参加者の内訳を見てみると、Web service開発に従事する人と、SIの人と、組み込みの人が、まあ大体同数で拮抗する感じになっている。なるほど、日本のソフトウェア産業はこういう風に三分されているわけか。

興味のあるキーワードのところでは、「テスト・品質」が一番に挙がっていて、まさにここを攻めているLaunchableとしてはとても心強い。そうそう、ベンダーはKubernetesが…とかservice meshが…とかいうけど、現場で広く感じられている問題意識はいわゆる時代の先端とはあんまり関係ないのである。

DevOps

「DevOpsの実践で感じている課題感や関心事はありますか?」という自由記述の質問がある。本当に色々な答えがあって、これはという傾向は特に見当たらない。DevOps、確かに日本ではあんまり浸透していないな…とずっと漠然と思っている。Web service開発ではちゃんとうまく使えるはずで、組み込みには当てはまらない概念。だから、SIの人がDevOpsをうまく活用出来ていくかが焦点だと思っている。ここでの課題は幾つかあると思っている。

  • 契約形態としてプロジェクトの今後の生産性向上のために工数を使いづらい形になっている。これこれこういう機能をいつまでに幾らで、というのが決まっているから。
  • プロジェクトによって技術スタックや開発の仕方がまちまちで、横断的な取り組みが出来ず、DevOpsの取り組みがスケールしない

この話は「育児的ソフトウェア開発」という内容で何度かしている。

SIという形態は、僕に見えるアメリカのテック産業にはほとんど存在していないので、この辺の問題がどう解決されているのかが分からない。スノーデンで有名になったBooz Allen Hamiltonを一日訪れた事があるくらいだ。こっちのSIの人ともっと知り合って話をしたいな、と思った。

Agile

もう一つの自由記述は「アジャイルの実践で感じている課題感や関心事はありますか?」。ここでは品質管理を挙げる人が多いのが興味深い。僕の知見では、組み込みの人がここに一番悩んでいる。リリース頻度が低く、テストの自動化が難しい分野だから、どうしてもリリースという大きなサイクルに紐づく活動が増えるし、期限と機能を優先するためには品質で妥協せざるを得ないのは自然な事であるように思う。

アジャイルを組み込みに持ち込むにあたって、そうした業界特有の事情に合わせてアジャイルを焼き直して使う必要があるのだろうなと思っている。小乗仏教から大乗仏教が派生したように。

僕は、大事な取り組みはビルドとテストの自動化とleft-shiftingのはずだと思っている。小さなループで実行できるものを出来るだけ小さなループで実行する。

SI業界の人達がアジャイルに取り組むにあたってはまた別な問題があると思うが、ここではそれには触れない。

アメリカにも組み込み業界があるはずなのだが、僕の視界にはほとんど入っていないので、やはりこれら諸問題がどう解決されているのかが分からない。それとも、この分野はヨーロッパと日本が主でアメリカは弱いのだろうか。航空宇宙産業、軍需産業はアメリカがメインのはずだし、自動車、医療機器だって一定数ありそうだが…。

ソフトウェア産業のもっと色々なところを見に行かないと駄目だな、と思った。色々な会社で二週間位ずつインターンできると大分色々な事が学べると思うのだが。Launchableを立ち上げる前にそういう社会科見学をしておけばよかった。

comments powered by Disqus