builderscon 2018に参加してきた

今年もbuildersconに参加してきました。

builderscon.io

参加したセッション内容のメモと簡単な所感、全体所感を書き残しておきます。資料が公開されているものはリンクを張っておきました。

※一部、私個人の解釈でメモしているものもあり、発表者の方の本来の意図とズレているものがあるかもしれませんがご了承下さい。

去年の感想。

braitom.hatenablog.com

braitom.hatenablog.com

全体所感

メモが長いので全体所感を先に。

今年も「知らなかった、を聞く」が実現されている素晴らしいカンファレンスでした。色んな文化の人が出会える素敵な場です。
本当に色んな内容の話がありどのコマもどれを聞こうかという悩みが発生します。ゲストスピーカーも豪華ですしまさにフェスだと思います。

ここのところ業務であまり技術的なことができていないということもあり、気分をリフレッシュさせる気持ちで今回は参加しました。今回参加したことで技術の楽しさを再認識できましたし、自分はやはり何かをエンジニアリングで解決することが好きなんだなーということも再認識できました。何かを作りたいという気持ちも高まりました。とてもよい機会をいただき感謝の気持ちでいっぱいです。

最後に、運営で気になる点があったので改善の余地がある点を書いておきます。

  • 去年に比べ記念ホール以外の各部屋が満席になるのが早かったように感じました。セッション終わってトイレへ行って次の部屋に行くとすでに立ち見であったり満席で入れないことが何度かありました。この辺りの調整は難しいとは思うのですがちょっと残念でした。もう一部屋くらい確保して溢れた人が休憩できる部屋とか用意できるとよいかもしれません。そこで新たな交流もうまれるでしょうし。
  • セッション内で質問した時に、初めの方から手を挙げてるのに後から手を挙げた人に先にマイクを渡してどんどんスルーされ、なかなか質問できないということがありました。手を誰が挙げてたなのかを覚えておくのはなかなか難しいとは思うので立ってもらっておくなどの工夫が必要だと思いました。
  • クロージング時のじゃんけん大会からベストスピーカー発表まで身内感がかなり出ていて参加者を置いていけぼりにしていたように感じました。その後、コミュニティのあり方についての素晴らしい話があったのに説得性が欠けるものになってしまっていました。ワイワイしている時は身内感が出てしまうのはしょうがないと思うので運営の一人一人が意識するしかないように思います。

色々書きましたがこれだけのカンファレンスを毎年続けているということは大変ありがたいですし、素晴らしいことだと思います。今後も楽しいカンファレンスを期待しています!
運営の皆様、発表者の皆様、参加者の皆様、楽しいカンファレンスをありがとうございました!

本編1日目

Electronによるアプリケーション開発事情2018

builderscon.io

資料 : builderscon2018.pdf - Speaker Deck

内容

  • MastdonクライアントをElectronで作った
  • リリースに関して
  • なぜMastodonアプリを作ったのか
    • デスクトップ向けのクライアントが少なかったから
  • Whalebirdのコンセプト
    • Slackに慣れてるのでそれっぽい感じに
  • Mediumに英語で記事書いたら海外から反応が
    • いいアプリだけどElectronだから減点、みたいな意見が
    • Electronが嫌いな理由
      • メモリ消費が多いという意見が多い
  • メモリ消費をなんとかしよう
    • 1GB以上メモリを消費することもあった
    • タイムラインの流速が早い方がメモリ消費が多いことが分かる
      • Streamingされたものをすべて表示していたのが原因
      • iOSのUITableViewは画面に表示されている部分しかレンダリングしていない、この方針を真似する
      • 古い部分を捨てていく方針に
    • Vue.js部分のパフォーマンスも意識
      • v-ifとv-showを意識
      • v-ifの切り替え時のレンダリングコストはバカにならない
    • Electronのバージョンを上げるだけでメモリ消費量が少なくなることも
  • megalodonというmastdon APIクライアントライブラリも作った
    • TypeScriptで実装
    • TypeScript最高
    • ElectronアプリもTypescriptで書けば良かった...
  • Electronのセルフアップデート機能使うとAppleの審査に弾かれるので使っていない

所感

個人でプロダクトを作ってそこから普段の仕事では使っていないいろいろな技術を学んでいく姿勢が素晴らしいと思いました。英語で記事を書いて海外ユーザーを引き込むスタンスも素晴らしいです。あと、vue-cliでVueを使うElectronアプリの雛形を作れることは知りませんでした。

electron-builderが相当便利なことが分かったので、Electron使う機会があったら使っていきたいです。

パスワードレスなユーザー認証時代を迎えるためにサービス開発者がしなければならないこと

builderscon.io

資料 : ritou_user_authn_builderscon_tokyo_2018 - Speaker Deck

内容

  • パスワード認証
    • 特定デバイス不要の最強の認証方式、のはずだった
    • 現実には使い回し、サービス側の運用方針にユーザーが振り回されるという現実
    • やめるべき理由
      • ユーザーへの負担(ユーザーのスペック不足www)、サービス側のリスク/コスト
  • 現状
    • よくある実装
      • パスワード、多要素認証、リカバリー、リカバリーコード
        • いざ実装しようとすると複雑になりがち
      • ソーシャルログイン
        • パスワード認証とセットで使われることが多い
          • IdP上のアカウントに問題が発生した時への準備
  • 最新動向
    • FIDO2.0
      • UAF + U2F
      • FIDO1.0までバラバラの仕様だった
    • Web Authn API
      • FIDO2.0のWeb API仕様
      • ここで試せる → WebAuthn demo
      • 定着するまでに必要なこと
        • ブラウザの対応、Authenticatorの普及、ユーザーへの啓蒙
  • 課題と対策
    • どのようにしてパスワードレスを実現できるか
      • 新規サービス
        • パスワード認証を使わない
      • 既存サービス
        • パスワード認証を使うのをやめる
          • 新たな認証方式の提供、新たな認証方式への移行、パスワード認証の撤廃
    • 課題
      • どの認証方式を使うか
      • UXが変化する
        • 登録フローが変化する、ログインフローが変化する
      • パスワード確認相当の処理をどうするか
        • どの認証方式で代替するかの決めが必要
  • まとめ
    • パスワード認証を安全に運用するのは困難
    • WebAuthnによる新しい認証方式はすぐそこまで来ている
  • #idcon - Identity Conferenceというコミュニティがあるので興味がある人はぜひ

所感

パスワードレスな認証の現状や関連技術のさわりについて丁寧に説明されていました。話を聞いているとパスワード認証をなくすのは技術的な話よりも人々のマインドを変えることの方が難しそうだなと思いました。
また、UXが変化するというのはあまり意識したことなかったですが確かにそのとおりですよね。

Authenticatorは果たしてあとどれくらいで普及してくるのだろうか?エンジニアが多い身の回りでもyubikey使っている人少ないのでまだ相当かかるだろうなあ。

Webサービスにて200週連続で新機能をリリースする舞台裏

builderscon.io

資料 : Webサービスにて200週連続で新機能をリリースする舞台裏 / builderscon tokyo 2018 - Speaker Deck

内容

  • Mackerelを200週連続でリリースしてきた話
  • 連続リリースの定義
    • ユーザーにとって価値のある機能をリリースする
    • バグフィックスやメンテナンスリリースは含めない
  • 何のためにやっているのか?
    • 機能開発のスピード感が価値のひとつであり優位性だった
    • 最初は連続リリースを意識していなかった、気づいたら50週いってた
    • 毎週連続リリースをアピールしたら顧客獲得の大きな武器となった
  • どうやって維持したか
    • 定期リリースは週2回(火・木)、祝日の場合は調整
    • 週次当番(ローテーション)
      • リリース担当、サポート担当、OSS係、控え
    • リリース全体の所要時間は1〜2時間ほど
    • 2週間スプリントで開発している
      • そのスプリントの中に火・木のリリースも含めている
      • 長期タスクと短期タスクにタスクを分類して管理
      • バックログに対してエンジニアの100%稼働を求めない
        • 20~30%は余力が残るように計画する
      • マイクロマネジメントをしない
  • 続けるコツ
    • 毎週告知をチームの最重要コミットメントと位置づけ、チーム全員がそれを目指す
  • 毎週リリースをやめた理由
    • 主な機能が出そろった
    • スピード感より腰を据えた機能開発の方が顧客にとって大きな価値となるフェーズになったと判断。スタートアップ機の終了
  • 毎週リリースを終えてみて
    • 足回りの改善がやりやすくなった
      • Playframweork、Scala、sbtのバージョンが一気に新しくなった

所感

バグフィックスやメンテナンスリリースは含めずに、ユーザーに価値のある機能だけをこれだけの期間毎週リリースしてきたのは本当にすごいと思います。チーム作りもいろいろと試行錯誤があったかと思いますが工夫したんだろうなあと。
バックログに対してエンジニアの100%稼働を求めないで20~30%は余力が残るように計画するというのは本当に大事だと思います。(そうしようと思いつつなかなかできないのですが...)

あと、プレゼン資料の構成がとてもうまいと思いました。

イノベーションを止めずに、端末管理と運用を行う方法

builderscon.io

資料 : イノベーションを止めずに、端末管理と運用を行う方法 - Speaker Deck

内容

  • なぜ端末管理するのか?
    • ライセンス管理
    • 稼働状況の確認、棚卸しなどコスト削減につなげるため
    • 情報セキュリティ対策
    • 不正利用対策
  • 端末管理するからには目的を明確にする必要がある
  • 念頭に置くこと
    • 目的を見失わない
    • 性善説はなりたたない
  • 管理方針
    • 懸念における対応が未定義ならきつめに設定
    • 端末はなくしてしまう前提で設計
  • macOSの管理
  • Windowsの管理
    • Azure ADとIntune
    • Winlogbeatとosqueryで監査ログ取得してElasticSearchに入れる
  • iOSの管理
  • Androidの管理
    • managed Googly Play
  • ビジネス部門と管理部門のバランスが大事
    • 要望をちゃんと受けていくスタイル、代替案を提示していくスタイル
      • 一方的に締め作るのはダメ
    • お互い歩み寄っていく姿勢が大事

所感

知見が共有されることが少ないデバイス管理系の話ということでとても参考になりました。端末管理をするにしても目的が大事で、何のためにその設定をするのかを忘れないようにすることがとても大切ということが伝わってきました。人はミスを犯すという前提で設計しないといけないこともなるほどなあと思いました。

