---
title: A-5 Yahoo!カード天神チームの立ち上げからこれまで #devsumi
tags:  #devsumi  
author: [Yahoo!デベロッパーネットワーク](https://convert.docswell.com/user/ydnjp)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/8JDW93P2EG.jpg?width=480
description: Developers Summit 2018 FUKUOKAの資料です。
published: September 10, 18
canonical: https://convert.docswell.com/s/ydnjp/KLR98K-2018-09-10-132546
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/8JDW93P2EG.jpg)

Yahoo!カード天神開発チームの
立ち上げからこれまで
-アジャイルなアプリケーション開発2018年9月6日 Developers Summit 2018 FUKUOKA
ヤフー株式会社 コマースカンパニー 決済金融統括本部
山崎 勝平
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.


# Page. 2

![Page Image](https://bcdn.docswell.com/page/VEP9Z4NL78.jpg)

自己紹介
ヤマサキ
ショウヘイ
山崎
勝平
Ruby
Java
PHP
Node.js
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/27VMWXK67Q.jpg)

概要
1. Yahoo! JAPANカードのアプリケーション開発の事例
1.1 プロジェクトの概要
1.2 アジャイル開発について
1.3 チームの立ち上げ
1.4 チームの混乱期
1.5 混乱期から機能期へ
1.6 正しいやり方は対話して見つけていこう
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/5JGGDVQ2JL.jpg)

概要
2. モダンになったYahoo! JAPANカードのアプリケーション
2.1 PHPからJavaへ
2.2 マイクロサービスアーキテクチャの採用
2.3 コンテナアプリケーションへの移行
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/47QX16K9JP.jpg)

概要
3. アジャイルとは
3.1 私の考えるアジャイルとは
3.2 さいごに
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/KE46R4KRJ1.jpg)

Yahoo! JAPANカードの
アプリケーション
開発の事例
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 7

![Page Image](https://bcdn.docswell.com/page/L71VQ4XVJG.jpg)

概要
1. Yahoo! JAPANカードのアプリケーション開発の事例
1.1 プロジェクトの概要
1.2 アジャイル開発について
1.3 チームの立ち上げ
1.4 チームの混乱期
1.5 混乱期から機能期へ
1.6 正しいやり方は対話して見つけていこう
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/G7WLMXN3J2.jpg)

プロジェクトの概要
Yahoo! JAPANカードのアプリケーションを
モダンにする
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4JZMQ63G73.jpg)

なぜモダンにするのか
機能の提供や改修を早く行いたい
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/YE6N62XQEV.jpg)

アジャイル開発について
アジャイル開発とは
アジャイルソフトウェア開発宣言に
価値を置いた開発の手法
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/GE5562X2E4.jpg)

アジャイルソフトウェア開発宣言
プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、
価値とする。
アジャイルソフトウェア開発宣言
http://agilemanifesto.org/iso/ja/manifesto.html
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/972NM4X1JR.jpg)

要するに
大事なのはコミュニケーション
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/DJYPXM84JM.jpg)

コミュニケーションが大事な理由
システム開発の失敗は
コミュニケーションがうまくいかない
ことによって発生する
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/V7N51WQ6E8.jpg)

スクラムとは
チーム開発のフレームワーク
朝会
ふりかえり
スプリント
スプリント
レビュー
プランニング
チームメンバーとコミュニケーションをとる機会が増える
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/YJ9Y5XDR73.jpg)

チームの立ち上げ
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GJ86Y23GED.jpg)

Yahoo!カード天神開発チームのメンバー
• 初期メンバーは5人
• 5人ともYahoo! JAPANカードについては素人
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/LJL942VX7R.jpg)

どうやってYahoo! JAPANカードのシステムについて理解したのか
まずはコードを読んでみるものの・・・
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/47MZK8G3JW.jpg)

コードから読み取れないこと
そのコードが書かれた意図、背景
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/P7R6X5ZRE9.jpg)

