だいごろうのブログ

熊本出身で大阪、東京、パリを転勤して、今は福岡でデータエンジニアです

パリで働いて感じたこと 第5話 レトロスペクティブ楽しい

どーも、だいごろうです。

今回、パリで感じたことというより、
会社でやってるスクラムのレトロスペクティブが面白いなと思ったので、
ブログに書いておきます。
スクラム?それってラグビーのことだろ??ってひとは、ごめんなさい。)
チームで振り返りをしてみたいって人にはおすすめ。ただし、コンテンツは英語。
日本語で雰囲気を知りたい人はご連絡下しあ。

さきに、このレトロスペクティブの流れのイメージを話すと

レトロスペクティブが始まると、
最初に、スプリントの全体を全員が1枚ずつ絵を書いて発表します。
次に、スプリントのイベントをTwitterのつぶやきの書き方で時系列に並べます。
それから、何をすれば次のスプリントが完璧になるかをボード上に貼っていきます。
そのボード上のモノを、実行しやすいかどうか、効果が高いかどうかの軸で並べ、
実行しやすく、効果が高いものを次のスプリントの目標に設定する!


という感じで、わいわい楽しみながら、みんなでスプリントを思い出し、
なにすれば良くなるかなーってのを話し合うイメージです。
しかも、毎回レトロスペクティブの中身が変わります!

じゃあ、具体的に説明していきます。

使ってるもの

Retromatというレトロスペクティブ用に作られたページ
Retromat - Inspiration & plans for (agile) retrospectives

このブログの著者が運営してるみたいです。
Finding-Marbles | Making sense of systems – Lean, Agile, Change & Communication

このページどうみるのか