Macの管理はとてもツラそう...でも色々なサービスやOSSを組み合わせて仕組みを作る感じはエンジニアリング感があってちょっと楽しそうかも。

また、気になったので以下の質問をしてみました。

  • Q: 今後人数が増えていってもこの方法で運用が回るか?ライセンス費などもかさんでくると思うがペイできるか?
  • A: できると思う。なるべく工数をかけない方向で努力している。人数増えてきたら外部の会社にお願いすることも検討すると思う。本当に必要なのはみんなの要望に対応するための時間を確保しておくこと

この質問をした意図としては人数が増えると運用負荷とライセンス費用がどかっと上がると思っているからです。また、ビジネス部門と管理部門のバランスの話をされていたのですが、人数が増えると色々な考えを持った人がどんどん増えていくということなのでこのバランスを保つためのコストもどんどん高くなってきます。そんな中でこの仕組みを続けていけるのだろうか?と疑問に思った次第です。

lld − 開発ツールの主要コンポーネントの1つをスクラッチから作成した話

builderscon.io

内容

  • lldの紹介
    • LLVMのサブプロジェクト
    • とにかく高速
    • 採用事例
  • リンカとは
    • オブジェクトファイルを1つの実行ファイルやDSO(DLL)にまとめるプログラム
  • 開発のきっかけ
    • 会社で「コンパイラとリンカを作らないといけないけどどちらがいい?」→ Windowsのリンカを作ることになった
  • どうやったか
    • 何かが間違っていても全くヒントがない
    • バイナリをプリントアウトして考える、バイナリを理解できるよう。とりあえずOSにロードされるように頑張った
    • Hello Worldがリンクできるようになるまで数ヶ月、大きなプログラムがリンクできるまで1年くらいかかった
  • リデザインのポイント
    • 難しくし過ぎない
    • 不自然な最適化はしない。自然と性能が出るように書く
    • データ構造こそが重要
  • 速くてシンプルなコードを書くために
    • 良いデータ構造にするのが重要、データが先、コードは後
    • 2回書く。1度目の経験を2度目に生かす
    • 最適化する箇所を最小にとどめる
  • 終わりに
    • 問題についてよく考えて自分がよいと思うやり方を勇気を持って試してみる
    • 存在しない問題を作りだしてそれを解決しようとするのではなく、元々の問題を直接解決できないのかよく考える
    • カーゴ・カルト・プログラミングしない
    • 理不尽なものは受け付けない

所感

まさに自分にとって「知らなかった、を聞く」セッションでした。
リンカを使うことはあってもそれを実際に作ることなんて考えたこともなかったのでどういう考えでつくるのか、どういう苦労があるのかが分かりこういう世界があるのかーと思いました。プログラマとしての生き方、考え方をあらためて考えさせられました。

あと、なんというか考え方とかすごいなーと聞いていて終始思っていました。

このtweetがまさにこのセッションのすごさを表しているなーと。

本編2日目

「Web とは何か?」 - あるいは「Web を Web たらしめるものは何か?」 - Idea of Web

builderscon.io

