rwc2013メモ
2013年11月21日22日に松江で開催されたRubyWorld Conference 2013のメモ
1日目
まつもとゆきひろ (一般財団法人Rubyアソシエーション)
『Aiming the Moving Target』
昔(20年以上前)のソフトウェア
- プロジェクトは長期化(3年単位)
- 膨大なドキュメントでウォーターフォール
- システムは構築することが最優先(満足度は犠牲にされる) → システムを持ってるだけで差別化できた(コンピューターは高価)
間違った前提
- ソフトウェアは柔軟で変更しやすい
- 何を作りたいか把握してる
- 状況は変化しない
現在のソフトウェア
- プロジェクトは短期
- コンピュータ、クラウド、ネットワークは安価
- 凄いソフトウェアを作らないといけない
- ツールとか言語のおかげで早く作れるようになった
対策
- 無知であることを認める
→ 今も凄いソフトウェアの作り方は分からない - 自分ができることは少ない
成功のポイント
- 試行錯誤を繰り返す(早く、何度も試して、何度も撤退する)
- 熱心にコードを書かない(コードを書かないために熱心に働く)
- 競争力維持に必要な物以外はOSSにしてしまうのが正しい戦略
→ コアな部分を小さくとどめる - コミュニティを育て維持する
すぐに始められること
*「失敗したら終わりだ」から「失敗してもいい」へ
→「失敗」を「ナイストライ」に言い換える
Aaron Patterson (AT & T)
『Speeding up Rails internals using unique Ruby techniques.』
不具合をみつけたらわかるまで調べるのでその過程で色々な問題が 次々でてくる
仮説→計測→改善→計測→検証
人が言うことを鵜呑みにしない
→ 間違ってはいないが一面しか捉えていないことが多い。
事例紹介
一つの不具合から
rubyのVMを学び、
DoS攻撃の対策になり、
railsの高速化に寄与でき、
railsのメモリ効率がよくなった
高井直人 (クックパッド株式会社)
『クックパッドの継続的デリバリー』
- 2万 UU(UniqueUser) / 時間
- 15千 recipes
- 14千 テストケース (10分で完了)
- デプロイ頻度 11回/日
継続的デリバリーとは
- いつでもデプロイできるようにすること
継続的デリバリーの方法
デプロイメントパイプライン
→ 手順は標準化、自動化開発DBは本番のものを使用
→ 当然個人情報はマスキング → 自動レプリケーション → 本番のユーザー体験をデプロイは平日の9:30am - 5:00pm
→ トラぶってもすぐに対応可能な時間帯を選択
三好秀徳 (株式会社日立ソリューションズ)
技術ネタ。
吉田裕美 (有限会社EY-Office)
『Ruby開発者を増やすための教育について-8年間のRuby教育で得た知見』
教育業者と社内教育の比較
- 教育業者
- 講義、教育ノウハウがある。
- 成績が悪い受講者のフォロー
- 講義、教育ノウハウがある。
- 社内教育
- 企業のノウハウを伝えられる
- 教える側のスキルアップ
コース内容
1日目
2日目
- web application
- scaffold使いつつrails
3日目
教育の場でやること
ポイント
- 関係者の顔が見えるように
- メタ教育
- 実際に手を動かす(失敗→考える→定着)
- コミュニケーション
- 場数
- IDEは使わない(やってることが隠蔽されるので)
安川要平 (YasuLab)、八田昌三 (ビヨンド・パースペクティブ・ソリューションズ株式会社)
『Social Translating: Rails TutorialとRuby Hacking Guideの翻訳を支える仕組み』
・・・視聴してない。
五十嵐邦明 (株式会社spice life・一橋大学)
『ひろがるRubyの学びの場』
・・・視聴してないけど、気になるwordをtwitterなどから転用
Ruby講義について
やってみて気づいたところ
2日目
Tom Preston-Werner (GitHub Inc. CEO)
『The Internet Axiom: Escaping the Tyranny of Time and Space』
自分でスポットライトの演出
インターネットが使える時代は素晴らしい
電気が生まれた時代に似ている
インターネットは様々なものを変えていく
社会のなかでインターネットが無いものとして動いているものがチャンスとなる
例
木島浩暁 (株式会社日立ソリューションズ)
『行政業務システムのRuby化(開発事例紹介)』
技術ネタ。
野村真一 (株式会社クラウドワークス)
『日本最大級のクラウドソーシング「クラウドワークス」の超速事業起ち上げにおいてRubyの果たした役割』
オンラインで完結する仕事の斡旋
ミッション
「21世紀の新しいワークスタイルを提案する」
背景は
- 正社員比率の減少
- 超高齢化社会
- 女性の終業ギャップ
大切にしていること
- ユーザエクスペリエンス 「働くを通して人々に笑顔を」 「1クリックで世界の仕事とスキルにアクセスを」
契約
- 時間での契約が委託者、受託者双方にメリットあり
相澤歩 (株式会社セールスフォース・ドットコム)
技術ネタ
‘the twelve-factor app'(アプリ構築に必要な12の要素)
- コードベースと設定は分離して管理すべき
- 共通コンポーネントはライブラリ化して複数プロジェクトで利用
川端光義 (株式会社アジャイルウェア)
XPS & XCSの実現を理念としている
Ruby, Rubylistは生産性が高い * 映画でリラックスするように彼らはプログラミングでリラックスしている
生産性が高いことで変わったこと
- 要件定義 == プログラミング
- 受入テストレベルのTDDができない
- PM管理がいらない(スケジュールが前倒しになる)
ポイント
最後に
あるカンファレンスでのKent Beckのやりとり
質問者「周囲を変えないと、アジャイルやXPができない」
Kent Beck 「変えられるのは自分自身だけ、それにつられて周りは変わる」