« January 2018 | Main | March 2018 »

Amazonのマクラーレン・ホンダのドキュメンタリー

ストフェルの少年時代のお話や、シーズン前トレーニングの様子。新車発表会の舞台裏。大忙しの製造部門の様子など、興味深い映像はたくさんです。そもそも、ウォーキングの中にこんなにカメラを入れたこと自体がロン・デニス時代には考えられないことだと思うのです。

それはそれとして。

全体の話の流れが

  • 2017年はきっと素晴らしい車を作れるはず。だって俺たちすごいから。
  • 新車発表会やシーズン前テストまで車が組み上がるかわからない。作業は着々と遅れてる
  • 特にアンダートレイが遅れてる。だって、今回のアンダートレイはすごく難しい形だから
  • なんとかギリギリ間に合った。ホンダも新型エンジンを持ってきてくれた。繋げるのに苦労したけど、ちゃんと動いたよ!
  • シーズン前テストに行ったら、ホンダエンジンは全然ダメダメ。今年はもうだめだー

と、こんな感じ。

いやいやいや。

  • そもそも、ホンダエンジンが目標性能に達してないことを、現場に行くまで知らなかったわけないよね?知らなかったとしたら、致命的なコミュニケーションの問題でしょ。
  • トレイをつくるのが大変?シェイクダウン延期?マクラーレンともあろうチームが、開発の遅れはあっても製造に問題抱えるとか、ないっしょ?トレイなんて新しいバージョンを毎戦3つずつ持ってきたって不思議じゃないでしょ。
  • エンジンがダメダメだったとしても、車体性能が目標に達したかどうかは測れるでしょ。そもそも、R&Dがまったく存在しないかのような映像、おかしいでしょ。
  • あのカラーリングに議論がなかったわけないよね。ホントに株主は何も言わなかったの?

というわけで、全体としては「マクラーレンはまったくの日和見経営で、ロクな管理がされていないようだ」というようにしか見えないです。世界のあちこちのカテゴリーで負けまくっているホンダも似たように感じるけど、「戦い」の臭いがしないんだよ。少なくともロン・デニスはワイン飲みながらエグゼクティブなミーティングしないと思うよ。

というわけで、まあ、今のマクラーレンにはまったく期待できないってことがよく伝わってきました。エンストンのチームもだいぶひどいことになったけど、あそこも根っこのレーシングマインドはしっかりしたものなわけで、この3年間、プアなエンジンを積んでたせいで車体でガチガチに競ってこなかったマクラーレンがルノーワークスに勝てるかどうかは微妙なところなんじゃないですかねぇ・・・間違いなくレッドブルには勝てないと思いますけど。

などと言っている間に、明日はもうウィリアムズの新車発表ですって。季節の移ろいは早いものですなあ。

| | Comments (0) | TrackBack (0)
|

良いコードとは何かを伝える

ずっとインフラ系のSEとして活動してきたので、システム開発プロジェクトでコードを書く用になったのは、ここ5年ぐらいのことです。私がやるからには、テストを書かないなんてあり得ません。というか、別に私がどうのこうのというような話じゃなくて、テストは書くよね、普通。

とはいうものの、「プログラム開発経験あり」という触れ込みの開発者をパートナーから集めても、実際にテストを書いたことがあるという人は極々、まれ。となると、教えねばなりません。教える方法としては、コードレビューしかありません。もちろん、ガイドとかそういうものも書くんですけど、しょせんはあるモデルケースに過ぎません。実際のところは書いてきたコードを、「こういう時はこうするのだ」と添削して返さないと本当の意味では伝わりません。

いやね、じゃあ私はそういう教育を受けたのかっていうと、そうじゃないんだけども。単に好きだから雑誌やら書籍やらWebサイトやらで得た知識が、渾然一体となったものなわけで。でも、それをみんなに求めるわけにはいかんからね。

で、そんな活動を今のプロジェクトで半年ぐらいにわたって続けてきたわけです。「一度はタンバリンにコードを突き返された奴しかコミット権限をやらないからな」と言って(笑)。その結果、年末の評価で言われたのが、「レビューを明確な基準がなく、主観的にやっている」という指摘です。ちゃんと基準を明確にして仕事せいと。お前の好き・嫌いで決めてるんちゃうんかと。

わからんでもないけども、どうにも納得がいかん。コードレビューと聞くと、あたかも私が合否の判定をしてるみたいに受け取られているみたいなんですが、目的は教育なんですよ。実際にやってみてもらって、そして、自分もやってみせて、ほら違うでしょ。こっちがいいでしょ、とやらないと伝わらないからやっているだけで。そーゆーことじゃねーんだよなー、理解されてねーなー・・・と上司からの評価を得られずにふてくされる日々。

そんなとき、ajitofmというポットキャストの第17回を聞いていて、ほぼ日でやっていた濱口秀司さんの対談について触れられているのを聞いて、腑に落ちました。

この対談、私も読んでいたんですけど、中で出てくる図が本当に秀逸なんです。

どういう図なのかは、是非対談を読んで欲しいんですが、教育ではこの4象限のそれぞれを全て伝えなければならないと。で、どのプロジェクトでもTODOリストやチェックリストなどの「文書化できるWHAT」と実装ガイドや操作手順書のような「文書化できるHOW」については準備するし、作って展開することについて一生懸命考えるんだけど、スキルとカルチャーについてはもの凄く手薄か、あるいはまったく考えてないことが非常に多いのです。