内容

  • Webは進化しているが本当に正しい方向に進化しているのか?それを誰がバリデーションできるのか?
  • Webに関わる視点
    • Webを使う人たち、Webで作る人たち、Webを作る人たち
  • 最初はティムバーナーズリーが論文を共有したいということから始まった
    • HTML,HTTP,URL
  • WebのApp化
    • Cookie,Form,JS,iframe など
  • Ajaxの登場
    • 単に表示するだけの時代にはなかった問題に直面することに
      • サーバはそんなリクエストがくるとは思っていない
      • Cookieや認証で守られたリソースG奪われる など
  • Originの登場
    • Same Origin Policy
      • Webのセキュリティモデルを整備
    • Cross Origin
      • Originを正しく超える手順の定義
      • CORSがやぶられることの重大性
      • Cookieがやばい → Originの上で焼き直し中
    • OriginのあたりからWebを支える技術に書かれている内容を超え始める
      • Originの登場でHyper Media PlatformからApplication Platformに
  • HTML5の登場
    • アプリケーションを作るには貧弱すぎた
      • データ保存できない、動画も音声も再生できない、線すら引けない etc
    • Webは文章を共有するものではなくなった
      • それはWebに本当に必要か?
        • Contents Use Caseで議論すると失敗する
          • 自分にとって必要/不要みたいな議論になる
        • Functional Use Caseでの議論に移りつつある
          • 互換性とセキュリティモデルが議論できるか
    • Extensible Webの話に
  • アプリケーションプラットフォームの限界
    • 他のプラットフォームと比較される、今はモバイル
    • 低レベルAPIへ(Device Access
  • WebのOS化
    • ここもFunctional Use Caseで議論
    • OSのセキュリティモデルがWebにはない
      • 安全なデバイスアクセスを実現するセキュリティモデルが必要
    • Permissionの導入
  • Hyper Media System → Application Platform → Operating System と変化
  • Webは時代の要求に応じて変化する
  • WebがWebとして壊れないために必要なモノを模索
  • 今はWebにとって重要な過渡期

所感

WebのはじまりからAjaxHTML5、Deviceアクセス系のAPIがどういう経緯で登場してきたのかがセキュリティモデルの考えを絡めて丁寧に説明されていてとても勉強になりました。 「Hyper Media System → Application Platform → Operating System」という流れで進化してきており、これによりWebを支える技術で書かれている以上のことが必要な時代になってきていることがよく理解できました。個人的にはベストセッションでした。

「WebがOSに近づくという流れはOSがWebでいいじゃんって話とも言える。GoogleChrome OSやってるのはその流れ」というのもなるほどなーと思いました。それを聞いてあらためて考えるとやっぱGoogleってすごいなという気持ちになってきました。ブラウザもOSも持っているわけで。WebとモバイルアプリとOSの境目をユーザーが分からないような世界を作れるのはやっぱGoogleなんだろうなーと。

証券トレーディング業務におけるExcel依存を脱却するプロジェクトで直面した技術的選択とプロジェクト運営の失敗

builderscon.io

資料 : 公開なし

内容

  • Excelはツラい、脱却しようとしてもツラかった
  • 証券トレーディング業務とExcelの関係
    • 取引の大部分は伝統的なものが多く、Excel依存のものが多い
    • 店頭取引の取引入力前にExcelを多用
      • VBA
        • メンテが大変、人の入れ替えが多い
      • トレーダー同士は同じ社内でもライバル
      • 属人化しやすい、各々の秘伝のVBA
  • Excel脱却プロジェクト
    • Webアプリ作れ、4ヶ月以内に作れ
    • もちろん激しく失敗
    • ExcelっぽいWebアプリ作った
      • Excelとショートカットが違う、Excelにあった機能が使えないなどの声が...
    • 営業が3人クビに、自分の作ったシステムで他人が死ぬ...
    • どうすればよかったか?
      • 既存のExcel資産を活用して、手作業のマージ作業を軽減するだけでよかった?
      • Excelの良いところをもっと考えるべきだった
  • プロジェクトアンチパターン
    • 上から降ってくる技術的選択、大きめの選択
    • 政治力の及ばない相手との共同作業
    • 短すぎる納期
    • 既存ワークフローのいいところを無視
    • 後から明らかになる要求に対応できない体制

所感

これは確かに資料公開もビデオ撮影もできないよな、というとても香ばしい内容でした。こんなにツラい案件をやっている人もいるんだと元気をもらいました。

やはり、こういった失敗プロジェクトの事例の共有はありがたいですね。とても参考になりますし、色々と考えさせられます。政治的な話はどうにもならないと逃げずにできる限りのことはやって、大爆死せずにいかに怪我を少なくできるかを考えていくのが大事だと思っています。

また、プロジェクトの進め方をもうちょい工夫すれば大爆死は避けられたのではないかと思いました。

なぜエンジニアはパフォーマンス計測しないのか

builderscon.io

資料 : why_dont_you_measure_your_performance - Speaker Deck

内容

  • これと結構かぶっているとのこと
  • ガジェットを駆使して自分を測る
  • 結果を言うと体重減ったり、体脂肪減ったりで効果が出たことは出た
    • プライベートでコードを書くようになったのも1つの成果
  • 7年のログからみる自分の傾向
    • 仕事が忙しくなると太る
    • プライベートが不安定になると太る
  • やる気がでないという問題も科学的アプローチで解決できるのでは?
  • ありとあらゆるものを測定することに
  • 取ったデータを全てFirebaseに集約していく
    • グラフを色々表示するUIも作成
  • 睡眠時間と集中度の関係見たが相関あるのかないのかよく分からなかった...
  • 人体ABテスト
    • 朝ごはん食べる/食べない、カフェイン制限、朝運動してみる、満員電車に乗る、断酒
    • どれもあまり数字に出なかった...
  • 改善策
    • 睡眠
    • 食事
      • 16時間断食
      • 栄養を考える
      • お勧めの間食
        • 欲しいも、ナッツ、ブルーベリーなど
    • 運動
    • 開発環境
      • 立って開発
      • Ergodox導入
      • 机の下にステッパー導入。歩きながらコードを書く
  • そんなに計測する必要あるの?
    • ぶっちゃけ指標に関する数値は1つでよいと思う
    • 自分の体のことは自分から学ぶしかない
    • 自分の人生を自分で決める
    • やる気を出すのではなくやる気が出る状態を作る

所感

これはネタ枠だから!、本当に立ち見してまで聞くこと?と心配そうな感じでしたがきちんと自分の問題を解決するためにエンジニアリングしていて素晴らしい発表だったと思います。
私もいろんなガジェットを買ってデータだけは集めているのですがほとんど分析できていないので見習おうと思いました。

これだけデータが貯まっているのでデータ分析系の話と組み合わせた何かをすると、昨今の機械学習ブームもあるのでもっと色々な人にアプローチできるかも。

業務時間で書いたパッチは誰のもの? OSS 活動にまつわる罠

builderscon.io

内容

所感

こういうポリシーを策定できるのはさすがサイボウズさんだなと思いました。 OSSに関する方針を会社としてしっかりと考えてポリシー作っているということは以下のような利点があると思います。

  • 働いているエンジニアからしたら自分たちのことをきちんと理解してくれていてありがたいと
  • 外から見たらエンジニアの取り組みを支援している素晴らしい会社、かつライセンス周りについてもきちんと理解している会社であると感じる

利点しかないですよねほんと。このポリシーを決めるにあたってきっと内部的にはいろいろと揉めたこととは思いますが、却下とならずにきちんとこうやって成果として出てくるのはさすがだなと思います。

これをきっかけに日本の企業も自社のOSSポリシーを持つのが当たり前になるとよいですね。セッション聞いた後、以下のようなことをモヤモヤと考えていました。

なぜ私はキーボードを作るのか

builderscon.io

資料 : なぜ私はキーボードを作るのか_builderscon2018 - Speaker Deck

内容

  • キーボードを作るまで
    • 肩こりがひどい
    • Helixが社内で流行っていた
    • HHKB2台使いに
      • メリット: 何も自作しなくて良い
      • デメリット: でかい、キー設定いじらないと無力
    • キーキャップ選べるの楽しそう
  • 自作キーボードについて
    • 2種類ある
      • 誰かが販売するPCBを用いて組み立てるもの
        • ErgoDoxとかHelixはこっち
      • PCBから自作するもの
    • PCBとは
      • プリント回路基板
  • パーツ選定について
    • キースイッチ
      • 高さを選ぶ、軸を選ぶ
      • 自作だと小指だけ赤軸、他は茶軸などできる
    • キーキャップ
    • ケース
      • キットに付属しているものが多い
      • 3Dプリンタなどで自作して自分で作るパターンも
  • 自作キーボードやらかし集
    • 失敗はつきもの
    • 失敗をおそれず色んなキーボードを自作してほしい
  • 一歩先へ
    • フットペダルつけてキースイッチを割り当てる
  • なぜキーボードを自作するのか?
    • 自分に道具を合わせるという考え方
      • 既製品は自分を道具に合わせることになる

所感

自作キーボード愛を感じるセッションでした。自作キーボードは一度やってみたかったので色々と参考になりました。 特に失敗事例の紹介はとても参考になると同時に、ハンダ付けのワザがやっぱ要求されるのかーとやはりちょっと尻込んでしまう自分が...

Helix買ってみようかなー。

LT

キーボードをカスタムしてプログラミング環境を良くした話

資料 : キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords - Speaker Deck

スーパーファミコン開発ことはじめ

  • なんかゲーム作りたい
  • 25年以上前のもだし今ならなんとかなるでしょ → ならなかった
  • いろいろ頑張ったけどツラい
  • コンパイラか言語を自分で作るしかない!
  • To Be Continue

Micorservices-friendly data pipeline

  • マイクロサービス化が進むとデータが多くなってくる
  • 中間層にデータパイプライン作ろうと試みている
  • バッチとストリームのパスを用意
  • まだプロトレベルでいろいろ考えているところ
  • 中間層がモノリスになってしまうのでは?という不安も

WebReplayから見るWeb開発の未来

WebReplayから見るWeb開発の未来 #builderscon - Speaker Deck

  • いわゆるTimeTravelDebugging(TTD)
  • 最近Firefoxのnightlyに入った
  • クライアントサイドのバグ再現のためにある
  • 現状まだ使うには厳しい...
  • Web開発の未来がある機能な気がする!戻りたかったあの頃に戻れる!

チームでテストを書くために

資料 : チームでテストを書くために / To write test code with team members - Speaker Deck

  • テストがない状態からテストを導入した話
  • まずは経験を積んでもらった
    • 先導する
    • 敷居を下げる
    • 効果を実感する
  • 現在ではチーム全員がテストを書くように
  • 知識と経験を付けるの大事

capanfileがRubyパースできることに気づいた俺たちは

  • cpanfileをRubyでパースした
  • なんでPerlじゃないの?
    • ダメなわけない

こんな現場でやってられるか

  • PMを知ること大事
  • 手始めにPMBOK読むのお勧め
  • 銀の弾丸はない、しかしベストプラクティスはある

5分でフォトブース

  • 会場にあった写真撮って加工してインスタに自動でアップするやつの話
  • 材料はIntel NCUとRealSenseとLCD
  • Vimチョットできる
    • あのkaoriyaさんだった...

Development Tools for Next Generation

資料 : Development Tools for Next Generation - Speaker Deck

  • ChromeBookで使えるエディタがない
  • ないから自分で作ってる
  • Next Editor
    • Editor with Git
  • 目標
    • Git for Everyone

アップデートばかりしている言い訳をさせてくれ

  • Swiftの歴史
    • バージョンアップのされ方
    • Appleは破壊的変更してくる
  • OSS化によりマシになってきている?

登壇やLTを始めてみたい」方の背中を押してみたい

資料: 「登壇やLTを始めてみたい」方の 背中を押してみたい - Speaker Deck

  • 自分も社内外の人から背中を押してもらってきた
  • 背中を押して上げる
  • アウトプットで学べることを教えてあげる

iOSDC Japanを本物のインターネットを提供した話

  • 会場からdwangoのデータセンタへ雑に繋いだ
  • 設計をどうするか?構築をどうするか?機材をどうするか?
  • 牧さんの会社endeworksでネットワーク機器レンタルしている!

Node.jsでCloudFormationのテンプレートを分割して管理する

資料 : Node.jsCloudFormation_のテンプレートを分割して管理する.pdf - Speaker Deck

  • CloudFormationはテンプレートが大きくなりやすい
  • 分割して管理したい
    • S3にテンプレートを置く方法があるがめんどう
  • 作った
  • 見通しが良くなってめんどくささがなくなった
  • honoka-api-base

ネットワーク障害を支配したい話

資料 : ネットワーク障害を支配したい話

HBFavが使えなくなったので代替策を考える

はてなより、お気に入りフィードRSSの継続および仕様変更についてというアナウンスがありました。

bookmark.hatenastaff.com

これによりHBFavというお気に入りユーザーのブクマを閲覧するのに便利なアプリが動かなくなってしまいました。

hbfav.bloghackers.net

今回の仕様変更にともない提供終了のアナウンスも出されています。

HBFav の提供終了について · Issue #160 · naoya/HBFav2 · GitHub

しかし、諦めるのはまだ早いです。
お気に入りフィードの仕様変更があっただけで廃止になったわけではありません。
いくつかのパラメーターは使えなくなりましたが、一覧をフィードで取得することは可能です。それをとりあえずRSSリーダーに突っ込んでおけばなんとかなりそうです。
はてなさん、フィードを継続してくれて本当にありがとうございます。

というわけでその方法です。といっても以下の仕様のページに全て書いてあります。

はてなブックマークお気に入りフィード仕様 - Hatena Developer Center

link[rel=altenate] にURLがあるのでそれを取得すればOKです。

以下、簡単な解説。

1.お気に入りフィードのページに行きソースコードを表示します。

2.該当箇所を探します。altenateでページ内検索すれば1発です。
こんな感じのものが見つかるはず。

<link rel="alternate" type="application/rss+xml" href="/braitom/favorite.rss?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />

3.私の場合だと以下がフィードのURLになります。

http://b.hatena.ne.jp//braitom/favorite.rss?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

あとはこのURLをRSSリーダーに登録しておけばとりあえず確認することができます。
ひとまずお気に入りフィードを確認するだけの用途ならこれで個人的には事足りる状態になりました。

GitHub PagesのJekyllでError: jekyll-remote-theme が発生した

GitHub PagesのJekyllで公開しているサイトがあるのですがbundle updateしたら若干はまったのでメモ。

Summary

  • GitHub PagesのJekyllを使っているプロジェクトでbundle updateしたらローカル環境で実行時にエラーが発生した
    • 発生したエラーはError: jekyll-remote-theme
    • 環境はUbuntu 16.04.3 LTS、Ruby 2.4.3
  • ibcurl4-openssl-devUbuntuにインストールすることで解消した

ことの始まり

先日こんなメールがGitHubから届きました。

f:id:braitom:20180118164740p:plain

「これが噂のDependency graphの機能で脆弱性のあるライブラリを通知してくれているのかー最高に便利だな」と思いました。

ということでアップデートを開始。

環境

今回問題が発生した環境は以下です。

やったこと

Gemfileの確認

GitHub Pagesのgemはこんな感じになっていると思います。

source "https://rubygems.org"

gem 'github-pages', group: :jekyll_plugins

bundle updateの実施

アップデートします。

$ > bundle update

何のエラーもなくアップデートできました。Gemfile.lock もきちんと更新され、中を見ると問題のnokogiri もアップデートされていることを確認しました。

動作確認、エラー発生

ローカルで動作確認をします。

$ > bundle exec jekyll serve
Configuration file: /mnt/c/Users/xxx/xxx/_config.yml
  Dependency Error: Yikes! It looks like you don't have jekyll-remote-theme or one of its dependencies installed. In order
to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'Could not open library 'libcurl': libcurl: cannot open shared object file: No such file or directory. Could not open library 'libcurl.so': libcurl.so: cannot open shared object file: No such file or directory. Could not open library 'libcurl.so.4': libcurl.so.4: cannot open shared object file: No such file or directory' If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/!
jekyll 3.6.2 | Error:  jekyll-remote-theme

おや、なんかエラーが出てる。Error: jekyll-remote-theme ってやつですね。

対応策

調べたところjekyllのリポジトリにそれっぽいIssueが上がっているのを見つけました。

Dependency Error: jekyll-remote-theme is not installed · Issue #6660 · jekyll/jekyll

まさにこれですね。

いろいろ書かれていますが、私の環境では下の方にあるようにibcurl4-openssl-devを入れることで解決しました。

$ > sudo apt install libcurl4-openssl-dev

これでもう一度、bundle exec jekyll serve を実行したところエラーが解消されました。

さいごに

あとはPushすれば無事にGitHubが出しているセキュリティアラートも消えていると思います。
しかし、Dependency graph便利ですね。もっと色んな言語に対応してくれるとありがたいものです。

Regional Scrum Gathering Tokyo 2018参加レポート #RSGT2018

Regional Scrum Gathering Tokyo 2018に参加してきました。

2018.scrumgatheringtokyo.org

参加したセッションで印象に残ったことと簡単な所感を書き残しておきます。資料が公開されているものはリンクを張っておきました。

※一部、私個人の解釈でメモしているものもあり、発表者の方の本来の意図とズレているものがあるかもしれませんがご了承下さい。

Day1

Build a Workplace People Love – Just add Joy

資料 : Richard Sheridan - Build a Workplace People Love – Just add Joy // Speaker Deck

印象に残ったこと

  • エンジニアの喜びとは「自分の作ったものが、世に出て、誰かに使われること」
    • 混沌→PMO導入→官僚主義に→シャドーITが始まる→Agileだ!→でも何もスタートできない...
    • ソフトウエア開発における喜びがなくなっていく
      • Joy Incに書かれてる仕組み作りをはじめることに
  • 喜びとは何か?どうなると喜びが悲しみなるのか?
  • 柔軟なオフィスレイアウト
    • 上司の許可はいらない。好き勝手移動できる
  • 騒音も受け入れる
  • 赤ちゃんを連れてきてもOK。もともとガヤガヤしているのでたいした問題ではない
    • 赤ちゃんのおかげで顧客がやさしくなるという効果も
  • チケットは手書き
    • 手で書くとコピーペーストしないから自分の言葉で書くし絶対読む
  • 学習とは
    • 本を読むことではない
    • 人から学ぶ、一緒に作業しながら学ぶ
  • コミュニケーション
    • Slackなどのチャットツールは使わない
    • 声が一番、直接会話
    • 全社ミーティングはHey Menlow!Hey Rich!のかけ声でさっと実施
  • 恐怖と戦い、変化を受け入れるために実験してみよう
    • それはうちではうまくいかないといった反応には「実験しましょう」と促す
  • 「今日話したことは簡単にできるものではない、しかし必要なことである」

所感

Joy, Inc.の原作者リチャードさんの生講演ということでとても楽しかったです。この本3回くらい読んだので。
内容的には本に書かれていることが多かったのですが本人の口から聞くとまたあらためていろいろと考えさせられました。

仕事する上で「喜びとは何か?どうなると喜びが悲しみなるのか?」については、やはりきちんと定義できていないといけないなと思いました。インセプションデッキで近いことができそうですがあえて「喜び、悲しみ」みたいな項目を入れてもよいかもと思いました。

文化を形成するのにオフィスレイアウトってやっぱ重要だよなとあらためて思いました。柔軟なオフィスレイアウトができるからこそチャットツールを使わないで直接会話が成り立つし、全社ミーティングも成り立つんだろうなあと。

変化を嫌う人、それはうちではうまくいくはずがないという人には「実験しましょう!」と伝え続け、何かを変えていけたらと思いました。

心が折れてもソシキ・カイゼンを続けられるたった一滴の魔法

資料 : 心が折れてもソシキカイゼンを続けられるたった一滴の魔法 // Speaker Deck

印象に残ったこと

  • やってきたこと
    • アジャイルワーク(社内へのアジャイルの浸透)
      • 組織改善、組織変革に有効なのでは?
      • 見える化が大事
      • 総務部でもアジャイル
      • 手法を採用するというよりも、考え方やプラクティスを取り入れていってる
    • 越境ワーク(社内見学ツアー)
      • メンローがやってるやつ
      • 半年先くらいまで予約で埋まっている
  • 価値観
    • 知的好奇心、学び=良いこと
    • 少年サッカーのコーチ経験
      • 「大きい相手でも怖くないよ、そこを気にしたところで何も変わらないから 大変だけどね」 by 小学6年生のキャプテン
    • オーストラリアでの留学経験
  • 続けられるわけ
    • 社内の仲間
      • QCサークル(公式組織)とコミュニティオブプラクティス(非公式コミュニティ)
      • カイゼンの取り組みを少し賞与へ反映させる仕組み
    • コミュニティの仲間
  • 越境なのでボーダーがない
  • ギャザリングの場
  • 人を喜ばせるために、笑顔にさせるためにわれわれの仕事があるのではないか?
  • 見返りを求めずGive&Giveしている人はいるんじゃないかな?好きな人を増やそう
  • 何ごとも自分の選択
    • 義務でも犠牲でもない
  • 子供の「いいこと考えた。聞きたい?どーしよっかなー」ということを大人になってもやっていいんじゃないの?

所感

私は普通の人ですってことを強調されていましたが相当すごい方だと思います。ここまでめげずに成し遂げられるのは普通の人ではできませんよ。本当に。
心が折れそうなときにこの資料を読み直したいと思います。しかし、仲間を作っていくことってほんと大事ですよね。
本買います。

www.shoeisha.co.jp

サーバント・リーダーシップを掘り下げて考えましょう

資料 : サーバント・リーダーシップを掘り下げて考えましょう

印象に残ったこと

  • なぜ必要か?
    • セルフマネジメントチームを可能にする
    • 日本企業への解毒剤となる
      • 縦社会、お偉い様への過剰反応など
  • 世界を変えたいのであればまずは自分自身が変わることからはじめなさい by ガンジー
  • スクラムマスターとサーバントリーダーシップ
    • スクラムマスターという役割には権力、肩書きのパワーが付いていない
    • チームのパフォーマンスをあげてプロダクトを出すために何でもする
  • サーバントリーダーシップは究極のソフトスキル
    • スクラムマスターだけでなくメンバー全員にとって役に立つ
  • 単に命令するだけなら誰でもできる、説得してやってもらうにはスキルが必要
  • チームメンバーから自分の役割に対してフィードバックをもらう

所感

サーバントリーダーシップの話は至るところで出てくるのですが毎回もやもやします。というか、その時々の状況によって常にリーダーシップのあり方は変わり続けるものなので正解なんてないのだと思います。だからもやもやするのかなと。
講演や本などからいろいろな考え方やパターンをインプットしていってその時々の状況に応じてベストな振る舞いができるようになることを目指していきたいと思いました。

以下は雑なメモ。

  • タックマンモデルの段階によってはサーバントリーダーシップだけではうまく回らないこともあると思う
  • 出来たての組織とかメンバーが大きく変更した組織の場合は最初のうちはトップダウン型のリーダーシップでよいのでは?
    • ある程度、組織がレベルアップしたらサーバント型に移ればいいのでは?
  • このあたりエラスティックリーダーシップに書いてあったはずなのでまた読もう

ゲーム開発現場の中心で心理的安全性を叫ぶ

資料 : ゲーム開発現場の中心で心理的安全性を叫ぶ [RSGT2018]

印象に残ったこと

前半
  • 社内勉強会に参加しづらいと感じる
    • 隣の席の先輩が忙しそうだから...
  • 社内勉強会を開催したいが
    • 業務時間内にやっていいの?
    • いちいち報告しないといけないの?
  • こんな状態が続くとモチベーションが下がって何やるにも億劫になるという負の循環が起きてしまう
  • 勝手にできないと決めつけて言わずに諦めていた
    • RSGTへの参加なども言ってみたら会社から許可おりた
    • 研修費用もお願いしたら会社から出してもらえた
  • 組織の空気を少しずつ変えていく
  • LT大会の実施
    • 勉強会のハードルを下げる
    • コミュニケーションの活性化
  • 起きた変化
    • イベント参加報告をレポートからLTに
    • 自由参加できる勉強会が増えた
  • 継続させるために
    • スタート前に協力者を探す
    • スペシャル会を開催する(大御所を呼ぶなど)
    • 地道な宣伝活動
  • Chatwork社員雑談部屋
    • 退室自由、避難禁止
    • 時期を見て情報の発信量をコントロール
    • バカなふりする
      • 間違っていても雑に発言してよい空気を作る
      • もやっとしてることでも言っていいんだ
      • やりたいこと、熱量を吐き出していいんだ
    • 言える化
      • 思い込みを取り除き気軽に発信できる → 相談したり助けてと言える → 問題や間違いを指摘し合える
  • 全員を巻き込めずイライラするよりも今一緒に活動している人達で楽しむにはどうすればよいかに集中する
後半
  • チームを潰した話
    • 透明性を重視していろいろ見える化した
    • リーダークラスの人が辞めてしまった
    • 見えないものを見えるようにして何が悪いんだろうと思っていた。しかし何も考えずに全てを見えるようにするのも良くないことに気づいた
      • 隠したいスケジュールとかがあった?
    • そもそもなぜ隠さないといけなかったのか?隠さないとイケない雰囲気のチームがいけなかった
    • このようなチームにいきなりスクラムを適用は厳しいことを知った
    • 心理的安全性があるチーム作りが必要
  • 心理的安全性とは
    • 仲間に背中を預けチャレンジできる状態・状況
    • 個人が安心して本気で取り組める
  • 話し合える場を作る
    • 対等な立場でプロダクトやチームについて話し合える場
  • 話すきっかけ、雰囲気作り
    • ムードメーカー(この人だったら多少のことを言っても許されるって人)に期待
  • 個人との対話も重要
    • 個人の不安はふりかえりでは拾えない
    • 人への不満は時間の無駄
    • チームVS問題という構図になるようにする
  • ふりかえりで感謝の言葉が増えてくると良いチームになってくる

所感

前半のお話は今自分が取り組んでいることに近い話だったのでとても共感できましたし参考になりました。イベント参加報告がレポートからLTになったというのはとてもよいですね。言える化という言葉もしっくりきました。言える化の状態作ってもメンバーの入れ替えがあるとまたちょっと戻った感じになるのでその辺どうしているのかどなたかと意見交換したいなあと思いました。

後半のお話からはとにかく対話が大事ということがビシバシと伝わってきました。やはりなんやかんやで対話大事ですよね。がんがん対話していきましょう。

Scrum プロジェクト開始のベストプラクティス

資料 : 【資料公開】Scrumプロジェクト開始のベストプラクティス | Ryuzee.com

印象に残ったこと

  • ベストプラクティスはない
  • 自分たちで考える
  • インセプションデッキも単なるフレームワーク
    • 書けば終わりではない
    • 目的は共通理解の形成
  • 対象領域によって開発手法を選ぶ必要性
    • プロジェクトの特性によって本当にスクラムでやるのか考える
    • ウオーターフォールの方がうまくいく場合もあることをきちんと考える
  • プロダクトオーナーとスクラムマスターは外部とのインターフェイス。外部パートナーをアサインするというのは好ましくない
  • リスクが高いチーム体制
    • パートナー比率が高い
    • 既存チームが強力な指示型で運営されている
  • プロジェクトは初期で決まる。人が大事。兼任辞めさせる、経験がある人を集めるなど
    • プロジェクトを成功させたかったら、十分条件を満たしなさい。開発の初期で成否が決まることが多い
    • スクラムは不十分な状態からプロジェクトを成功させられるフレームワークではない。成功させるためには十分な状態で開始する必要がある
  • ワーキングアグリーメントを設定する。みなで話し合って働き方を合意しておく
  • スクラムの知識レベルを揃える
  • 非機能要件はアーキテクチャ、コスト、開発期間に影響を与える
  • 技術検証はキリがないので、タイムボックスを設定する。全てを検証するのは無理。結果によってはプロジェクト中止もあり得る
  • ラクティスの選択は最初から盛り込みすぎない
    • 学習コストが高すぎる
    • 後で変えてもよい
  • バージョン管理システムの使い方が分からない人に本番コードは書かせない。まずは教育をしっかり行う
  • スプリントの期間はスプリントが長い方が難しい。最初は1週間が楽
  • 最初のスプリントの開始までに必要な準備期間のお勧めは1か月。最初のスプリントができるかどうかで判断
  • 社歴の長い人がスクラムマスターすると社内に知り合いが多いので調整がスムーズにいくことも多い
  • Q:スクラムマスターの評価どうすればいいの?
    • A:評価いらなくない?個人の成果よりビジネスとしての成果が大事なのでは?それが許されないならチームメンバーにフィードバックしてもらう

所感

最高でした。学びしかないセッションでした。 冒頭でも述べられていたのですがベストプラクティスなんてなく、その時々の状況応じて自分たちで考えていけないということを忘れてはいけません。
質疑応答で出ていたスクラムマスターの評価の話も印象深かったです。個人の評価よりもビジネスとしての成果が大事なのでは?って話はほんとそうだよなあと思いました。

Day2

敢えて属人化せよ!エキスパートの集団こそが最強のチーム

印象に残ったこと

資料が公開されていないのでここはセッション内容のメモをそのまま貼っておきます。

  • 環境は大事
    • 超人の同僚といつでも議論、協力できる
    • よいマネージャーがいる
    • 健全な勤務時間
    • いつでもリモート作業、会議
    • 広い机と速いマシン
      • スペックのよいマシンが使えなければ会社に行く意味なくないですか?
  • 楽しく作れる条件
    • 大きな裁量、権限
    • 頼れる仲間
    • 上がる給料
      • お金大事
  • 始めてアメリカに移ったとき
    • 今までの習慣でプランニングドキュメント書きますといったらやってもいいけどコード書けっていわれた
    • そのドキュメントを作った1週間を無駄にしていることを身をもって知った
    • コードが知識の履歴そのもの
    • バックログが常にあるのは最初ツラいことだと思っていた → 常にやること(改善出来ること)があるということは良いことだと思えるようになった
  • 最初の数回のスプリントをとにかくやってみる
    • 口で聞いても分からない、体験することが大事
  • App Servicesの開発プロセスの変遷
    • DevOps → NoOps → Dev + Support
    • お客様からの意見をいかに反映させるか
    • お客様が実際にどう使っているか知ることは非常に学びがある
  • よいマネージャーを探すのは難しい
    • 自分からよいマネージャーを探してそのチームに入るという考え方
  • 評価システム
    • 5段階評価だったがなくなった
    • どうしてもチームがギクシャクする
      • こんなに頑張ったのに...なんであいつの方が...とか
    • 無くすことで心理的に楽になり働きやすくなった
      • 何かに追われている感がなくなった
    • 評価基準はimpact
      • マネージャーの力量が問われる
      • 同僚をどれくらい助けたかなど
      • 評価しあう仕組みはとても大事、チームの雰囲気を良くする
        • 自分がいい仕事ができたとき、それを助けてくれた人に感謝したくなる
      • マネージャのこともレビュー、その上司が評価するのに使う
        • マネージャが悪いと部下が逃げる
  • ハッカソンの力
    • ハッカソンからいくつもの本番提供しているサービスが生まれた
    • 業務と直接関係ない場所でも自分のアイデアを活かせる場
    • 組織的に支援できる環境が必要
      • MSではハッカソンの期間1週間くらい取ってくれる、表彰もしてくれる
  • マネージメントの力
    • 本当にそんなことやって意味あるの?って人に対して継続的にメッセージを発信していくのが大事
    • トップは大きなビジョンをきちんと伝えることが大事
      • MSはそれでだいぶ変わった
      • ただし時間はかかる。バルマーのときから変わり始めていた
  • スイッチを切り替える
    • 上司は使うもの
    • バグはあって当たり前
    • 内部向けの議事録不要
      • 意思決定に参加してない人に対してアピールすることはない
    • 積極的に発言しないミーティングは出席不要、途中退席可
      • 逆に自分が貢献できそうなミーティングには積極的にアプローチする
        • スケジュールがもし合わなかったらリスケしてもらう、同じミーティングをもう1度開いてもらうなど
    • 属人化したExport集団こそ最強
      • 特定の人しかできない作業があるとその人が休んだり辞めると業務が止まってしまう
      • それぞれの分野で尖っている人がいてそれをまとめる人、サポートする人がいる
      • サッカーチームと一緒
        • 尖っている人たちを集めて最強のチームをつくる(属人化を許容。FW、GKと役割が完全に分かれているってこと)
        • 彼らがいなくならないような最高の労働環境を整える
        • サッカーだと試合に勝つことがゴール、我々はよいプロダクトをつくることがゴール

所感

なんというか本当に素晴らしかったです。会場もスタンディングオベーションが出るんじゃないかくらいの雰囲気でした。
最高の環境で、自分が本当に好きなことに取り組んでいて毎日楽しいんだ!って気持ちが伝わってきました。そんな状態を支えているのがマネージャーであり評価制度であるわけで。これらをまずはしっかりしないと働き方改革なんてうまくいくはずないよね?と改めて思いました。

リモートワークは難しい - それでもぼくらは歯をくいしばってやっていく

資料 : リモートワークは難しい - それでもぼくらは歯をくいしばってやっていく // Speaker Deck

印象に残ったこと

  • 何が難しいのか?
    • サボる人がいるのでは?
      • サボる人は会社にいてもサボっている
    • 労務管理の難しさ
      • 仕事とプライベートの境界が曖昧
      • 真の裁量労働でないと多分成り立たない
    • メンバーに自主性が求められる
      • 自主性が必要、個人の裁量も必要
  • 突き詰めるとコミュニケーションの難しさ
  • つまり、コミュニケーションが難しいということ
  • お客様と一緒に仕事するときってオフィス離れて働いてますよね?リモートワークは突き詰めるとそれと一緒なのでは
  • コミュニケーション
    • メインはSlack
      • 仕事も雑談も。雑談重要
      • テキストだけに頼らない
      • 必要員応じて音声、音声のログはwikiなどに共有
  • テキストコミュニケーションの難しさ
    • 情報が少ない
      • 情報とは: 声の抑揚、表情/仕草、空気感
      • 感情が分からない
      • 良質なコミュニケーションと感情は切り離せない
    • フラットな感情はやや不機嫌気味に伝わる
      • 大げさに絵文字や感嘆符を入れる
  • 雑談
    • 情報の欠如を補うもの
    • 毛づくろいのためのコミュニケーション

所感

自分とだいたい同じ考えだったのでとてもよく理解できました。リモートワークが難しいのではなく結局はコミュニケーションが難しいのですよね、やっぱり。リモートでうまくいかないチームは同じ場所にいても結局うまくいかないと思っています。ただ、オンラインでの議論については工夫と前提条件が必要だとおもっていてその辺りは以下に以前書きました。

braitom.hatenablog.com

スクラムチームとして、妨害リスト(Impediments List ) を運用して見えてきた課題解決方法

資料 : 妨害リストを運用して見えてきた課題解決方法 // Speaker Deck

印象に残ったこと

  • 妨害リスト
    • 開発チームの進捗を妨げるものを排除する
    • 明確に定義されているものではない
    • Trelloのボードで運用
      • まずはFactに入れる
  • 登録される例
    • 人やスキルの話
    • 環境に関する話
    • プロダクトに関する話
    • 品質やスタンスの話
  • 何が妨げになるのかを俯瞰できる
    • チームで共通の課題認識を持てる
    • 問題 VS 私たちの構図になる
  • いつも出てくる問題の多くはチームの外にある
    • 前提を変えない限り大きな改善にならない
  • 妨害リストにも透明性
    • 誰でも見えるように
    • チームの外の人にも見えるようにすることで相談しやすくなる
    • 相談するときには経緯が伝わっている
  • 更新されなくなる問題
    • デイリースプリントで聞いてみる
    • 定期的に棚卸しする時間を取る
    • ミーティングで出た課題を追加する
    • Slackなどで妨害っぽいものがあったら追加を促す

所感

梶原さんの話は以前にも聞いたことがありその時も妨害リストの考えいいなーと思いつつ行動に移せていませんでいた...これを機に今度こそ実際に試してみようと思いました。確かに前提となるような問題ってチームの外にあること多いですよね。そのため透明性を保って誰にでも見られる状態にしておくのは大事ですよね。

「ふりかえり」の始め方と続け方

資料 : 「ふりかえり」の始め方と続け方 // Speaker Deck

印象に残ったこと

  • ふりかえりの大前提
    • 心理的安全性があること
    • 時には参加者を選ぶことも必要
  • 状況にあったやり方を選ぶ
    • 何でも感でもKPT使えばよいというものではない
    • チームの状況は?
    • 参加人数は?
    • 何にフォーカスする?
  • 点ではなく戦でふりかえる
    • メトリクスを取る
  • アクションを日々の活動に組み入れる
    • タスクボードに見える化する
    • タスクをする時間を見積もり確保する

所感

ふりかえりってやっぱ難しいなあとつくづく感じました。いろいろ試行錯誤してパターンを増やしてその時のチームや状況に合うものを選択できるようになりたいです。

モヤモヤ女子大生がプロダクトオーナーになったら!

資料なし

印象に残ったこと

  • 専門用語はあえて使う必要は無い。分かりやすいものに変える
    • 非エンジニアからすると横文字ばかり使われるのは何言ってるか分からなくて怖い
  • 自信をつけてもらう
    • 開発者との知識差を負い目と感じてしまう
    • 勉強会などを開催して武器を持たせる

所感

軽い気持ちで参加したのですが学びが多かったです。自信がない状態だとやはり引け目を感じてなかなか自分の意見も言えず前に出て行けないものです。それを打開するために勉強会をするなどして何かしら武器を持たせてあげるということはとても大事だと思いました。飛び抜けている武器を身につけられなくても言っていることが分かるくらいの知識レベルを持たせてあげるだけでも十分なこともあります。若手の成長を考える上ではこのことはとても役にたちそうです。
あと、エンジニア以外の人と話すときに横文字を連呼するのは本当にやめようと思いました。

Panel - 実感駆動でものづくり ー 協調学習過程としてのスクラム。欲しいものを、どうやって知るか。

資料 :

印象に残ったこと

  • 社内政治を攻略する
    • うまく組織をハックできるなら組織にとっても良いこと
  • 金とアジャイル
    • エンタープライズだと年次の予算計画が多い
    • 新規事業なのに計画駆動になる
    • 1年先を予想して予算作る
      • 不確実な情報をもとに
      • 軌道修正が不可能に
    • アジャイルを選択しても
    • 資金調達のタイミング
      • 説明責任単位で資金調達できるとよい
  • 金の話
    • 決裁権限ある人はやっちゃえばいい
      • グレーゾーンわざわざ聞くから黒になる
  • 政治の話
    • 経営層での支援者は必要
    • 角を立てずに波風を立てる
    • 偉い人くらい手玉に取れなければいけない

所感

いやー世の中けっきょく何をやるにも結局は金と政治だよねーと改めて思いました。いくらうまくプロセス回せたとしてもお金がなければ何もできませんし、お金を得るためには政治が必要なわけですしね。

さいごに

はじめてRSGTに参加しましたがとてもよいイベントでした。
なんというかこのイベント自体が心理的安全性が確保されているというかなんというか。多少の失敗があっても笑って許し合える雰囲気がある感じがしました。議論も至る所で起きますし、初参加者でも違和感なく参加できる感じでした。

内容も意識が高まるものが多く、同じ悩みを抱えている人がどのように課題に取り組んでいるのか、工夫しているのかが知れて勉強になると同時に元気がもらえました。
失敗しても死ぬわけではないのでとりあえずやってみる、実験してみるの精神で今年もやっていこうという気持ちでいっぱいです。

運営の皆様、発表者の皆様、参加者の皆様、本当にありがとうございました!来年も参加したいです!

2017年買って満足度が高かったもの

2017年も早いものでもう終わりですね。
皆さんがやっているのを見て自分もまとめておこうと思ったので今年買って満足度が高かったものをつらつらと残しておこうと思います。

iPhone X

www.apple.com

なんやかんやで満足度高いです。ホームボタンがなくなることでどれくらい影響があるのか心配でしたがすぐ慣れました。 今となってはホームボタンがなぜ存在していたのか分かりません。

一番懸念していたのはApple Payの支払時にTouch IDが使えなくなることだったのですが、Face IDでの認証が思った以上に速いので杞憂に終わりました。
Face IDはマスクをしていると認証しないからイケていないと思う方もいるかもしれませんが、マスクをちょっとずらせば認証できますし、そもそもマスクしているときにそんなに頻繁にロックを解除することがないので私は全く問題ありません。

カメラの性能も本当に素晴らしいです。何も考えずにシャッター切ればきれいな写真が撮れます。過去、カメラに定評のある端末をいろいろと試してきましたが間違いなく最高の出来だと思います。

唯一の不満は、ずっとPlus系の端末を使ってきたので画面サイズがとても小さく感じることです。これも慣れればどうということは無いのですが、たまに妻のiPhone 7 Plusを見ると画面の大きさが恋しくなります。

iPhone 8 Plus

www.apple.com

新しいiPhoneを9月に使えないというのが私には耐えがたかったのでiPhone X発売までの繋ぎに買いました。iPhone Xを入手したのですでに手元にはありませんが...
1か月ちょいの利用でしたが本当に満足度が高かったです。

今までのiPhoneの延長で最新型を使いたい方には間違いなくお勧めです。画面の見やすさ、動作のヌルヌルさどれをとってもiPhone 7系から進化していて素晴らしかったです。
カメラの性能も格段に進化していました。子供の幼稚園の運動会はこれだけで挑みましたが全然問題無かったです。

Apple Watch Series 3

www.apple.com

Apple Watchもなんやかんやで全シリーズ使っていますがこのSeries 3はやっとまともなApple Watchになったと感じさせてくれるものでした。

性能がアップしたことでアプリの起動、Apple Payの起動が格段に速くなっています。
Series 2も初代に比べれば格段に動画が速くなっていたのですがまだストレスが残るものでした。それがSeries 3では本当にスムーズに使えるのでストレスがなくなりました。

ただ、デジタルクラウンの赤ぽっちがちょっとダサく感じるのが残念です。今となってはもう慣れましたが。

ちなみに目玉機能であると思われるCellular通信については契約はしたものの一度も使ったことがありません。

Apple Watch Hermès - 38mmケース用ヴォー・スウィフト(エトゥープ)シンプルトゥールレザーストラップ

www.apple.com

Apple Watchのバンドはいろいろと買ってきたのですがちょっと冒険してみようと思い買ってみました。

つけた瞬間に、これがHermèsのレザーか!と感動しました。滑らかさが全然違います。今まで私がレザーだと思っていたものはいったい何だったのでしょうか。それくらいの衝撃。気持ちよすぎてついつい触ってしまいます。

Apple Watchの安いモデルと同じくらいのお値段ですが、今後も長く使えるものなので興味のある方は買ってみるとよいと思います。

Galaxy S8+

www.galaxymobile.jp

私は日本市場で人気のあるAndroid端末の現状を把握するという意味で、毎年GalaxyかXperiaどちらかの最新モデルを買うことにしています。
今回はこのGalaxy S8+を買いました。

画面が大きいのに手に収まるちょうどいいサイズ感、ベゼルレスのかっこよさ、スペックどれをとっても間違いなく今まで使ってきたAndroid端末の中で最高峰のものでした。

ただ、期待していたアシスタント機能である「Bixby」がゴミのような出来だったのが非常に残念です。

iPad Pro 10.5

www.apple.com

久々に大きな進歩を遂げたと感じさせてくれるiPadでした。
120Hzのリフレッシュレートは伊達じゃないです。

Apple Pencilでメモを取りながらの資料読みや技術書読みがとてもはかどります。

Kindle Oasis (Newモデル) 32GB

Kindle Oasis (Newモデル) 32GB、Wi-Fi、電子書籍リーダー

間違いなく過去最高のKindleです。毎日の通勤時の読書ライフの質が格段にあがりました。

防水、ページ送りができる物理ボタン、7インチになった画面サイズ、どれをとっても素晴らしいです。
私は気になった部分をハイライトしながら読むことが多いのですが、このハイライトするときの動作が速くなっていることも嬉しいところです。数秒の差かもしれませんが積み重ねると結構な時間の節約になっていると思います。

Nintendo Switch

www.nintendo.co.jp

言わずもがなSwitchです。
ただ、私はそこまでSwitchのゲームはしていません。

Switchの満足度が高い理由は、子供と一緒にTVゲームができるという機会を与えてくれたことです。

5才と3才の子供も細かいことが分からなくても一緒に遊べます。さすがNintendoさんです。
自分が子供のころにさんざんやったマリオシリーズを大人になってから自分の子供と一緒にできるということはとても感慨深いものです。

Logicool MX ERGO Wireless Trackball

www.logicool.co.jp

ロジクールから久々にでた新型のトラックボールです。M570tを愛用していたので迷わず飛びつきました。

最初はちょっと大きいなと思っていたのですが慣れてくるととても手にフィットします。電池ではなくて充電式になったこともありがたいです。
あと、傾斜を変えられるのがとてもよいです。基本は20度に傾けて楽な体勢で使うようにしていますが、ちょっと気合いを入れたいときは0度にして使っています。これが自分にとっての気合いスイッチとなっています。

Beoplay E8 - B&O PLAY

kanjitsu-boplay.jp

完全ワイヤレスイヤホンです。
昔、EARINが出たときに完全ワイヤレスイヤホンは体験していて残念な気持ちになったので敬遠していたのですが、まわりで買う人も多く、各種メーカーがこぞって出してきたので何か買っておこうということで買いました。結果、買って大正解でした。ケーブルがないってやはり素晴らしいです。

私が完全ワイヤレスイヤホンを使うのは主に通勤時とジムにいったときだけなので音質は捨てました。音質や防水を求めるなら間違いなくBoseSoundSport Free wireless headphonesを買った方がよいと思います。

私が大事にしたのは操作のしやすさと音漏れしないかの2点です。

この機種は横をタップするだけで操作できます。また、外の音が聞こえるようになるTransparencyモードも地味に便利です。話しかけられたときなどに左側をワンタップするだけでイヤホンを外すことなく外の音を聞くことができます。

音漏れについては入念に確認しましたがそこそこ大きな音にしても漏れません。個人的に電車の中での音漏れはけっこう許しがたいのでイヤホンを買うときはこのチェックがかかせません。

ちなみに、イヤーチップを変えるだけで音質やつけ心地、音漏れの印象はだいぶ変わってきます。私はComplyのものをいつも買っています。お持ちのイヤホン用のものを探して買ってみて下さい。

www.comply.jp

なお、長時間の移動時や普段はBose QC 30を使っています。これは去年の発売と同時に買いましたが本当に素晴らしいです。

bbs.kakaku.com

ThinkPad X1 Carbon 2017モデル

www3.lenovo.com

MacメインからWindowsメインに変えようとした年だったのでWindowsノートが必要になったので買いました。勉強会やセミナーなど外に行くときの相棒です。

安定のThinkPadでした。本当に何の不満もありません。この軽さでこの性能、そして何よりこのお値段で買えることがすごいです。特盛りにしてもMacBook Proよりも全然安かったので買うときに本当にこの値段でいいの?と不安になりました。

Apple Watch Series 3の赤ぽっちは許しがたいですがThinkPadの赤ぽっちはやはり最高です。

ヘアードライヤー ナノケア EH-NA99

kakaku.com

Panasonicのドライヤーです。ドライヤーが壊れたのを機に買いました。

髪の毛を乾かす速さが段違いに早くなりました。寝癖がすごいので毎朝頭を洗っているのでかなり時短できるようになりました。

また、我が家は私以外は女性(妻と子供2人)なので、彼女たちは髪の毛がさらさらになると喜んでいました。

常盤珈琲焙煎所のコーヒー豆

tokiwacoffee.com

最後にいきなりガジェットではなくてコーヒー豆です。

家では豆を自分でひいてドリップする派なのですが今年はここのコーヒー豆にはまりました。
浅煎り〜中煎りが好みなので大宮ブレンド常磐ブレンドをメインで、気分次第でその時々のシングル豆を買っていました。

店舗はさいたま市周辺に数店舗しかないのですが通販もやっているようなので興味がある方はぜひ。


最後に

他にもGoogle HomeAmazon Echo、Clova WAVE、HoloLensなどなどいろいろと買いましたが満足度が高いというよりは技術的な興味で買ったものなのでここには載せませんでした。

今年はあまりモノを買わないようにしたつもりなのですが無駄にApple製品を買ってることが分かりました。

来年も経済を回していきたいと思います。良いお年を。

リモートワークを神話にしない実践者勉強会に参加してリモートワークについて考えてみた

リモートワークを神話にしない実践者勉強会というものに参加してきました。
「リモートワークをどう実践しているか学べる場が欲しい」という目的で開催されたとのことです。

forkwell.connpass.com

現在私の所属する会社ではリモートワークは育児、介護などの一部の人だけに許可されています。私も育児の理由で1年半くらい週2でリモートしています。
また、全社員に向けてリモートワークを制度化しようという動きもあったりするので皆さんどんなことで悩んでいるのか知りたかったという気持ちもありました。

セミナー内容のざっくりメモと自分なりの考えをまとめてみます。

内容メモ

トーク - 株式会社grooves

イントロ
  • クラウドエージェント事業部
    • ほぼリモート
      • 月1出社も
    • 完全にリモートと割り切ってチームビルディング
  • Forkwell事業部
    • 週初と、月末以外の日は個人の判断でリモート可
リモートワークの導入まで
  • 一人のエンジニアから始まった
    • 会社に行かなくても仕事ができる状態だからリモートしていい?
  • 上司の不安
    • その人単体では機能するけど周りのメンバーとの関係は維持できるのか?
    • エンジニア以外もリモートしたいって言い出したらどうしよう...
  • まずは週2からはじめてみた
  • 質の高いコードを量産しだした
  • これをきっかけに社内にリモートワークの良さが広まってきた
どう解決したか
  • 大前提となる考え方
    • 付加価値を最大化すること
    • ひとりひとりの裁量、自由度が必要
  • Q: その人単体では機能するけど周りのメンバーとの関係は維持できるのか?
    • A: 向き不向きがある
    • リモートが向く人
      • 能動的である、自律的である
      • テキストでの高いコミュニケーション能力
        • 相手に配慮した会話
        • その上で言いたいことが言える
      • 情報アクセスの容易さ
        • 本人だけが持っている情報もチームの資産
        • 周りのメンバーはその資産にアクセスする権利がある
      • 利他的であること
        • 自分の利益だけでなくチームの付加価値向上にこだわった行動、振る舞いができること
    • リモートする上で払うべきコスト
      • ログを残す
        • 曖昧なものごとも言語化する努力が必要
      • チャットは返答する、スルーしない
        • リモートでも必ず返答があるという信頼感が必要
        • 即レスしろということではない
      • オフラインコミュニケーションの時間を有効につかう
        • オフラインでの関係構築が大事
  • Q: 他のエンジニアがおれもおれもと言い出したらどうする?
    • A: 小さく試して判断する
    • 本人とメンバーが発揮するバリューが落ちないならOK
    • 不公平感 < チームの成果
    • 職種ごとにバリューを発揮できる環境、時間帯が違うのは当たり前
      • バリューが発揮できるかどうかを小さく試していく
その他
  • ツールを使えるリテラシーが大事
    • エンジニアがエンジニア以外の人にもいろいろ教え回っていた
  • ジュニアな方だと育成は大変
    • 中途採用の応募者の数、質があがっているので結果的に教育コストは下がっている
  • 新メンバーが加わったとき、キックオフMTGは対面が有用
  • リモートワークに向いていない人はどうすればいい?
    • トレーニング推奨

LT

スマートキャンプ株式会社
  • リモートワークの立ち位置
    • 従業員の生産性、快適さを追求する取り組み
  • 月一で働き方を考えるMTGしている
  • 開発チームの取り組み
    • 毎日1時間の集中タイム
    • MTGを全て火曜日に
  • リモートワークは水曜日に、リモートワークデー
  • ルール
    • 勤怠はSlackで
    • 勤務時間内はSlackで連絡が取れるように
  • 集中してクリエイティブに開発したい作業を水曜日に持ってくる
  • 実体としては半数は午後から出社して静かなオフィスで開発していたり
  • ノートPCを全員に支給
リンカーズ株式会社
  • 週2でリモート勤務OK
    • 使っても使わなくてもOK
  • MattermostとSkype for Business
    • Slackは使わないでMattermost使っている
      • セキュリティ的な理由
  • コミュ力が高いことが大事
サイボウズ株式会社
  • 半分のチームがリモート
  • リモートワークに必要なこと
    • 制度、風土、ツール

座談会

  • メンバー同士でコラボレーションするときに気をつけていることは?
    • 新人にもやってもらっている。やった後に何が良くて悪かったのかちゃんと振り返ってもらう
    • 成果物だけで評価は難しい
    • サイボウズは市場価値で決めたりしている
    • マインドとかツールではない
      • 情報の整理ができるか。人によって情報の精度は違う
      • 勘で言っているのか何か事実に基づいて言っているのかの判断が必要
      • 嘘をつくことは前提で信頼する
        • 100%事実を伝える人間はそういない。それを念頭に。
  • 過去に起きた問題はある?
    • セキュリティ事故は怖い
    • 不公平感が出ちゃう
      • 不公平感は絶対出るよという前提
        • 育児する人しない人とか。そうい感情は割り切ってもらう
  • リモートに慣れるためにやっていることある?
    • リモートに向いていそうな人をそもそも採用している
    • 最初のチームビルディングは大切にしている
  • オンラインでチーム感を出すための工夫
    • オンラインでゆるいやりとりができるように
      • Slackなどの使っているツールでTwitterみたいな使い方をする
        • timesチャンネルみたいなもの
    • オンラインでも成果を求めればチーム感は自然と出てくるのでは?
  • Linkersではチャット上では議論しないルール
    • チャットはあくまでも報告の場、アツい議論はオフラインで
  • サイボウズはとことんオンラインで議論する派
    • そういうときは収拾させないで燃え尽きさせる
    • 議論をちゃんとするフレームワークは用意している
      • 真実なのか、そう思うというただの考えなのかはっきり分けるように

所感と考え

会社の規模によってリモートワークに対する考え方が全然違うということをあらためて認識できました。会社の規模や業務内容によって仕事の進め方もそうだし、セキュリティ的な話(何を守りたいのか)もだいぶ変わってくるので当たり前といえば当たり前なんですが。
自社でどうしようかと考えてばかりいると、どうしても固定された考えになってきてしまうのでやはりこういう場は必要ですね。

個人的に思っていることをいくつかのポイントでまとめてみます。

評価について

評価方法はどこも悩んでいるようでした。
成果で評価すればいいじゃんって話もありますが成果は職種によりそれぞれ。数字できちんと出せる仕事の人もいるしそうでない人もいる。
サイボウズさんの評価指標に市場価値があるというのはかなり理想的ですが、人事制度を同じように変えるのはなかなか難しいですからね。

ここは結局、評価指標をどうするかがポイントだと思っています。
OKRなどできっちりと自身の役割をマネージャーと認識合わせをして定期的に1 on 1などで振り返りを行うことで、たとえリモートであろうと適切な評価ができるのではないかと考えています。すでにこういう評価が行えている会社はスムーズにリモートワークが導入できるのでないでしょうか。しかしこのような評価ができていない企業も多いはずです。

つまり、リモートワークをやるならマネージャーの意識改革(場合によっては評価制度の変更)も重要になってくるということです。リモートワーク自体の制度を入れることばかりに夢中になってしまいこの大事な部分を忘れがちになってしまっては元も子もないです。

オンラインでのコミュニケーションスキルは大事

「オンラインで文章をきちんと書けない人ではリモートは厳しい」
これはどこも共通認識としてあるようです。

これも話が出ていましたが、リモートワークが当たり前の時代になることを考えると訓練してもらうしかないと思います。
冷静に考えると、相手の文章をよく読み、論理的に文章を組み立てるということはビジネスでは当たり前のスキルではないのでしょうか?
これらができるように努力しないということは業務に必要なスキルの取得を放棄していると見なすこともできると思います。(ちょっと言い過ぎな気もしますが)

もしかしたら一般的なビジネス研修(論理的思考とかそういうもの)の中で「オンラインコミュニケーションのための文書作成術」のような研修が必要となってくるかもしれません。それくらいできて当たり前の風潮にしないといつまで経ってもできる人、できない人の差を埋めることは難しいと思っています。

オンラインとオフラインの使い分け

対面で話した方が細かいニュアンスまで伝わるのは間違いないです。なのですべてをオンラインだけでやる必要はありません。
さらにいうと、オンラインでもテキストだと厳しいがビデオチャットなら意思疎通ができそうという場面もあると思います。

そこで、自分たちの組織でのルールを決めておくことが大事になってくると思います。
「基本はオンラインのテキストでやりとりするが、こういうときはビデオチャットで、さらにこういう場合は対面でやる」というルールを明確に決めておけるとよりスムーズにコミュニケーションできるのではないでしょうか。

オンラインでの議論

この話はとても興味深かったです。
オンラインで議論するのが普通だと思っていたので、議論はオフラインで行い、オンラインは事実だけを報告する場という考えは新鮮でした。確かにこれだと顔の見えない相手と変な読み合いをしながらの議論をしなくて済みますからね。やったことある人は分かると思いますがオンラインでの議論はけっこう頭も体力も使うので。

個人的にはチームビルディングがしっかりできている、かつオンラインでのコミュニケーション能力が高い人が集まっていればオンライン上でも議論は可能だと思います。むしろリモートやる以上そこを目指さなければいけないのではないでしょうか。
そのためにも、サイボウズさんのようにオンラインでの議論のためのフレームワークみたいなものを作って徐々に浸透させていく必要があると思います。

ただ、その状態になるまではオンラインでの議論が空中戦になってきたと感じたら、「ちょっと1回対面で話しましょうか」という方向に持っていくことも必要となるでしょう。

さいごに

自分の考えをまとめていても思ったのですが、やはりリモートワークに対する考え方や仕組みについては正解がないものであり自分たちの組織に合ったものを試行錯誤しながら決めていくしかないと思います。同じ組織でも今はフィットしているが時代と共にフィットしなくなることも十分に考えられます。
働き方やそれにともなう制度を柔軟に変えられないとこれから先はいろいろと難しくなってくるでしょうね。

いろいろな会社の考え方を知ることができ、またリモートワークに対する考えをいろいろ整理できて非常に有意義でした。
主催者の皆様ありがとうございました。

LINE DEVELOPER DAY 2017に参加してきた ~アウトラインメモ~

LINE DEVELOPER DAY 2017に参加してきました。去年は都合により参加できなくなったので初参加です。

linedevday.linecorp.com

参加したセッションのアウトラインメモと所感を残しておきます。中途半端なメモのところもありますがそこはご愛敬ということで。
また、都合により最後まで聞けなかったので最後の方のセッションは聞けていません。

なお、全セッションの資料は以下にまとめられています。

engineering.linecorp.com

※一部、私個人の解釈でメモしているものもあり、発表者の方の本来の意図とズレているものがあるかもしれませんがご了承下さい。

The Technologies in Clova

www.slideshare.net

LINEの新たなプラットフォーム戦略として、クラウド型AIプラットフォーム「Clova(クローバ) 」を開発しています。本発表では、AIプラットフォームであるClovaやスマートスピーカーWAVEについて、ビジョン、アーキテクチャについて紹介します。

内容

What is Clova

  • Cloud-based virtual assistant
    • この頭文字を取ってClova
  • 身の回りにある色々なものに搭載していきたい

History

  • プロジェクトスタートから実は1年しか経っていない
    • 2016年9月にプロジェクトスタート
    • MWC 2017で初プレゼン
    • 2017年8月にトライアルバージョン販売開始
    • 2017年秋に一般販売開始予定

Technology

  • アーキテクチャ
    • BRAIN
    • SKILL
      • 音楽再生、天気情報の読み上げなど
    • PLATFORM
      • 認証認可、ユーザープロファイルなど基盤部分
  • インターフェイス
    • CIC
      • Clova interface Connect
      • ClovaクライアントとClova接続のインターフェイス
      • SDKAPIのコレクション
      • 入力情報をClovaに送る、出力情報をClovaから受け取る
    • CEK
      • Clova Extenstion Kit
      • Clova上でアプリケーションを実行するためのAPI
      • CEKを通してSkillを呼ぶイメージ

今後の予定

  • 認識部分の強化
    • 話者認識ができるように
    • 発話以外の理解
      • 日時の理解、履歴の理解など
  • 開発環境の提供
    • 2018年を予定

所感

Clovaのこれまでの歩みと今後についてとアーキテクチャについての説明でした。

Clovaってプロジェクトスタートから1年しか経っていないということにかなり驚きました。
ハードの開発含めてこのスピード感で行うのかなりすごいですよね。開発チーム大変だったんだろうな...

WAVEの先行体験版を購入して使っていますがやはりAlexa等と比べるとまだ微妙な部分が多いのも事実です。細かいところの精度を上げるよりもまずは市場に投入して評価してもらったりテストデータを集める方が賢明と判断したのでしょう。

2018年には開発環境の提供を予定しているそうなのでそこからがClovaの本番でしょうね。開発環境の提供を楽しみに待ちたいと思います。

Gateboxのこれまでとこれから

www.slideshare.net

"次元を超えて、逢いに来る" 世界初のバーチャルホームロボット Gatebox は、その発表以来多くの反響を呼んでいます。現在初回の出荷に向けて準備が進んでいるこの製品の生い立ちと現在、そしてそれを支える技術と今後のテクニカルな展望、Clovaとの関わりについてお話をいたします。

内容

Gateboxのこれまで

  • 世界初のバーチャルホームロボット
  • 我々は機械的なロボットやスピーカーとコミュニケーションを本当にとりたいか?
    • かわいいキャラクターなら話しかけたくなるのでは?というのが開発のきっかけ
  • 2016年1月にコンセプトムービーを公開
    • 日本より海外からの反響が多かった
  • 2016年12月、1台30万円で限定300台販売
    • 売り切れた
    • 出荷はまだ
    • 今年5月に購入者にプロトタイプを体験してもらった。かなり好評だった

技術スタック

  • ソフトウエア
    • キャラはUnityで実装
    • 基盤はLinux
    • node.jsがメインでGateBoxの振る舞いを制御
    • C++音声認識や顔認識部分
  • Cloud側
    • Azure使っている。Functionsも利用
      • 元MS社員だから...

Gateboxのこれから

  • Clovaとの連携
    • スマートスピーカーはクラウド側から返ってくる音声を読み上げるだけ
    • Gateboxはそれに加えキャラクターがアクションを取らないといけない
    • 自然な振る舞いができるような音声合成をしないとキャラクターの動作が不自然になってしまうのでそのあたりの調整がキモ
  • 国際化対応
    • 海外からの反響も多いのでどう答えていくか
  • スマートフォンと本体をどう連携させるか
    • 外で起きたことをスマートフォンで検知してその出来事にもキャラが反応してくれるようにできれば

所感

Gateboxを立ち上げたきっかけとこれまでの活動、そして今後取り組もうとしていることが説明されたセッションでした。使われている技術スタックについての解説もありました。

Webの記事だけでしか情報を見たことがありませんでしたが、実際の開発者の方の話を聞くと目指している世界がはっきりと伝わってきて応援したくなりました。

音声に加えキャラクターの振る舞いの制御も考えないといけないのは非常に難しそうですがこの製品の肝となる部分だと思うのでいろいろとノウハウ知りたいですね。

また、初音ミクバージョンを初音ミクファンの方に使ってもらったときに「いつもありがとう」とGateboxに向かって話しかけていたという話はかなり興味深かったです。
相手が機械でも初音ミクという実像(たとえポリゴンであっても)があれば人間は感謝を伝えるというコミュニケーションを取ろうとするということ。考えさせられました。

Paying back technical debt - LINE Androidクライアントの事例から -

www.slideshare.net

LINE Android Client の開発は7年目に入り、サービスの拡大に伴いクライアントの実装も肥大化および複雑化してきました。このような状況下で今後も持続可能な開発を行うためには、機能実装と技術的負債の返済を同時に進める必要があります。本発表では、技術的負債を返済しやすいような環境作りとして、我々がどのような改善をしてきたかについて、コード、CI (Continuous Integration)、チームの3つに焦点を当てて紹介します。

内容

  • リファクタリングは難しい
  • 技術的負債を返済しやすい環境づくり
    • Code
      • Kotlin採用など
      • ただ入れるだけではダメ。制限するところは制限する
        • コーディング規約の整備
        • ライブラリの悪用を制限
          • 例) ReactiveXはいろいろな用途で使えてしまうのでラッパーを作って対応
    • CI
      • PRに補足情報を入れるボットを作っている
        • 自動でIssueトラッカーのリンク挿入、APK installコマンドの提示、推奨レビュアの表示など
      • Releaseブランチからtrunkブランチへのオートマージ
        • コンフリクトが起きたらLine Notifyで通知
      • Issue Tracker Police
        • PRには必ず対応するチケットがあるはず。対応するチケットがない場合はマージできないようにした
      • gradle-versions-pluginを利用してライブラリの最新バーションをチェックする
    • Team
      • 文化を変える
      • 知識や技術の共有
        • 勉強会、資料の共有