このレトロスペクティブでは5つのステップに分かれています。

  1. SET THE STAGE ( 振り返る準備に入る
  2. GATHER DATA ( スプリントの出来事を集める
  3. GENERATE INSIGHTS ( 改善点、良かった点をあぶり出す
  4. DECIDE WHAT TO DO (何するか決める
  5. CLOSE THE RETROSPECTIVE ( 振り返りの締め

ページを見ていただくと、色によって、5ステップに分かれてるのがわかるかと思います。

そして、それぞれのステップに複数のコンテンツがあるので、
毎回それを変えながら、いつも違った形でレトロスペクティブを楽しむことができます。
しかも、それぞれのステップで10-20くらいのアクティビティがあり、
全部で105のアクティビティが有るみたいです (2015/07/24現在

3321204 combinations (20x23x19x19x20+4)って公式に書いてあるっすね。
最後の+4がよくわからんっすけどw

ちなみに、ページアクセスすると、自動でアクティビティを選んでくれます。
しかも、それぞれの組み合わせはURLとして、表現されているので、
URLのコピペでレトロスペクティブの項目を保存しておけます。(便利)

では、それぞれのステップがどんなことをするか例を上げて説明します

SET THE STAGE ( 振り返る準備に入る

Check In - Amazon Review (#18)

スプリントをアマゾンのレビューと同じように評価する

  • Title
  • Content
  • Star rating (5 stars is the best)

そして、前で発表する
http://plans-for-retrospectives.com/?id=18

GATHER DATA ( スプリントの出来事を集める

#tweetmysprint (#97)

ホワイトボードにスプリントの始まりから、終わりまで時間軸を書き、
その上に付箋で、twitterでつぶやくように出来事を書いていく。
もちろん、@や#タグなども使って良い。

@daigoro
ここでだいごろうのバグ発見があった。
おかげで、リリース前にフィックスできた。
#bugfix #goodjob

GENERATE INSIGHTS ( 改善点、良かった点をあぶり出す

Perfection Game (#20)

全員が2枚の付箋を持つ、
1枚には前回のスプリントを10点満点で評価する。
もう1枚には、どうすれば次のスプリントが10点満点になるか書く。
最後に、一人一人、前で発表しながらホワイトボードに貼る。
http://plans-for-retrospectives.com/?id=20

DECIDE WHAT TO DO (何するか決める

Divide the Dollar (#72)

前のステップで出た改善点をすべて、並べて
もし、自分が100ドル持ってたら、どれにどれだけ投資するかを書く。
全員が投資を書いた時点で、点数が高い順から次のアクションになる。
http://plans-for-retrospectives.com/?id=72

CLOSE THE RETROSPECTIVE ( 振り返りの締め

Motivational Poster (#92)

前のステップで決めたアクションをポスターにして自席の近くに貼っておく。
ポイントは、

  • イメージ画像が有ること、
  • チーム同意のアクションが書いてあること
  • 自分の行動イメージが書いてあること

http://plans-for-retrospectives.com/?id=92

ちなみに

僕らが会社でやってるのは、ここにあるアクティビティを噛み砕いて、やりやすいようにやってます。

どうでしょうイメージ湧きましたでしょうか?

複雑そうに見えますが、非常に簡単なので、
レトロスペクティブがマンネリ化してると思うならば、
一度やってみることをおすすめします。

ちなみに、こちら、プリントエディションもありますので、
もし、興味がある方がいらっしゃいましたら、購入してみるのもありです。
この地球上なら送料無料です。(僕も買って、日本に送ってもらってますw
ただ、今年の販売が7/26までなので、もし買いたい方がいたら、早めに。
Retromat - The Print Edition


本日は、いままでにないくらいちゃんとブログを書いた気がします。
フランスに来て、スクラムアジャイルを自由にやってる方々を見ると、
日本では形式から入る人が多いのでは?と感じます。
とりあえず、こういう面白そうなことだけから始めるのもいいかなーって感じました。

では!
f:id:daigorowhite:20150725065113j:plain

パリで働いて感じたこと 第4話 今しかできないというセリフを言うこと

パリでフランス人と話して考えたこと。
「なんでそんなに仕事してるの?」
「今、幸せなの?」
「なんで家族とか友達とかにもっと時間割かないの?」
っとか、けっこう聞かれます。
"once life. you should do you want to do" : 「人生一回だから、自分のやりたいことやれよ」
っとか、言われます。

それに対して、
「だって、プログラマとして頑張れるのは今しかできない。だから今、イロイロと挑戦してます」
って答えてたんだけど、なんかしっくりこない気がしたから、ちょっとだけ考えてみた。

なんで、今しかできないの??ってことを突き詰めて考えると

  • 体力がなくなる
  • 頭が回らなくなる
  • 技術を追いかけられなくなる
  • 他にエンジニアリング以外のことが見えてきて、そっちが楽しくなる。(かも)
  • 日本ではそういう働き方では稼げなくなる

っとかを、頭のなかにでてきて、
でも、結局はどれも本質ではないなと思った。
エンジニア35歳定年説とかも、ここらへんを見据えてのことじゃないかな。
まだ、35歳じゃないから、本当のことはわからないけど。

結局は自分が好きなうちはプログラマで楽しく出来るんじゃないかなって思った。
今も、好きだからこの仕事でプログラミングしてるんだろうな。
きっと、今しかできないってことはないんだと思う。


ただ、「今しかできない」って言う、緊迫感を持ってチャレンジしていったほうが、
自分のキャリアとか人生とか面白い方に転びそうだなって思ったから
これからも、俺は今しかできないってこれからも言い続けると思います。


今しかできない(気がする)からチャレンジしたいんです、もっと。

そんで、振り返った時に、けっこうむちゃしてきたなーw
って言いたい。

パリで働いて感じたこと 外伝第1話 Google IO と WWDCを見て思ったこと

こんばんわー!!(´・ω・`)
全然、パリ関係ないけどブログ更新します!書きなぐります。

本日は、2つのでかいイベントを見て感じたこと、思ったことを書いていきます。
みなさん知っての通り、今、スマートフォン/タブレットといえば、
- apple (wwdc)
- android (google io)
の2つが巨塔( ・∀・)ノ

その2つの企業の発表から何がどうなのかーってことを、ぼちぼち考えてみました。
聞いてる部分と、聞いてない部分があるし、いつもどおり、このブログは完全なる個人的見解。

逆に総まとめから、書きます。

まとめ

それぞれの企業

  • google
    • 今まで他になかった、新しいを生むことに尽力している。他企業の前を歩いてイノベーションしてる。
    • 重要視するのは、製品を生むことによるユーザエクスペリエンス。
    • 何のために、このプロダクトを作っているかをちゃんと持っている。目的がありそれを良くするためにイノベーションしている。例えば、ネット環境が疎い地域のために、オフライン検索やオフラインマップを整備して、ネット環境が不十分でも恩恵を受けれるようにする。など。
    • そのために、データをディープに機械学習して、データを使って、新しいプロダクトを作っている。
  • apple
    • 今回の発表はapple製品と他のソフトウェアとの差分を埋めること。
    • なにが○倍早くなります!新しいエンジン積みました!っていうのは、すごいことだが、なんだか、実感がわかない。
    • インパクトを持ってこようとしているのは、分かったが、近年、イノベーションに慣れたユーザには目新しい物は少なかった。
    • developerに視点をおいて、swiftとかappの新規APIの話などをしてる点は、良かったと思う。
    • でも、その点はもっと深堀りしてもよかったのでは?apple musicとかで、ムダな時間使わずに。
    • うーん。やっぱり、発表が開発した人とか思いがこもってる人ではなく、偉い人がやってるイメージしかなかった。いいもの作ってると思うのに、ほんとにもったいない。
    • ios上でのサーチにチカラを入れていることが非常に分かった。アプリにAPIを公開するなど。
    • iOSOSXも最新版を8割位のユーザが持ってることは、開発側にとってすごくいいなと思った。androidの最新版のユーザはかなり少ないし、ほとんどのユーザが最新版を持ってることは非常にアドバンテージだと思った。

総じて感じたことは

  • 今、両方で起きている2つの大きなテーマは、機械学習とユーザエクスペリエンス」だと思った。appleはユーザが聞いた音楽などの動向から、サジェストを作るという点にチカラを置いている。googleは、検索、メール、お気に入り、写真などのさまざまな情報から、ユーザに適切なコンテンツやサジェスト、執事機能を提供するという点にチカラを置いている。この点においては、どうしてもgoogleのほうが多くの情報量やサービスを持っていて、ほんとにユーザのエクスペリエンスにそってると思うので、今のところは軍配はgoogleにあがってる。機械学習した情報をユーザにフィードバックする仕組み自体が完成していってる気がする。google now, okay google, google photosなどはそのたぐいだと思う。
  • あと、ほそぼそと来てるのが、「スマート家電」かな。googleはbrilloとweaveを発表し、appleはhome kits を開発中。やっぱり、多くの家にスマートフォンがあるこの世の中では、家にある家電は、スマートフォンと連携することで進化を遂げるという見解は、両者おなじっぽい。ココについては、正直、おれ、すごく興味があるから、どっちもちゃんとこの分野を成長させていって、開発キットをOSSで出して欲しい。スマート家電開発したい。
  • 全体的に、この記事がapple微妙って言ってる気がするが、絶対、発表者の問題。googleのほうが、ストーリ仕立てとか非常に上手くて、惹きこまれたのが事実。発表終わった時に、新しいスマホとスマートウォッチが欲しくなったのは、google I/Oやな。
  • googleは、どんどん新しいものを作って、まだ見ぬユーザエクスペリエンスを狙ってる感じ。
  • appleは順当進化と、ほかが持つ便利さを取り入れてる感じ。

あとは、いろいろな視点から、殴り書き。

発表されたものについて

  • google
    • とりあえず、一番嬉しいのは、brilloとweaveかな。実際に、自分でスマート家電を作れそうってイメージができたのが、エンジニアとして気合が入る。
    • google photosはユーザとして、嬉しい。機械学習を取り入れて、写真のシチュエーション分析して、カテゴリ分けしてくれるのは、面白い。動物園カテゴリに、男の先輩のセクシーポーズがあったのが非常に良かった。
    • offline something.. ネット環境が整備されていない国にもネットの恩恵を与えるための、オフラインマップや、オフライン検索。情報量を少なくして、データ転送量を下げるなど。
  • apple
    • siri/検索自体の言語解釈はかなり進んでいてい、自然言語でイロイロと検索したり、操作したりが可能になってきている。
    • 多くの既存プロダクトの更新があった。map/memo/music/....などなど。でもどれも他サービスをおってるだけのイメージしか感じない。
    • apple musicは名前のインパクトからすると、もっとインパクトの有ることがあっても良かったのではないか?youtubeとやってることは同じ感じ。他サービスを追っているイメージ。
    • なにげに、itunesandroidででるってことに驚いた。
    • apple watchでできること増えてる。別に、watchで写真を閲覧できなくてもよくね?
    • swiftOSSは本当に嬉しい。Linuxで触りたい。ムダになんか作りたい。

発表スタイルについて

  • google
    • エンジニアが前に出て、発表してるイメージ。
    • みんな、プロダクトに対する夢、思いを語っている。
    • どんなユーザにどういうエクスペリエンス(経験)をさせるために産んだプロダクトなのかをしっかり説明している感じ。
    • 発表の練習やスタイルを徹底している。英語もゆっくり、クリアに重要なことだけをしっかり伝えている。
  • apple
    • 最初に登壇された方はユーザエクスペリエンスからプロダクトを語っていて、すごく引き込まれた。使用するイメージを植え付ける上手なプレゼンだったと思う。
    • 途中のwatchの発表の人などは、機能をただ説明しているだけ。大学生でもできるやろうって思った。上の役員が、特に分かってないけど発表しているイメージを受けた。
    • apple music 発表のやり方自体、退屈そのものだった。youtubeでできることを、時間をかけて説明している。驚きでもなんでもない。一緒に見ていたフランス人も日本人も飽き飽きして聞いてた。


久々に、長々と書きましたが。今回もまた、殴り書きでした。情報をまとめるの下手くそなんですよね。じゃあ、最後に、この前見た、考える人の写真とその名言でさようなら。

I think ... therefor I am.
f:id:daigorowhite:20150609061840j:plain

パリで働いて感じたこと 第3話 コードの成長と成り立ちの巻

へろう( ・∀・)ノ

1ヶ月と半をブログの更新をしてなかった。
それは、毎日をエンジョイしすぎてたからである。
「ブログを更新するのめんどくせーな」ではなく、
ブログを持ってることを軽く忘れてた(オイw

っとまぁ、そんなこと、前置きは置いといて。

今日は、

コードの成長と成り立ち

について、感じたことを書きなぐる。

コードを読んだ感じ

今、見ているソースコードはかなりレガシーですw
そして、感じることはソースコード全体が、
ちょっとずれたパズルで構成されているようになっていて、
そのピース一つ一つから、各人の個性が伺えます。
同じ人が作ったピースはぴったり合うのだけれど、
他の人が作ったピースとは、(書いた人の技量次第だが)なんか、ズレがある感じ。
部分的には、かなりテクニカルだけど、部分的にはドン臭い感じ。

なぜ、そーなったかを考察してみた

簡単に、思ったことを箇条書すると

  • フランスの開発者は1-2年くらいで転職しちゃう。
    • だから、あまり、コードの運用のことを重視しない
    • もちろん、そうでもない人もいる。(超重要な人
    • なので、運用しやすいより、動くことだけを大事にする人が多い。
  • 開発に、新しいテクニカルなことを導入したがる人が多い。
    • 既存のコードとの組み合わせは無理やり。動けばOK
    • 1,2年ペースで新しいことがどんどんコードに足される
  • リーダーがやめたら、外から保管することが多い
    • 気のせいかもしれない。
    • でも、リーダーが変われば、方針が変わる。
    • 1,2年ペースで変われば、そりゃコードも荒れる。
    • ノウハウの衰退化。

ッて感じなのかなっと。

6ヶ月しかいない自分にできること

ってなんだろうな。
短期的な解決策としては

  • "今"のメンバーの意識を、ちょっとだけでも変える。
  • レビューを導入する。レビューでなにをするか伝える。
  • そのための時間を確保する。
  • 不要なコードを消す。

長期的だとこんなんかな。

  • もっとマクロサービス的に考えて、ちぐはぐなのを容認する(できる)システムを構築する。
  • ほげほげ

くらいかなー。
あー、なんか真面目だな。
もっと、不真面目で面白いことできないかな。

結局思うことは、意外とこれでもサービスは回ってるし、どうにかなってんだよね。
これはこれで、ひとつの開発のあり方なのか?
でも、こういうのって、確実にサービス成長を鈍足化させてるから、
やっぱり問題だな(´・ω・`)

結果、0から全部作り直したいになるんだよな(悪い癖(((((((((((っ・ω・)っ

まとめ

フランスで食べるパスタはそんなに美味しくない。
つまり、ソースコードはスパゲッティってことだ。

どうでもいい、後付

なので、最後に、先日作った
ポルチーニドライトマトの和風パスタの写真を置いておきます。
ポルチーニドライトマトが安すぎて、なけます。日本で作ったら、材料費だけで死ねます。
別に、料理を自慢したわけじゃないんだから!!(/ω・\)チラッ
f:id:daigorowhite:20150524194559j:plain

パリで働いて感じたこと 第2話 前進アルノミの巻

ぼんじゅーる!
全然フランス語が身につかない男で定評のあるだいごろうです。
もはや、発音が違いすぎて土地の名前すら分かってもらえません。

さて、1ヶ月目にして2話目です。
亀よりも遅いと自負しています。

今回は、わりとお仕事についてです。
さて今日は、こっちのコミット意識について、お話していきたいと思います。
(プログラムのバージョン管理系の話になるので、何だそれってなる人は、このページをそっとじしてね(((((((((((っ・ω・)っ )

ちなみに、今からするお話は、
僕の現場のお話なので、フランスの開発がこうだとは限りません。

日本にいた時は、

共通で開発しているブランチで作業をしているとします。
じゃあ、開発するかってなったら、

  • そこからブランチを切ったりして、ローカル環境を構築して
  • 自分の作業が完了して、テストが通るようになって、
  • ある程度動くことを確認してから、コミット、(レビューしたり)
  • みんなの作業ブランチにマージ

ッて感じで、

全員の共通のブランチは、基本安定させる
な感じで、開発進めていきますよね?

今の現場だと

じゃあ、開発するかってなったら、

  • そこからブランチをクローンして、ローカル環境を構築して
  • 自分の作業が完了して
  • とりあえずコミット、マージ、プッシュ
  • jenkins先生が怒る
  • 「だれのコミットだー」って感じで犯人探し、
  • 「おれだー、治すわー」
  • なんとなく修正したら、コミット
  • 上記を0回以上繰り返す。

って、感じで、
前進あるのみ、バグったら修正したらいいじゃんッ。
て感じ。

なんか、こういう文化は、けっこう個人主義があるからのような気がしています。
さくさくと自分のタスクを終わらせて、次々に進めていきたいという、ベンチャー基質な感じがあるのかもしれません。

なので、所感的には

最新版にして、実行しよう!ってすると、けっこう起動すらしないことが多い。
スピードは大事だけど、さすがに、一度くらいは実行してみてほしいと思うっす。
まぁ、全員でひとつのブランチでわっしゃーって開発するから、
協力プレイで強大なボス倒してるみたいで意外と面白いんですがw

では、最後に

モンマルトルの丘から見る、パリの町並みで今回のブログは締めたいと思います。
さよなら、さよなら、さよなら
f:id:daigorowhite:20150404073030j:plain

パリで働いて感じたこと 第1話 異文化の巻

こんばんは!ぼんじゅーる!
今日からひと時の間、ブログはパリ編に入ります。
理由は単純、今、パリでプログラマとして働いてるからです。
そこで感じたこと、思ったことを徒然と書いていきます。

正直

英語で仕事をしたことないんですが、
職場は英語とフランス語を使っております。
毎日の脳の疲れが半端ないですw

最初の1週間

正直、最初の1週間は相手が英語で何を行ってるかさっぱりです。
うちのチーム5カ国くらいの人たちが集まってまして、
みんな少しずつ英語の発音が違うんですよね。
たとえば、

  • currently

は日本人の僕は、

  • カレントリィ

フランス人は

  • キュレントゥリィー

って、感じで、いろいろな単語がずれて攻め込んできます!w
ワット!!?? って感じですねw

それに、それぞれ、イロイロな文化が違うのでみんなとどうコミュニケーションを取ればいいのか、手探り状態で疲労困憊の1週目でした。

2週目は

人って、意外と慣れるもので、相手が英語で何と言ってるか発音がずれてもわかるようになってきますね。それでも、長文になるとわからないことは多いんですが。
でも、些細な聞き取りミスで失敗します。たとえば

  • won't (〜しないつもり)

  • want (〜したい)

に聞き間違えたりします。これも、慣れなのかなー。ちゃんと聞き分けられるようになりたい!

異文化だらけ

そんで、初めてこんなに多くの文化圏の人と関わるし、心配したり
気を使ってたりとか考えていたら、
フランス人のチームリーダーに
「そんなに気にすることはない、文化とか言語の違いを楽しめばいいんだよ」
と教えられました。
( ゚д゚)ハッ!ソウカ,ソウカンガエレバイイノカ っと。
しかしそこで、新しい疑問が。
「僕らの違いとはなんだろう」「そもそも自分の文化ってなんだろうと。」「日本の文化、習慣ってなんだろうと。」
あ、意外と、自分のことも、自分の国の文化のことも正しく理解してないなと。
今、僕は異国にいることで、自分と自分の国のことを再認識する機会になりそうな気がしてきた!

っというところで、本日のブログはおしまい。
また、暇な時にボケーッと更新していきます。
それでは、また!

TO BE CONTINUED

ガウディから約半年たった。

今日はエンジニア関係の話です。
1ヶ月ぶりのブログで、自分の3日坊主っぷりに安心してます。

さて

ガウディの思想というタイトルを付属して発表させていただいてから、
約半年がたちました。
現場のコード意識を変えるために導入したリーダブルコードとガウディの思想 - DevLove甲子園2014技 -

開発のチーム内で、「設計思想」を大事にすることを意識して仕事をしていて
なんか、うまく回ってるなって思ったことがあったので、ちょっと書きます。

トライしてたこと

  • まずは、設計前にどういう思想で設計するか話し合う。
  • 設計のときに、why -> how -> what の順番で考える。
  • ちゃんと、Whyの共通認識をチームで持つ。あと、コードに書く。

最近、うまく回ってきたなって実感したこと

自分がいない場所で、開発メンバーが実装について話しているときに
「思想的に、ここの設計はこういうじゃなくて」
みたいな会話が聞こえてきて、
「自分がいなくても大丈夫そうだな」って思いました。


この流れが続いてけば、最初の開発者がいなくても
このプロダクトがうまく開発されていくんだろうなぁ


そんだけ!お疲れました!