その理由の大きい部分は、プロジェクトメンバーが基本的には一期一会で、時間のかかる教育はコストパフォーマンスが悪いということがあるんですが、それでも半年とか、1年とかの期間があるのならば上の図の右半分をどうメンバーに伝えていくかを考えなくちゃいけない。そして、それをやる方法の1つがコードレビューだということです。

システム開発の現場におけるスキルやカルチャーの重要性は、わかっている人はすごくわかっているんですが、取り上げられることがあまりないトピックではあります。わかっている人はわかっているので、例えばアジャイル開発宣言では「自己組織的なチーム」という言葉でそれを取り上げてますし、スクラムマスターはチームのカルチャーを醸成することに非常に腐心することになります。

となると、「コードレビューを明確な基準の下で行え」という指摘は、私のやろうとしていることとまったく相容れないことだってことです。だって、明確に文書化できないものを伝えることが目的なんだもん。やっていることは「良いコードとは何か」ということを、「私の価値基準」で伝えていることだからです。そりゃどんなコードが良いコードかってことを文書で書くことはできる(出来るから、その文書を通じて私が学べたわけだし)けれども、やったところでそれはもうあるし。要するに「リーダブルコード」ぐらい読んでからプロを名乗れよってことなんですけどね。

例えば、ある条件A(cond_a)とB(cond_b)があって、その組み合わせによって違う処理をするというコードを、チームメンバーがこう書いてきたりするわけです。

if(cond_a) {
    if(cond_b) {
        // AかつBのときの処理
    }else{
        //AだけどBじゃないときの処理
    }
} else if(cond_b) {
    // AじゃないけどBのときの処理
} else {
    // AでもBでもないときの処理
}

コードを書き慣れている人なら、気持ち悪いですよね。

if(cond_a) {
    if(cond_b) {
        // AかつBのときの処理
    }else{
        //AだけどBじゃないときの処理
    }
} else {
     if(cond_b) {
         // AじゃないけどBのときの処理
    } else {
        // AでもBでもないときの処理
    }
}

こうなっていて欲しい。ただ、条件Aや条件Bの性質によっては上のコードが自然な場合もなくはない。たぶん。これを「同じ条件はおなじインデントの位置で調べろ」とかいうルールにすることはおそらく間違っていて、もっとメタな視点からの指摘じゃないとダメなわけです。しかしまあ、上みたいなコードを書いてくる人に読みやすいコードを書くように指導することは、正直、どうやったらいいのかわからないんですけどね。読みづらいって思ってないかもしれないし。となると、「良いコード」を浴びせまくるしかないのかなと思うわけで、レビューしかないぞと。

どうやって、プログラマのスキルやカルチャーを育成するかはホント難しい話なんですが、これがないとどうにもならんので、評価はされないけどこういう活動を続けていくしかないと信じてます。

でも、評価されてないと続けらんないんだけどね。うむー。

| | Comments (0) | TrackBack (0)
|

最近はいろいろと高い・・・という感覚

30歳手前ぐらいの若手から中堅に入りかけたぐらいの男の同僚と40もとうに過ぎた私で昼飯を食いに行って飯を食っている途中に「最近、いろいろと高いですよね、食い物とか」と言われまして。

物価の変動ってふと足を止めて考えてみないとよくわからないものだし、地方によっても差があります。しかし、およそ外食費を考えるとまったく高くなっている印象はありません。だいたい、ここ20年ぐらい、外でランチをとれば700円から1000円弱。確かに今の職場は高めについてると思いますが、東京日本橋界隈を標準と取って良いとも思えません。

安くですませようと思えばコンビニのお弁当やファーストフードもあります。コンビニ弁当なんてどんどん安くなって、どんどん美味しくなってるし、むかしはランチの後、喫茶店でコーヒーを飲んで300円とか400円とか払ってましたが、それより旨いコーヒーがコンビニで買えてしまう世の中です。

おそらく、ウチの会社の現地の本拠地がある場所だと、米国本社はもちろん、欧州のどの国でもたぶん外で1000円を下回る額でランチは取れないと思います。上海はご飯は安かったけど、猛烈にコーヒーが高かったしね。

という感覚なので、「えー?そうかなあ」というと、「絶対そうっすよ。マックとかめっちゃ高くなったじゃないですか。吉牛とかも」と。

いやいやいや、やっすいじゃん、マクドナルド。オレら子供のころは、お昼にマクドナルドで食べるって言ったら大喜びだったよ。ビックマック、普通に今より高かったし。吉野家も、「キン肉マン」見てどんな食い物なんだろうと夢膨らませてたころ、普通に400円ぐらいする食い物だったからなあ・・・。「いや、タンバさん、オレら学生の頃、ハンバーガーとか60円すよ。だから食ってたんすよ」

そうか、それがマクドナルドのイメージになっちゃってるのか・・・吉牛も300円以下のイメージがついちゃっているのね。価格を下げるって怖い。そして、やはり価格の基準の持ち方が年齢が10年違うと大きく違っていて、今の30歳ぐらいは日本の物価が最も下がりきった頃にお金を使い始めた世代なので、今のこの状態でも「物価は高くなって、生活は苦しくなった」と思ってしまうものなんですな。

同じように日本を生きてるつもりでも、意外と見えてる世界って違うもんなんですねぇ。

| | Comments (0) | TrackBack (0)
|

« January 2018 | Main | March 2018 »