radioc@?

レディオキャットハテナ

【勉強会メモ】ScrapboxやGyazoを生み出しているNOTAの開発の現場

devlove-kansai.doorkeeper.jp

  • 日時:2018-10-29(月)19:30 - 21:30
  • 場所:株式会社リアズ

京都でScrapboxGyazoというサービスを開発しているNOTAという会社の開発の現場の話を聞いてきました。Scrapboxというサービスは個人で使ってみたことはあるのですが、それ以前に何かで知っていたはずだけど何だったかな?と思い出せずにいたのですが、答えはセションの中で紹介されていたWEB+DB PRESS vol.102の記事でした。この記事の中でも書かれていたドッグフーティングの取り組みが今回のセッションでも話題になっていました。

gihyo.jp

たしかにScrapboxGyazoのようなサービスではドッグフーティングがとても大事だというのは話を聞いていてよくわかりました。思ったとおりに使えないと自分たちが困るくらいにドッグフーティングを徹底するというのは緊張感があってとてもよい環境だと思いました。

スクラムの部分はやや変則的なスタイルだと感じましたが、リモート前提でのアジャイルなスタイルを模索して取り組んでいるのがよくわかりました。ドッグフーティングと同様にリモートワークを中心に据える文化にこだわっている点は、自分たちがプロダクトにコミットし続けるために重要なことなのだろうと思いました。

アジャイル開発チームのための、ナレッジ共有入門

洛西 一周さん @rakusai

※遅刻して前半少し聞き逃しました。。

  • 競争より創造
  • ITの革命は常にユーザー向けの機能から
  • Notaは創造のお手伝いができるツール群を開発
  • プロジェクト管理を通じて、クリエイティブな組織にどうやって切り替えていくか

RemoteOnly.org

リモートワークキングの重鎮による宣言文

f:id:radiocat:20181029235243p:plain:w500

Notaは日本の企業として始めてRemoteOnly.orgに掲載

リモートワークの失敗

  • 実際に人が会って、会話をしないと、知的なことは進められない
  • Gyazo&Scrapboxを使おう
  • オフィスをバーチャルに再現しようという考えを全部捨ててみる
    • 「タスク管理」はどこまで行ってもサマリーの管理

バーチャル->リアル現象

  • ミーティングの議題だけ書いておくと勝手に議題が進む

f:id:radiocat:20181029235746p:plain:w500

モダンなナレッジ共有に至る原則

f:id:radiocat:20181029235907p:plain:w500

暗黙知集合知化して闘う

f:id:radiocat:20181030000008p:plain:w500

ドッグフーティング

  • 自分たちがリモートワークして毎日Gyazo,Scboを作っている

Notaのスクラムとマネジメント

秋山 博紀さん @akiroom

speakerdeck.com

CTOとVPoE

  • CTO:技術系の役員
    • 新しい技術課題への挑戦、考察、実験
    • 長期スパン
  • VPoE:管理職
  • 組織構築、採用、育成、マネジメント
  • 中短期スパンで考える

スクラム導入後にVPoEに就任

スクラムの導入経緯

  • 導入前:自由にタスクを決めて動く
    • 人が増えてマネージャが全体を見られなくなった
    • 当時の赤字を解消するためタスクの確実な実行が必要

以下2点を解決するためにスクラムを導入

  • 会社で何が起きているか
  • 必達のタスクを確実に遂行する

Nota式スクラムを支える技術

Sprint ,KPT

  • 2週間1 Sprintタイムボックス
  • Sprint初日にSprint中にやる内容を決める
  • 毎日共有
  • 最終日にふりかえり、KPT

Sprint 0〜

  • スクラムの解説ページを作った
  • タスクを集約して俯瞰できるようにする
    • 体制の構築に時間をかける余裕がない
    • 慣れてきた人が増えたらルールを追加
  • 体制
    • エンジニアとデザイナーDev
    • PO⇒CEO
  • Start MTG
    • 具体的な施策の説明
    • メンバーが現在のタスクを出していく

Sprint100週間で起きた変化

  • Sprint 53(現在)

scrapbox.io

