location_city Tokyo schedule Apr 9th 01:00 - 01:20 PM place Hall A

モブプログラミングとは...

「同じことを、同じ場所で、同じ時間に、同じコンピューターで」

私たちはモブプログラミング(以下モブプロ)を「デフォルトの働き方」として採用し、一年間ほとんどすべてのタスクをモブプロで実施してきました。
これら自分たちのチームのモブの実践と、様々なチーム、ときには海外でモブプロを経験し、その行動を観察するうち、モブプロを実践するときに共通して見られるいくつかの行動を発見しました。

なぜモブプロなのか

書籍「Effective DevOps」によると、DevOpsは4本の柱からなる文化であるとされます。
4本の柱とはすなわち、

- コミュニケーション
- アフィニティ
- ツール
- スケーリング

「同じことを、同じ場所で」全員で実施するモブプロは、開発チームのコミュニケーションを促進し、そして開発チームを超えてビジネスや運用チームとのアフィニティを高め、信頼を醸成する最良の手段の一つであると言えます。

実際に僕たちのチームでは、モブプロをきっかけにチームのコミュニケーションが改善され、いまでは自己組織化された機能横断的なチームを実現しています。

'効果的な' モブプログラミング

モブプログラミングは「全員で1つのことをやる」という性質から、
「効率的に働く」つまりリソース効率の最大化、単位時間あたりのアウトプット総量の最大化をめざすのではなく、
「効果的に働く」つまりフロー効率を最適化し、単位期間あたりの仕事の成果(Outcome)を最大化するための手段であると言えます。

自分たちのモブを観察するうち、成果を出せているときとそうでないときそれぞれに特定の共通した行動が見られることに気が付きました。

これらの行動のうち、良い影響を与えるものを増長し、悪い影響を与えるものを最小化するため、意図的にチーム内でのモブにおける役割を定義しました。
このロールの組み合わせによって、モブにおける「フォーメーション」あるいは「カタ」として名前をつけ、いくつかのカタログを作成しています。

本セッションでは僕たちのチームで発見したモブプロの「カタ」を紹介し、カタを通して効果的にモブプロを行う方法について議論します。

 
 

Outline/Structure of the Talk

  • なぜモブプログラミングなのか
    • モブプロとDevOps
  • 「効果的な」モブプロ
    • モブプロがうまくいくとき/いかないとき
    • モブプロをコントロールする "場"
  • モブプロの「カタ」
    • Smart Input Operator / 賢い入力手
    • Front Passenger Sheet / 助手席
    • One Team / ワンチーム
    • Sync-Mob / 同期モブ
    • Double-Linking / 接続

Learning Outcome

  • モブプログラミングで成果がでるときとそうでないときの特徴
  • モブプログラミングを効果的に行うための"カタ"

Target Audience

モブプログラミングに興味がある方、実践してみたいと思っている方、実践している方