所感

LINEのAndroidアプリ開発において技術的負債を返済しやすいようにどのような環境を作ってきたのかを説明したセッションでした。

PRを扱いやすくするためのGitHub用のボットを各種自作して利用しているのが印象的でした。
特にIssue Tracker Policeが私は気に入りました。チケットとPRが必ず結びつくようになっていることを自動で徹底できるので楽。こういう仕事は人間がやるものではない。

LINEにおけるBluetoothを活用した取り組みの紹介

www.slideshare.net

スマートフォンの枠を超えたユーザ体験の実現のため、LINEではBluetoothを使ったデバイス連携サービスを提供しています。このセッションでは、LINE Beaconおよびtappiness自販機の事例をベースに、LINEがどのようにBluetoothを活用しているか、注意した点、苦労した点などをお話します。

内容

What is a LINE Beacon

  • BLE使ったBeacon
  • 事例
    • 書店においてLINEマンガと連携
      • そのまま試し読みできる
    • Tappiness
      • 自販機に搭載
      • 双方向通信を使った決済システム
        • LINE PAYで支払える
        • ポイントが貯められる
  • 開発者も利用可能
    • Beaconを検知したらWebhookを送る仕組み

アーキテクチャ

  • 最初はiBeaconやEddyStoneを利用しようとしていたが独自方式でいくことにした
    • その場所だけのサービスを実現したかったため
      • なりすましされにくい物が必要
      • iBeaconなどはUUIDの領域が決められていて独自のセキュア領域を含めることできない
  • 16bit UUIDを利用
    • Bluetooth SIGにお金を払うことで発行できる

