SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
山下 真一郎
市場で勝ち続けるための
品質とテストの技術
2017年2月16日
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
自己紹介
山下 真一郎
iOS版ヤフオク!
開発リーダー
過去の担当サービス
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
課題
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
従来開発の課題①
ビルド時間推移
ビルド時間
2010年 現在
増加
開発効率低下
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
従来開発の課題②
UIテスト
受け入れテスト
単体
テスト
手動テスト
単体テスト
不十分な
増加
リードタイム
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Pivotal Labs
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
新しい開発手法
リーンソフトウェア開発
XP(エクストリームプログラミング)
画像
LEAN XP
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
LEAN XP
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
登場人物
プロダクトマネージャー
• バックログマネジメント
エンジニア
• ペアプログラミング
• テスト駆動開発
プロダクトマネージャー
エンジニア
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ペアプログラミング
A B
C DE F
タスク1
タスク2タスク3
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ペアプログラミング
A B
C DE F
タスク1
タスク2タスク3
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ペアプログラミング
A B
C DE F
タスク1
タスク2タスク3
自分が知らなかった
実装方法
トラブルシューティング
ショートカット
の学習
技術力底上
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ペアプログラミング
//
// ViewController.swift
// YAuction
//
// Created by 山下 真一郎 on 2017/02/12.
// Copyright © 2017年 山下 真一郎.
// All rights reserved.
//
import UIKit
class ViewController: UIViewController {
}
ソースコードの
共同所有
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ペアプログラミング
import UIKit
class ViewController: UIViewController {
}
削除
ソースコードの
共同所有
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ペアプログラミング
// Copyright削除
import UIKit
class ViewController: UIViewController {
}
$ git duet A-san B-san
A-san B-san
ソースコードの
共同所有
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ペアプログラミング
// Copyright削除
import UIKit
class ViewController: UIViewController {
}
$ git duet A-san B-san
A-san B-san
ソースコードの
共同所有
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
テスト駆動開発
テスト駆動開発
1. 失敗するテストを書く
2. テストを通す
3. リファクタリング
RED
GreenRefactor
ナビゲーター
ドライバーナビゲーター
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
テスト駆動開発
RED
ナビゲーター
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
テスト駆動開発
Green
ドライバー
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
テスト駆動開発
Refactor
ナビゲーター
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
バックログマネジメント
ペルソナ
・
・
・
シナリオ ストーリー
(タスク)
・
・
・
入札
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
シナリオ
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ストーリー
詳細
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
詳細
ストーリー
前提条件
もし
かつ
ならば
Gherkin format
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ストーリー
詳細
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
開発の1サイクル
エンジニアPM
開発の1サイクル
1. ストーリーを渡す
2. ジャンケン見積もり
3. 実装
4. 受け入れテスト
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ジャンケン見積もり
数字 意味
0 単体テストに影響のない実装
1 単体テストに影響があり、実装が簡単
2 単体テストに影響があり、実装が面倒
3 実装方針が分からず調査が必要
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
結果
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
結果
受け入れテスト失敗数
激減
受け入れテスト失敗数推移
前回 今回
3%
20%
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
結果
リードタイム
激減
リードタイム
前回 今回
2週
16週
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
総括
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
総括
• より小さくより価値の高いもの順に
• 単体テストの修復は最優先
• 実装は自分以外が確認
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
総括
高品質なソフトウェアを
高速に届けることが
約束できる強力なチーム
• より小さくより価値の高いもの順に
• 単体テストの修復は最優先
• 実装は自分以外が確認
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドプランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドYahoo!デベロッパーネットワーク
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!デベロッパーネットワーク
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みYahoo!デベロッパーネットワーク
 
データの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiCデータの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiCYahoo!デベロッパーネットワーク
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 
大規模インフラで考える インフラチームの未来
大規模インフラで考える インフラチームの未来大規模インフラで考える インフラチームの未来
大規模インフラで考える インフラチームの未来Masayuki Ueda
 

Was ist angesagt? (20)

kukai: 省エネ世界2位のディープラーニング・スパコン
kukai: 省エネ世界2位のディープラーニング・スパコンkukai: 省エネ世界2位のディープラーニング・スパコン
kukai: 省エネ世界2位のディープラーニング・スパコン
 
タブブラウザSDKを作った話 #yjcamp
タブブラウザSDKを作った話 #yjcampタブブラウザSDKを作った話 #yjcamp
タブブラウザSDKを作った話 #yjcamp
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
 
プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドプランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
 
広告における機械学習の適用例とシステムについて
広告における機械学習の適用例とシステムについて広告における機械学習の適用例とシステムについて
広告における機械学習の適用例とシステムについて
 
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo! JAPANのOSS Cassandra貢献の今までとこれからYahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
 
セキュリティ教育とUX ~結ばれていた赤い糸~
セキュリティ教育とUX ~結ばれていた赤い糸~セキュリティ教育とUX ~結ばれていた赤い糸~
セキュリティ教育とUX ~結ばれていた赤い糸~
 
データの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiCデータの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiC
 
絶対にタダでは転ばない広告エンジニア #yjmu
絶対にタダでは転ばない広告エンジニア #yjmu絶対にタダでは転ばない広告エンジニア #yjmu
絶対にタダでは転ばない広告エンジニア #yjmu
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
ヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtechヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtech
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~ Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
 