意図や背景を知る方法
有識者に教えてもらう
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/PJXM6K9YEX.jpg)

有識者とは
• Yahoo! JAPANカードのシステムの開発、
保守、運用を行なっている人
• 東京にいる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/3JKG15P47D.jpg)

どのようにコミュニケーションをとるのか
• テキストチャット
• ボイスチャット
• ビデオチャット
• GitHubのイシュー
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/LE3NQKXDE5.jpg)

実際に会うのが大事
• 実際に会うとそのあとのリモートワークが
やりやすい
• 定期的に会うのがおすすめ
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/8EDW93227G.jpg)

開発開始から2ヶ月が経過
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 24

![Page Image](https://bcdn.docswell.com/page/V7P9Z41LJ8.jpg)

とあるチームメンバーの会話
このコードの仕様書って書いてあるの？
ここに書いてあるよ
エラーハンドリングをもっと詳細に書いたほうがよくない？
てか、そもそも仕様書って必要なのかな
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/2JVMWXY6JQ.jpg)

ぶつかり合う意見
なんか違うんだよなぁ🤔
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/5EGGDV92EL.jpg)

チームの混乱期
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 27

![Page Image](https://bcdn.docswell.com/page/4JQX16W9EP.jpg)

混乱期とは
メンバー間で考えや価値観の違いが
ぶつかり合う状態
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/K746R41RE1.jpg)

メンバーの考えや価値観が違う
バックグラウンドの違う人間が
集まっているため当然
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/LJ1VQ4GVEG.jpg)

人それぞれの価値観がある
シンプルに早く作りたい&quot;
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/GJWLMXK3E2.jpg)

人それぞれの価値観がある
運用する人が困らないように
作るのが大事だよね#
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/4EZMQ6ZGJ3.jpg)

全て正しい
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 32

![Page Image](https://bcdn.docswell.com/page/Y76N62ZQ7V.jpg)

全て正しいと言われても
結局どうすればいいんだよ🤔
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/G75562W274.jpg)

混乱期から機能期へ
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 34

![Page Image](https://bcdn.docswell.com/page/9J2NM4Q1ER.jpg)

機能期とは
チームに一体感が生まれ、
チームの力が目標達成に向かう状態
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/DEYPXMW4EM.jpg)

機能期へ行くために必要なこと
チームの課題を見つけ
その解決に向かって全員で進むこと
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/VJN51W9678.jpg)

Yahoo!カード天神開発チームの課題とは
開発スピードが遅い😨
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/YE9Y5X2RJ3.jpg)

出来上がらない成果物
2ヶ月経ってもプロジェクトオーナーが
理解できるような成果物が
できあがらなかった
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/GE86Y25G7D.jpg)

なぜなのか🤔
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 39

![Page Image](https://bcdn.docswell.com/page/LEL942YXJR.jpg)

原因を見つけるために
現状の時間の使い方を分析⏰
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/4JMZK8N3EW.jpg)

業務時間の分析をした
休憩
9%
開発
21%
その他
23%
MTG
24%
学習
23%
開発の時間が21%しかない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/PJR6X5DR79.jpg)

開発時間が少ないのはなぜか
• チーム立ち上げ時に様々なイベントが発生
• 学習の時間が多かった
• 認識合わせの時間が必要だった
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/PEXM6K1Y7X.jpg)

どうしようもない
のでは・・・😂
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 43