Sprintのメリット・デメリット

  • メリット
    • 実際にやってみて会社が取り組んでいるタスクが明瞭に
    • お互いに困っていつところをさ助け合えている
  • デメリット
    • 今のところ無い
    • 人数が増えた時にどうなるか

Kanban

  • ZenHub利用
  • 大事なタスクの進捗を厳密に管理
  • レビュー待ちが一目瞭然

Scrapbox式プロジェクト管理

  • Scrapboxにタスクを列挙
  • 議論の粒度を柔軟に制御
  • テキスト派も会議派も満足

Nota式スクラムのコツ

  • 変化をよしとする
  • 革命をしない・改善をする
  • 多次元管理する
    • Github Issue
    • Scrapboxを活用=多次元=プロジェクト+日報+ほか

Gyazoの開発の進め方

Pasta-Kさん @pastak

speakerdeck.com

Gyazo Browser Extension

Gyazoの開発環境

  • アプリ
  • コミュニケーション

基本的に全員がリモートワーク可能

Chat Ops /w Github Bot and CI

  • PR⇒commitごとにstaging環境自動生成・更新⇒deployment APIで通知
  • ninja: release 〜 とチャットに打つとrelease用のPRと確認用の環境が構築される
  • PRがmergeされるとdeply開始

ずっと変わっていないこと

  • どこでも働ける
  • Gyazoがあらゆるコミュニケーションの中心

Gyazoとドッグフーティング

Gyazoの新機能の生まれ方

  • ビジネス的な要望
  • VPoEとかから頼まれてSprintのタスクに組み込まれる
  • ドッグフーティング

Move Fast and Beak Things

  • 元はFacebookのモットー
  • すばやく行動し破壊せよ
  • とにかくデモファースト
    • デモを大事にする
    • 結局作ってみないとわからない
    • 勝手におもしろ機能

誰でもGyazoに関わる全てのコードを変更できる

  • 日々の文句があればPRで闘う

A/Bテスト

  • 今はやっていない
  • どんどんdeployしたりrollbackできるのでどんどん出して改善するスタイル

スタッフ向け機能

  • リプレイスの影響が大きいものは作りながらスタッフ環境で日々ドッグフーティング

Scrapboxのドッグフーティング開発

daiizさん @daizplus

scrapbox.io

ドッグフーティング

Scrapboxの開発にScrapboxを使う

  • いろいろな用途で使う事が大事
    • 日頃の開発コミュニケーション
    • 個人のブログ
    • 複数人での勉強会
  • 気合が入る
    • 自分が使うものが壊れていると困る
    • 面白い機能や使い方を見つけることができる

やりたいことを全て書く

  • とにかく書く⇒アイデアをリンクでつなげる
    • ページを切り出す機能を使って細かく考えていく
    • イデアの例
      • キーワードを指定したGoogle Maps埋め込み
        • 建物を入力して地図
        • イデアはボツになったが地図を埋め込む機能で使われた
  • 要望やバグを書く
  • 作る機能について書く
  • 調べたこと、試したことを書く
  • 小さく作ってPRを出す

Q&Aセッションのメモ

  • あまり書くのが得意ではない人もいるが、Scrapboxの使いかたは箇条書きが多く、長い文章は書かない
  • 書ける人がフォローする

リモートワークの勤怠や評価の観点

  • GitHubでエンジニアの仕事が可視化されてマネージャと話をすればだいたいわかる
  • 時間では評価せず中身で評価

カルチャーの作り方やチームビルディング

  • あとから来た人が何を聞いても大丈夫なようにテキスト化
  • 絵文字を多くしてみる
  • 知識をフラットにすると組織もフラットになる
  • 開発合宿をやる

2週間スプリント

  • 中間チェックポイントがあって進捗のカバーなどを相談する

ふりかえり

  • 議論は前回スプリントから継続テーマをScrapbox上でやりとり
  • スプリントの終わりではなく各々が思いついた時に書く
  • Scrapbox上で議論が落ち着いてきたら最後はマネージャが議論をまとめる
  • 結論が出たテーマはふりかえりテーマから除外