schedule Submitted 7 months ago

  • Liked Woohyeok Aaron Kim
    keyboard_arrow_down

    Woohyeok Aaron Kim - Roll your Product with Kaizen Culture : Let's 'Tech' the initiative

    45 Mins
    Talk
    Advanced

    Jeff Sutherland氏、Martin Fowler氏、Taichi Ohno氏。世界の業務プロセスに変革を導いた彼らは共通的に「カイゼン」について強調しました。

    彼らの本を読みエンジニアとしての道を歩んできた私たちにとって、「カイゼン」は第一の価値として認識されていると思います。

    皆さんは、今日より良い明日のために何に力を入れてますか?毎日が忙しすぎて、何かを改善するどころかストレスだけ溜まってたりはしてないでしょうか。

    楽天のランキングサービスグループは開発と運用、いわばDevOpsを実践していますが、そのプロセスに対しいくつか問題を抱えていました。開発の段階で発生するボトルネック、効率的だとは言えない運用環境。

    何よりも問題だったのは、こういったボトルネックにおいて改善の文化が定着しにくいということでした。せっかく良いアイデアを思いついても、そのボトルネックから発生するコストの問題で後回しにするしかなく、そうなればなるほどチームの改善力はどんどん下がっていきました。

    私たちランキングチームは2つの解決策を決め、それを同時に進め相乗効果を発生させることでこの状況を乗り越えようとしました。

    ランキングチームが挑戦したトライアルそしてテクニカルな変化によるチームカルチャーの変化。より安全で良いサービスの提供のために、日々工夫を重ねているあなたのために、私たちのお話を特別に公開します。

  • Liked Takao Oyobe
    keyboard_arrow_down

    Takao Oyobe / Ryutaro YOSHIBA (Ryuzee) - 帰ってきた朝まで生DevOps 〜結局DevOpsとはなんだったのか〜

    45 Mins
    Panel
    Beginner

    DevOpsという言葉の世界はますます拡がり、様々な○○Opsが生まれました。DevOpsDays Tokyoに集まったプロポーザルを見ても、たくさんのDevOpsがあることがわかります。定義を1つに統一する必要はないですが、自分の中のDevOpsを更新し続けることは大切だと思います。

    そこで今回の朝まで生DevOpsは「結局DevOpsとはなんだったのか」をテーマに、定義の話を超えてDevOpsから我々は何を学ぶべきなのかについて考えていきたいと思います。

    パネラーは随時追加していく予定です。
    また、このパネルディスカッションは飛び込み参加可能なオープンパネルディスカッションです。

  • Liked Kaori Tokiwa
    keyboard_arrow_down

    Kaori Tokiwa - あなたのチームは「終わりのない改善」に疲れていませんか?

    20 Mins
    Talk
    Beginner

    【問題 vs 私たち】で考えることが大事!というのは、DevOpsを進めているようなチームであれば当り前のことでしょう。
    日々、立ち向かう【問題】を「どう解決するか?」ということに頭を悩ませ、チームでよりよい解決策を考えて改善活動を継続的に行っているかもしれません。

    ところで、

    立ち向かっている【問題】が、本当に今あなたのチームが立ち向かうべき【問題】か?
    その【問題】が解決できた時にチームが辿り着けるゴールはなにか?

    と考えたことはありますか?

    • 【問題】に対して効果的なTry/Actionが出せない
    • 【問題】に立ち向かい続ける改善のサイクルは回しているが終わりがみえない
    • 立ち向かう【問題】が見当たらなくなってしまった

    と悩んだことはありませんか?

    様々なチームの支援を行っていると、次のような光景に出会うことがあります。

    • 目についた【問題】と次々に戦い続けていて、チームがレベルアップした実感が持てずに改善疲れをしている
    • まだチームで【問題】に立ち向かうプロセスが出来上がっていない段階でラスボスのような巨大な【問題】と戦って疲弊している
    • 次に立ち向かうべき【問題】が見つけられず、改善活動やチームの成長が停滞している

    こんな時は【問題】を「どう解決するか?」を考える前に、チームが立ち向かうべき【問題】が「なにか?」を見極めることが大切です。

    DevOpsを進めるチームによくある【問題】を例に、【問題】を捉えなおすことによっておきる嬉しい変化についてお話します。

    また、チームで【問題】に立ち向かうプロセスをどのように構築していくか?についても言及します。

    あなたのチームが【問題】に立ち向かいながらレベルアップし、楽しく改善を進めていくヒントを持ち帰っていただければ嬉しいです。

    改善疲れから抜け出し、チームが自信をもってレベルアップした!と実感できる活動にシフトしていきませんか?

  • Liked Masaya Taji
    keyboard_arrow_down

    Masaya Taji / Shenyu Zhang - Painless Migration to MicroServices

    20 Mins
    Talk
    Beginner

    より大規模なプロダクト開発を推進するにあたり、あるタイミングからチームのスケールアップを視野に入れることが必要とされてきます。

    これに伴い、当初スタートアップとして勢いよく開発を開始したプロダクトも、組織のスケーラビリティに対応できるものに「変化」させていくことが必要と捉えています。

    一方で、短期的なビジネス要求を実現するため、現在のチームの開発速度を大きく損なうことなく、片や裏では少しずつアーキテクチャを改良していく、という「バランス」の取り方はなかなか難しいと感じています。

    本セッションでは、我々が開発するプロダクト「yamory」を成長させる上で直面したマイクロサービス導入、それに伴うインフラ含めたアーキテクチャ構築の生の事例について紹介します。

    組織と共にプロダクトも成長させたい!けど糸口がつかめない・・・そんな方の助けとなれば幸いです。

  • Liked Kamesh Sampath
    keyboard_arrow_down

    Kamesh Sampath - Kubernetes,Knative,Kafka,Kamel - four pillars to Cloud Data Streaming

    45 Mins
    Talk
    Beginner

    Staring 2019, we started to see “Serverless” taking centre stage in all application architectures with enterprise integration and data streaming being no exception. With Kubernetes becoming the standard to run your application workloads in cloud, there isnt’ one simple way to build highly scalable platform to integrate streaming data and enterprise applications without compromising enterprise compliance.

    In this session we will explore the four pillars Kubernetes,Knative,Kafka and Kamel to know how they help you build the much needed platform for enterprise integration and data streaming which can scale to infinity without comprimising on your cloud resource costs. In this demo filled session we see how to install and configure the required components and then take a deep look into:

    - Streaming data using Apache Kafka on Kubernetes via Strimzi, thereby achieving consistent data streaming across clouds
    - Using Knative Serving to process streaming enterprise data with Knative Eventing - Using Apache Camel K to build and apply Enterprise Integration Patterns (EIP) in Kubernetes native way

  • Liked Yasunobu Kawaguchi
    keyboard_arrow_down

    Yasunobu Kawaguchi - DevOps パイプラインゲーム

    120 Mins
    Workshop
    Beginner

    Agile Testing Days で学んできた、DevOpsパイプラインゲームをやってみます!

  • Liked Yasunobu Kawaguchi
    keyboard_arrow_down

    Yasunobu Kawaguchi - 私が見た海外の現場たち - Microsoft, Target, Menlo Innovations, Hunter Industries で何を学んだか

    45 Mins
    Talk
    Intermediate

    2019年に訪問した海外の現場の話を報告します!

  • Liked Imai Takaaki
    keyboard_arrow_down

    Imai Takaaki - アジャイル推進者が想う「DevOpsの理由」とそれに取り組む組織の話

    20 Mins
    Talk
    Beginner

    DevOpsやアジャイルなんて当たり前、という組織もたくさんありますが、中には必要性を何となく認識しながらも未だ十分な取り組みにはつながっていなかったり、レガシーなやり方や組織の文化に阻まれて、なかなか浸透していない組織も多くあるのではないかと思います。

    本セッションでは、社内にアジャイルを推進していく中で得られた気付きをもとに、組織がDevOpsを実現する上で何を考えたらよいか、DevOpsが組織に何をもたらすかを、いくつかの視点で考察していきます。

    自分の組織の状況に合わせて、それぞれ違った気づきを得てもらえると嬉しいです。

  • Liked Shinnosuke Yata
    keyboard_arrow_down

    Shinnosuke Yata - MLOpsがどうあるべきなのかを考える

    20 Mins
    Talk
    Beginner

    MLOpsには、機械学習プロジェクトをより安定稼働させることが求められていると思います。そのためにあらゆるプロジェクトでモデルのデプロイ自動化やバージョン管理などが行われています。

    ただ、モデルの品質を保つための必要十分条件はデプロイ自動化のみでしょうか。そもそも、モデルの品質を担保するのは学習データの質と量で、最初から完璧なデータセットを用意するのは不可能であったり、ユーザーの傾向が日々変わる中で常にデータセットをメンテナンスしていく必要があり、デプロイ自動化のみでそれが為されるわけではないはずです。

    つまり、本来はサービスの中で予測に用いられたデータをモデルの学習につなげるサイクルを高速に何度も回せる仕組みがあるべきなのに、自分のプロジェクトも含め、多くの機械学習プロジェクトがなんらかの理由によってそこまでたどり着けていないもしくはその優先度が下がっているのではないかと考えられます。

    実際、機械学習はそれ単体で成り立つものではなくソフトウェアの一部として組み込まれることで初めてユーザーに価値を届けることができるため、システムの中でそのサイクルを回せる仕組みを作っていくことは可能です。したがって、MLOpsは機械学習モデルをソフトウェアの一部として考え、モデルのデプロイ自動化やバージョン管理だけでなくシステムの中での学習データ作成の半自動化によって、ソフトウェアとして価値を届けることがあるべき姿なのではないかと考えています。

    このセッションでは機械学習プロジェクトとMLOpsがこれからどうあるべきなのかを考え、自分たちのチームで取り組んでいる事例に基づいてお話します。

  • Liked Shigeki Shoji
    keyboard_arrow_down

    Shigeki Shoji - フロントエンド開発のDevOps

    Shigeki Shoji
    Shigeki Shoji
    Consultant
    Mamezou Co., Ltd.
    schedule 6 months ago
    Sold Out!
    20 Mins
    Talk
    Beginner

    2010年頃から、バックエンドではJenkinsやMaven等を使ってそれまでの手順書やシェルスクリプトによるDevOpsから急速に進歩してきました。
    それから10年が経過し、モバイル等の通信インフラストラクチャーの進歩、クラウドコンピューティング等、さまざまな進歩とともに、バックエンドだけではなくフロントエンドも大きな変化が起こりつづけていて、フロントエンドにおいてもDevOpsを実践していくことが求められてきています。
    このセッションでは、フロントエンドにおけるDevOps実現に向けた活動についてお話します。