Tappiness(自販機)について

  • Line Appがインターネット接続を仲介する
  • Web Bluetoothの仕様を参考にしている

LINE Simple Beacon

  • ラズパイやMacbookをBeaconとして利用できるものを公開した
  • 13biteのFreeのUUIDのスペースを用意
    • ここに好きなデータを載せられる

所感

LINE Beaconの概要と事例を知ることができたセッションでした。

iBeaconやEddyStoneを利用せず独自方式を採用した背景などを知ることができて面白かったです。
自販機のTappinessの仕組みも面白かったです。自販機自体には通信機能を持たせずスマートフォン経由で接続するというのはなるほどなーと思いました。

Line Simple Beaconも面白そうなので何か作ってみようかと思えました。


全体所感

運営方針が本当に素晴らしいと感じました。
参加者の快適性と自社製品のアピールがうまく混ざっていて好感を持てました。

LINEの専用アカウントを活用

  • 受付用のURL含め基本的にLINEで連絡が来る
  • 次のセッション情報や会場の案内などもいいタイミングで通知がくる
    • これがすごい便利だった
  • タイムテーブルや、会場案内図、アンケートなどが全てLINE Bot上で実装されている
    • 自社プラットフォームでできることをきちんとアピールしていて使ってみようという気にさせてくれる

情報提供の速さ

  • 資料が即時アップロードされ、セッション終了後にURLが届く
  • 公式のまとめブログをその日のうちに発信

その他運営全般

  • 会場キャパシティと参加者の数がちょうど良い
    • 混み過ぎでもなく、空き過ぎでもなくちょうどよい快適さ
    • 他のイベントだと混みすぎて部屋の移動もできないことが多いのでかなり快適に感じた
    • どう見積もっているのだろうか?
  • カフェを貸し切って休憩場所にするという方針は素晴らしい
    • 参加者、発表者の交流の場にもなっていて良かった

残念だった点

  • セッション時間がちょっと短いように感じた
    • そのせいか概要レベルのセッションが多かったように感じた
    • もう少し技術的に込み入った話があってもよかったかもしれない
  • 発表がちょっと堅苦しい感じがした
    • おそらく話すスピードとかスライドのめくり方とか細かい指示があったのではと予想
    • そのせいで本来の力が出せていない発表者もいたように感じた
    • 一定のクオリティを保つことも必要だとは思うので難しいことではあると思うが…