大規模インフラで考える インフラチームの未来
大規模インフラで考える インフラチームの未来大規模インフラで考える インフラチームの未来
大規模インフラで考える インフラチームの未来
 
#ibis2017 Description: IBIS2017の企画セッションでの発表資料
#ibis2017 Description: IBIS2017の企画セッションでの発表資料#ibis2017 Description: IBIS2017の企画セッションでの発表資料
#ibis2017 Description: IBIS2017の企画セッションでの発表資料
 
Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理
 

Ähnlich wie 市場で勝ち続けるための品質とテストの技術①

決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニーTokuhiro Eto
 
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...Yahoo!デベロッパーネットワーク
 
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnightヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnightYahoo!デベロッパーネットワーク
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2近藤 繁延
 
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったことMasayuki Ueda
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発Namito Satoyama
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo!デベロッパーネットワーク
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe MagentoHirokazu Nishi
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Recruit Technologies
 

Ähnlich wie 市場で勝ち続けるための品質とテストの技術① (20)

決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー
 
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
 
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnightヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
ヤフーのロギングSDKの挑戦〜データドリブン企業を目指して〜 #yjdsnight
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
Design pattern in presto source code
Design pattern in presto source codeDesign pattern in presto source code
Design pattern in presto source code
 
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
 
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
最若手メンバーこそチャンス!チーム改善に取り組んでわかったこと
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
Hive on Tezのベストプラクティス
Hive on TezのベストプラクティスHive on Tezのベストプラクティス
Hive on Tezのベストプラクティス
 
Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
 
Storm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreadingStorm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreading
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 

Mehr von Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

Mehr von Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

市場で勝ち続けるための品質とテストの技術①

  • 1. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 山下 真一郎 市場で勝ち続けるための 品質とテストの技術 2017年2月16日
  • 2. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 自己紹介 山下 真一郎 iOS版ヤフオク! 開発リーダー 過去の担当サービス
  • 3. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 課題
  • 4. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 従来開発の課題① ビルド時間推移 ビルド時間 2010年 現在 増加 開発効率低下
  • 5. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 従来開発の課題② UIテスト 受け入れテスト 単体 テスト 手動テスト 単体テスト 不十分な 増加 リードタイム
  • 6. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Pivotal Labs
  • 7. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 新しい開発手法 リーンソフトウェア開発 XP(エクストリームプログラミング) 画像 LEAN XP
  • 8. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. LEAN XP
  • 9. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 登場人物 プロダクトマネージャー • バックログマネジメント エンジニア • ペアプログラミング • テスト駆動開発 プロダクトマネージャー エンジニア
  • 10. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ペアプログラミング A B C DE F タスク1 タスク2タスク3
  • 11. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ペアプログラミング A B C DE F タスク1 タスク2タスク3
  • 12. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ペアプログラミング A B C DE F タスク1 タスク2タスク3 自分が知らなかった 実装方法 トラブルシューティング ショートカット の学習 技術力底上
  • 13. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ペアプログラミング // // ViewController.swift // YAuction // // Created by 山下 真一郎 on 2017/02/12. // Copyright © 2017年 山下 真一郎. // All rights reserved. // import UIKit class ViewController: UIViewController { } ソースコードの 共同所有
  • 14. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ペアプログラミング import UIKit class ViewController: UIViewController { } 削除 ソースコードの 共同所有
  • 15. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ペアプログラミング // Copyright削除 import UIKit class ViewController: UIViewController { } $ git duet A-san B-san A-san B-san ソースコードの 共同所有
  • 16. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ペアプログラミング // Copyright削除 import UIKit class ViewController: UIViewController { } $ git duet A-san B-san A-san B-san ソースコードの 共同所有
  • 17. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. テスト駆動開発 テスト駆動開発 1. 失敗するテストを書く 2. テストを通す 3. リファクタリング RED GreenRefactor ナビゲーター ドライバーナビゲーター
  • 18. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. テスト駆動開発 RED ナビゲーター
  • 19. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. テスト駆動開発 Green ドライバー
  • 20. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. テスト駆動開発 Refactor ナビゲーター
  • 21. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. バックログマネジメント ペルソナ ・ ・ ・ シナリオ ストーリー (タスク) ・ ・ ・ 入札
  • 22. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. シナリオ
  • 23. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ストーリー 詳細
  • 24. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 詳細 ストーリー 前提条件 もし かつ ならば Gherkin format
  • 25. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ストーリー 詳細
  • 26. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 開発の1サイクル エンジニアPM 開発の1サイクル 1. ストーリーを渡す 2. ジャンケン見積もり 3. 実装 4. 受け入れテスト
  • 27. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ジャンケン見積もり 数字 意味 0 単体テストに影響のない実装 1 単体テストに影響があり、実装が簡単 2 単体テストに影響があり、実装が面倒 3 実装方針が分からず調査が必要
  • 28. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 結果
  • 29. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 結果 受け入れテスト失敗数 激減 受け入れテスト失敗数推移 前回 今回 3% 20%
  • 30. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 結果 リードタイム 激減 リードタイム 前回 今回 2週 16週
  • 31. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 総括
  • 32. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 総括 • より小さくより価値の高いもの順に • 単体テストの修復は最優先 • 実装は自分以外が確認
  • 33. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 総括 高品質なソフトウェアを 高速に届けることが 約束できる強力なチーム • より小さくより価値の高いもの順に • 単体テストの修復は最優先 • 実装は自分以外が確認
  • 34. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.