Roll your Product with Kaizen Culture : Let's 'Tech' the initiative

location_city Tokyo schedule Apr 10th 03:00 - 03:45 PM place Hall A

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

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

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

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

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

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

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

 
 

Outline/Structure of the Talk

1. エンジニアにとっての「カイゼン」の価値

2. 楽天ランキングチームが抱えていた問題

- As Dev Team

テストにかかるコストが大きすぎることから、カイゼンをためらってしまう風土が作られる。

- As Ops Team

リリースオペレーションの能率が低い。またミスした時のリバートに時間がかかってしまうなどの問題が起こりうる。

BlueGreenデプロイの仕組みを用意していましたが、それでは十分ではなかった。

3. 僕らが診断したボトルネック

4. 解決策の考察そしてカイゼンへのチャレンジ

- CaaS : Rolling modified product
- Web Test Automation : Ensuring quality of new feature

5. 現在の姿

- Systemic Change
- Cultural Change ★★★★★

Learning Outcome

カイゼン活動によって、チームの文化がどう変わっていくかわかります。

BlueGreenデプロイからCaaSへの変更の姿がわかります。

CICDにおけるきちんとしたテストの必要性がわかります。

カイゼンのためのやる気が出ます。

Target Audience

クオリティを担保した上でのリリースペースの加速化、さらに「カイゼン」をチームに移植したい人

schedule Submitted 5 months ago

  • 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 Ikuo Suyama
    keyboard_arrow_down

    Ikuo Suyama - Effective Mob Programming

    Ikuo Suyama
    Ikuo Suyama
    Engineer
    CyberAgent
    schedule 5 months ago
    Sold Out!
    20 Mins
    Talk
    Intermediate

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

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

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

    なぜモブプロなのか

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

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

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

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

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

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

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

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

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

  • 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 Shinnosuke Yata
    keyboard_arrow_down

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

    20 Mins
    Talk
    Beginner

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

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

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

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

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