![Page Image](https://bcdn.docswell.com/page/3EKG1524JD.jpg)

現状を把握することは大事
現状を把握することで改善していける💪
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
43


# Page. 44

![Page Image](https://bcdn.docswell.com/page/L73NQK4D75.jpg)

地道な改善
• 定例MTGは極力作らない
• MTGは時間内でやり終える
• MTGは一気にやる
開発チームでコントロールできるのはMTG
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
44


# Page. 45

![Page Image](https://bcdn.docswell.com/page/87DW93Q2JG.jpg)

他にも課題はないのか🤔
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 46

![Page Image](https://bcdn.docswell.com/page/VJP9Z4LLE8.jpg)

様々な課題
• 成果物についての課題
• アプリケーションの構造の課題
• 終わらない議論
• レビューの手戻りの課題
• PRが溜まる課題
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
46


# Page. 47

![Page Image](https://bcdn.docswell.com/page/2EVMWXQ6EQ.jpg)

成果物を意識するようになる前
トップページを完成させるには認証機能が必要です
認証機能ってどれくらいかかりそう？
認証機能を開発するのに1週間かかりそうです
長いなぁ。しかし、必要な機能だからしょうがないか
基盤機能から作成していた
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
47


# Page. 48

![Page Image](https://bcdn.docswell.com/page/57GGDVW27L.jpg)

成果物を意識するようになる前
今回作成したのは認証機能です
画面は見れないのかな？
テストコードならありますが。実行すると成功します。
なるほどー。。
プロジェクトオーナーにはよくわからない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
48


# Page. 49

![Page Image](https://bcdn.docswell.com/page/4EQX16397P.jpg)

開発する順番を変更した
まずはプロジェクトオーナーに
見せれるところから
作った方がいいよね🤔
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
49


# Page. 50

![Page Image](https://bcdn.docswell.com/page/KJ46R4NR71.jpg)

成果物を意識するようになった
トップページを完成させるには認証機能が必要です
認証機能ってあとでもいいよね
まずは画面から作った方が全体のイメージが掴めそうです
まずは画面から作りましょう
まずはプロジェクトオーナーが理解できるところから作る
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
50


# Page. 51

![Page Image](https://bcdn.docswell.com/page/LE1VQ45V7G.jpg)

成果物を意識するようになった
今回作成したのはトップページです
おー、デザインも当たっていていいですね
何か気になるところはないでしょうか？
文字をもう少し大きくしたいですね
フィードバックが早くもらえる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
51


# Page. 52

![Page Image](https://bcdn.docswell.com/page/GEWLMX5372.jpg)

様々な課題
• 成果物についての課題
• アプリケーションの構造の課題
• 終わらない議論
• レビューの手戻りの課題
• PRが溜まる課題
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
52


# Page. 53

![Page Image](https://bcdn.docswell.com/page/47ZMQ6NGE3.jpg)

アプリケーションの課題
ドメイン層
インフラ層
サービス層
Spring Framework
様々なレイヤーが存在する
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
53


# Page. 54

![Page Image](https://bcdn.docswell.com/page/YJ6N628QJV.jpg)

アプリケーションの課題
ドメイン層
インフラ層
サービス層
Spring Framework
各層で役割を分担することで影響範囲を制御できる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
54


# Page. 55

![Page Image](https://bcdn.docswell.com/page/GJ556292J4.jpg)

とあるチームメンバーの会話
ねぇ、このクラスってどこに置けばいいと思う？
ドメイン層じゃない？
サービス層でもいいような気もするんだけど
どちらがいいんだろうなぁ
各層の役割について混乱が生じていた
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
55


# Page. 56

![Page Image](https://bcdn.docswell.com/page/LE3NQKY1E5.jpg)

感じたことを素直に指摘した
もっとシンプルな構造にした方がいいのでは？
私もそう思う
同じように考えている人はいる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
56


# Page. 57

![Page Image](https://bcdn.docswell.com/page/8EDW935K7G.jpg)

アプリケーションの課題
インフラ層
サービス層
Spring Framework
ドメイン層を取っ払った
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
57


# Page. 58

![Page Image](https://bcdn.docswell.com/page/V7P9Z4G3J8.jpg)

レイヤーを減らしたメリット
レイヤーが減ったことで
悩むことが減った😄
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
58


# Page. 59

![Page Image](https://bcdn.docswell.com/page/2JVMWX6NJQ.jpg)

様々な課題
• 成果物についての課題
• アプリケーションの構造の課題
• 終わらない議論
• レビューの手戻りの課題
• PRが溜まる課題
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
59


# Page. 60

![Page Image](https://bcdn.docswell.com/page/5EGGDVN5EL.jpg)

終わらない議論
この実装をする際にはこのような問題が発生しそう
こういう問題もありそうですね
保守の問題もあるからあれも考慮しないとですね
こういうパターンも考えられそうですね
口頭だと議論が発散する
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
60


# Page. 61

![Page Image](https://bcdn.docswell.com/page/4JQX16QLEP.jpg)

わからないことは必要以上に議論しない
一旦プロトタイプを作ってから
議論しません？🤔
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
61


# Page. 62

![Page Image](https://bcdn.docswell.com/page/K746R4N5E1.jpg)

プロトタイプをもとに議論する
プロトタイプを作ってみました
ふむふむ。ここがちょっと気になるな
このようにするのはどうでしょう
なるほど。問題ないと思います
議論が発散しづらくなる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
62


# Page. 63

![Page Image](https://bcdn.docswell.com/page/LJ1VQ452EG.jpg)

様々な課題
• 成果物についての課題
• アプリケーションの構造の課題
• 終わらない議論
• レビューの手戻りの課題
• PRが溜まる課題
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
63


# Page. 64

![Page Image](https://bcdn.docswell.com/page/GJWLMX52E2.jpg)

レビューの手戻りの課題
レビューお願いします！
ここの修正をお願いします
修正しました！
すみません、ここも修正お願いします。。
何度も手戻りが発生
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
64


# Page. 65

![Page Image](https://bcdn.docswell.com/page/4EZMQ6N4J3.jpg)

ペアプログラミングの導入
2人で開発し、実装とレビューを一気に終える
手戻りが発生しない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
65


# Page. 66

![Page Image](https://bcdn.docswell.com/page/Y76N628G7V.jpg)

様々な課題
• 成果物についての課題
• アプリケーションの構造の課題
• 終わらない議論
• レビューの手戻りの課題
• PRが溜まる課題
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
66


# Page. 67

![Page Image](https://bcdn.docswell.com/page/G755629X74.jpg)

PRが溜まる課題
🤖 OPENされているプルリクエストは10件です
[yjcard/app] #90 トップページの作成 (3日前)
[yjcard/app] #91 APIの作成 (2日前)
[yjcard/app] #92 バリデーション (1日前)
…..
なかなかマージされないなぁ
レビュー待ちのPRが溜まる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
67


# Page. 68

![Page Image](https://bcdn.docswell.com/page/9J2NM42QER.jpg)

レビュータイム
レビュータイムでは集中的にコードレビューを行う
⏰10:30 〜 11:00
レビュー待ちのPRを一気に消化
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
68


# Page. 69

![Page Image](https://bcdn.docswell.com/page/DEYPXMYYEM.jpg)

細かい改善が積み重なって
開発スピードがアップ🚀
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 70

![Page Image](https://bcdn.docswell.com/page/VJN51WPR78.jpg)

開発時間が増えた
開発時間の比較
72%
23%
!
P
U
に
倍
3
が
間
時
発
開
2017
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
2018
70


# Page. 71

![Page Image](https://bcdn.docswell.com/page/YE9Y5X3ZJ3.jpg)

Yahoo! カード天神開発チームのベロシティ
開発効率がUP！
ベロシティとはスプリントごとに消化したポイント数
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
71


# Page. 72

![Page Image](https://bcdn.docswell.com/page/GE86Y2LY7D.jpg)

気づいたら自然と混乱期を抜けていた
改善を続けることでチームに
一体感が生まれた😄
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
72


# Page. 73

![Page Image](https://bcdn.docswell.com/page/LEL942L9JR.jpg)

なぜうまくいったのか
こういうことやりたいです
こういうやり方はどうだろう
これやってみました
チームメンバーが自発的に改善を行ったから
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
73


# Page. 74

![Page Image](https://bcdn.docswell.com/page/4JMZK8MVEW.jpg)

正しいやり方は対話して
見つけていこう
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 75

![Page Image](https://bcdn.docswell.com/page/PJR6X5VW79.jpg)

うまくいかないときは
やり方が間違っている😨
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
75


# Page. 76

![Page Image](https://bcdn.docswell.com/page/PEXM6KZV7X.jpg)

うまくいかない例
このMTGってやる意味あります？
だって本にはこうしろって書いてあるし
時間がもったいなくないですか？
いや、これは必要だと思うけど
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
76


# Page. 77

![Page Image](https://bcdn.docswell.com/page/3EKG1585JD.jpg)

見落とされがちなポイント
本を書いた人はそれを利用する
全ての人のことを考慮できていない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
77


# Page. 78

![Page Image](https://bcdn.docswell.com/page/L73NQK2175.jpg)

使い手にあった正しいやり方をする必要がある
正しさとはなんなのか🤔
チームにあったやり方
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
78


# Page. 79

![Page Image](https://bcdn.docswell.com/page/87DW93ZKJG.jpg)

例えばこんな感じ
このMTGってやる意味あります？
なんでそう思うのかな？
時間がもったいなくないですか？
なるほど。他のメンバーの意見も聞いてみよう
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
79


# Page. 80

![Page Image](https://bcdn.docswell.com/page/VJP9Z4D3E8.jpg)

大事なのはコミュニケーション
メンバーの意見を大事にしよう😄
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
80


# Page. 81

![Page Image](https://bcdn.docswell.com/page/2EVMWX1NEQ.jpg)

メンバーの意見を大事にすると
どんどんチームの雰囲気がよくなっていく😄
こういうことやりたいです
こういうやり方はどうだろう
これやってみました
どんどん改善案が出てくる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
81


# Page. 82

![Page Image](https://bcdn.docswell.com/page/57GGDV257L.jpg)

うまくいくやり方を
見つけていこう😄
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 83

![Page Image](https://bcdn.docswell.com/page/4EQX16PL7P.jpg)

モダンになった
Yahoo! JAPANカード
のアプリケーション
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 84

![Page Image](https://bcdn.docswell.com/page/KJ46R4Y571.jpg)

概要
2. モダンになったYahoo! JAPANカードのアプリケーション
2.1 PHPからJavaへ
2.2 マイクロサービスアーキテクチャの採用
2.3 コンテナアプリケーションへの移行
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
84


# Page. 85

![Page Image](https://bcdn.docswell.com/page/LE1VQ4627G.jpg)

どのように変わったのか
言語
アーキテクチャ
サーバー
変更前
PHP
モノシリック
VM
変更後
Java
マイクロ
コンテナ
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
85


# Page. 86

![Page Image](https://bcdn.docswell.com/page/GEWLMXW272.jpg)

アプリケーションの一新
言語をPHPからJavaへ一新
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
86


# Page. 87

![Page Image](https://bcdn.docswell.com/page/47ZMQ654E3.jpg)

なぜJavaを選んだのか
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 88

![Page Image](https://bcdn.docswell.com/page/YJ6N629GJV.jpg)

可読性
Javaは型が厳格なため変数の値が明瞭
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
88


# Page. 89

![Page Image](https://bcdn.docswell.com/page/GJ5562NXJ4.jpg)

Spring Frameworkの存在
Spring Bootが開発されて
使いやすくなった
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
89


# Page. 90

![Page Image](https://bcdn.docswell.com/page/9E2NM45Q7R.jpg)

デプロイがシンプルに
デプロイはjarファイルを配置するだけ
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
90


# Page. 91

![Page Image](https://bcdn.docswell.com/page/D7YPXMKY7M.jpg)

アーキテクチャを変更
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 92

![Page Image](https://bcdn.docswell.com/page/VEN51WRRJ8.jpg)

モノリシックなサービス
をマイクロサービスへ
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 93

![Page Image](https://bcdn.docswell.com/page/Y79Y5XMZE3.jpg)

マイクロサービスアーキテクチャのメリット
例えば言語のメジャーバージョンアップをする場合
モノシリックサービス
マイクロサービス
影響範囲が限定される
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
93


# Page. 94

![Page Image](https://bcdn.docswell.com/page/G786Y21YJD.jpg)

もし変更の影響が様々なところに出る可能性があったら
うーん、影響範囲が広そうだから
このリリースはリスク高すぎない？🤔
消極的になってしまう😨
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
94


# Page. 95

![Page Image](https://bcdn.docswell.com/page/L7L942Q9ER.jpg)

コードの変更による影響が想定しやすいと
影響範囲が小さいと心理的にも安心👩
積極的にチャレンジしていける😄
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
95


# Page. 96

![Page Image](https://bcdn.docswell.com/page/4EMZK81V7W.jpg)

マイクロサービスアーキテクチャのメリット
モノシリック
マイクロ
テスト実行時間の短縮
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
96


# Page. 97

![Page Image](https://bcdn.docswell.com/page/PER6X5LWJ9.jpg)

テスト実行時間の短縮
テストが1分程度で完了する🚀
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
97


# Page. 98

![Page Image](https://bcdn.docswell.com/page/P7XM6KWVJX.jpg)

もちろんデメリット
もあります
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 99

![Page Image](https://bcdn.docswell.com/page/37KG15V5ED.jpg)

マイクロサービスアーキテクチャのデメリット
サービスA
サービスB
サービスC
• 認証機能
• 認証機能
• 認証機能
• APIクライアント
• APIクライアント
• APIクライアント
コードの共有がしにくい
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
99


# Page. 100

![Page Image](https://bcdn.docswell.com/page/LJ3NQKM1J5.jpg)

ライブラリ化すれば
よくない🤔
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 101

![Page Image](https://bcdn.docswell.com/page/8JDW936KEG.jpg)

共通コードはライブラリ化
サービスA
サービスB
サービスC
認証機能ライブラリ
ライブラリは社内Artifactoryで管理
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
101


# Page. 102

![Page Image](https://bcdn.docswell.com/page/VEP9Z4Y378.jpg)

アプリケーション構築の初期コスト
初期設定
CI設定
CD設定
手動構築
初期構築に2時間かかる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
102


# Page. 103

![Page Image](https://bcdn.docswell.com/page/27VMWXGN7Q.jpg)

自動化できそうだな🤔
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 104

![Page Image](https://bcdn.docswell.com/page/5JGGDV85JL.jpg)

アプリケーション構築の初期コストの削減
エコーサービスの開発
コマンドをいくつか実行するだけで
アプリケーションとCI/CD環境を構築
30分程度でアプリケーションの初期構築が可能
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
104


# Page. 105

![Page Image](https://bcdn.docswell.com/page/47QX169LJP.jpg)

アプリケーション構築の初期コスト
2時間から30分に短縮された
手動構築
エコーサービス
初期構築時間の短縮
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
105


# Page. 106

![Page Image](https://bcdn.docswell.com/page/KE46R4X5J1.jpg)

コンテナ
アプリケーション
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 107

![Page Image](https://bcdn.docswell.com/page/L71VQ4N2JG.jpg)

コンテナアプリケーションの主要技術
Docker + Kubernetes
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
107


# Page. 108

![Page Image](https://bcdn.docswell.com/page/G7WLMX42J2.jpg)

コンテナアプリケーションのメリット
スケーラブル
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
オート
ヒーリング
ローリング
アップデート
108


# Page. 109

![Page Image](https://bcdn.docswell.com/page/4JZMQ62473.jpg)

スケーラブル
アプリケーションのポッドを
自由に増減できる
アクセスが増えたから
Pod
Podを4台にしよう
New
Pod
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Pod
Pod
109


# Page. 110

![Page Image](https://bcdn.docswell.com/page/YE6N62VGEV.jpg)

オートヒーリング
障害の発生したポッドを自動的に削除し
新たにポッドを作成する
New
Pod
Pod
Pod
Pod
❌
Pod
ポッドの障害に対応する必要がない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
110


# Page. 111

![Page Image](https://bcdn.docswell.com/page/GE5562DXE4.jpg)

ローリングアップデート
ポッドの作成と削除を繰り返して
アプリケーションを更新する仕組み
Pod
Pod
Pod
V1
Pod数が減っていき
Pod
最終的に0になる
V1
Pod
V2
V2
Pod
Pod数が増えていき
最終的に元の数になる
アプリケーションを無停止で更新できる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.


# Page. 112

![Page Image](https://bcdn.docswell.com/page/972NM48QJR.jpg)

コンテナアプリケーションのメリット
サーバーの保守、運用が楽😄
スケーラブル
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
オート
ヒーリング
ローリング
アップデート
112


# Page. 113

![Page Image](https://bcdn.docswell.com/page/DJYPXM6YJM.jpg)

コンテナ
アプリケーション
移行への課題
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 114

![Page Image](https://bcdn.docswell.com/page/V7N51WZRE8.jpg)

認証
IPアドレスが定まらないのでIPアドレス
によるアクセス制御ができない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
114


# Page. 115

![Page Image](https://bcdn.docswell.com/page/YJ9Y5XZZ73.jpg)

ロールベースの認証システムに変更
認証トークン
認証
Service
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
認証システム
115


# Page. 116

![Page Image](https://bcdn.docswell.com/page/GJ86Y9YYED.jpg)

ログの集約
• コンテナのログは消える
• どこかにログを集約しないといけない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
116


# Page. 117

![Page Image](https://bcdn.docswell.com/page/LJL94W497R.jpg)

ログはSplunkに集約
Splunk
ログを送信
Pod
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
ログの検索、参照
Pod
117


# Page. 118

![Page Image](https://bcdn.docswell.com/page/47MZK9KVJW.jpg)

技術面でよくなったこと
扱いやすいシステムになった
Java
マイクロサービス
コンテナ
可読性
影響範囲が
保守、管理
の向上
限定される
が容易
開発スピードの向上
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.


# Page. 119

![Page Image](https://bcdn.docswell.com/page/P7R6XGXWE9.jpg)

アジャイルについて
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 120

![Page Image](https://bcdn.docswell.com/page/PJXM6X6VEX.jpg)

概要
3. アジャイルとは
3.1 私の考えるアジャイルとは
3.2 さいごに
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
120


# Page. 121

![Page Image](https://bcdn.docswell.com/page/3JKG1W157D.jpg)

アジャイルという言葉
アジャイルの意味が人によって
異なっているような🤔
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
121


# Page. 122

![Page Image](https://bcdn.docswell.com/page/LE3NQ1Q1E5.jpg)

アジャイルはやり方ではない
Don&#039;t just do agile. Be agile.
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
122


# Page. 123

![Page Image](https://bcdn.docswell.com/page/8EDW9X9K7G.jpg)

アジャイルとは姿勢である
よりよいやり方を見つけていく
姿勢こそがアジャイル
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
123


# Page. 124

![Page Image](https://bcdn.docswell.com/page/V7P9ZPZ3J8.jpg)

アジャイルにこだわらない
ゴールはプロジェクトを成功させること
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
124


# Page. 125

![Page Image](https://bcdn.docswell.com/page/2JVMW2WNJQ.jpg)

さいごに
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 126

![Page Image](https://bcdn.docswell.com/page/5EGGDRD5EL.jpg)

アプリケーション開発に
正解はないが工夫する
ことはできる😄
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


# Page. 127

![Page Image](https://bcdn.docswell.com/page/4JQX1V1LEP.jpg)

アプリケーション開発
って楽しい😄
Copyright (C)
2018
Yahoo
Japan
Corporation.
All Rights
Copyright
(C)
2018
Yahoo
Japan
Corporation.
All Reserved.
Rights Reserved.


