SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
C O D E R E V I E W 
俺のコードレビュー 
@TAKAKING22 
TAKAO OYOBE 
及部敬雄 
2014.11.5 
俺のコードレビュー勉強会
コードレビューしてますか?
コードレビューの目的は?
品質の担保 
認識合わせ 
教育
Really?
品質の担保 
認識合わせ 
教育 
- CI、静的解析、テスト … 
- コード規約、ペアプロ … 
- ペアプロ、家でやれy …
品質の担保 
認識合わせ 
教育 
- CI、静的解析、テスト … 
コードレビューじゃなくても 
できる方法はある 
- コード規約、ペアプロ … 
- ペアプロ、家でやれy …
まさか… 
品質の担保 
認識合わせ 
教育 
偉い人が見るため 
偉い人が知るため 
偉い人が新人を…(ry
あるいは… 
品質の担保 
認識合わせ 
教育 
した気になってる 
した気になってる 
した気になってる
コードレビューの儀式化
コードレビューは 
問題解決の一手段 
でしかない
隣のコードレビューを 
そのまま真似しても 
効果はあまり出ないかも
なぜなら… 
よそはよそ、うちはうち 
成功した事例には、 
コンテキストや制約が存在し、 
それがあなたのチームに 
当てはまるとは限らないから
うわ… 
うちのコードレビュー 
効果なさすぎ…? 
こうならないために 
どうすればいよいのか? 
http://www.pakutaso.com/20120806242post-1877.html
パターンランゲージ 
http://books.rakuten.co.jp/rb/12432779/
パターン=再現可能な解決策 
http://www.slideshare.net/kawaguti/20111207-u
パターンは組み合わせ可能 
http://www.slideshare.net/kawaguti/20111207-u
組み合わせて意味を持つ 
http://www.slideshare.net/kdmsnr/fearlessjourneypostudy
まとめると、 
•事例だけでは役に立たない •事例からパターンに落とす •パターンを組み合わせて適用する •組み合わせることで効果が出る 
http://www.slideshare.net/kdmsnr/fearlessjourneypostudy
つまり、 
•自分のチームの問題・課題を見える化 •事例からパターンに変換する •パターンを取捨選択する •パターン組み合わせて実施する 
点ではなく、 
線・面で問題解決する 
http://www.slideshare.net/kdmsnr/fearlessjourneypostudy
実はぶっちゃけ… 
パターンってうさんくさくて 
あんまり好きじゃなかった
実はぶっちゃけ… 
でも教科書通りじゃ 
うまくいかねーんだよ 
いろいろ考えてやろうぜ 
ってことを代弁してくれてて 
ちょっと好きになった
持って帰って欲しいもの 
コードレビューパターン
Pull Request 
コンテキスト問題 
レビューのログを残したい 
人によって残し方が 
バラバラでレビューがつらい 
制約解決 
Gitの使い方を覚える必要ありPull Requestを用いる
レビューコンテキスト 
コンテキスト問題 
レビューの目的と観点を 
明確にしたい 
レビューの目的が不明確で 
必要な準備が不足している 
観点がつかみにくい 
制約解決 
時間がかかるレビューの最初に 
レビューコンテキストを 
説明してからレビューを開始
チームレビュー 
コンテキスト問題 
レビューの質をあげたい 
レビュワーを増やしたい 
つまらない指摘が多くて 
レビューに 
改善が盛り込めない 
制約解決 
時間がかかるチームレビューを導入し、 
全員がレビュワーになる 
(レビュワーの観点を知る)
レビューカウント 
コンテキスト問題 
レビュー施策の効果を 
計測したい 
改善策はやっているが 
客観的な効果計測が 
できていない 
制約解決 
レビューカウントが多いから 
といって質が悪いとは 
一概には言えない 
1つのチケットにかかった 
レビュー回数をハンコで 
計測して見える化
レビューの見える化 
コンテキスト問題 
一日のレビュー状況と偏りを 
見える化したい 
自己中心的なレビュー予約が 
増えてレビュワーの作業時間 
が逼迫する 
制約解決 
変更の際は変更コストが発生かんばん&付箋でレビューを 
見える化して朝礼で確認
レビュー時間の固定化 
コンテキスト問題 
レビュー調整のコストを 
下げたい 
レビュワーが忙しく 
レビュー時間の調整に時間が 
かかってしまう 
制約解決 
レビュワーの作業時間が 
不確定 
レビュータイムを朝夕に設けて 
必要な人がその枠を予約する
今紹介したのは、 
自分の現場で実際にやっている 
コードレビューパターンの一例です。 
今日たくさんパターンの原石が 
見つかると思うので、 
それを組み合わせて自分のチームの 
改善に活かしてください。
C O D E R E V I E W 
俺のコードレビュー
今のチームにとって 
必要なコードレビューを 
やっている
ぶっ壊したい!! 
今のチームにとって 
必要なコードレビューを 
やっている
こうじゃなくて、 
チェック 
確認学び
こうなるように 
チェック 
確認 
学び
コードレビューで 
もっとわくわくできるハズ
コードレビューで 
もっと上を目指せるハズ
コードレビューは必要なのか?
お前のコードレビューはどうだ?

Mais conteúdo relacionado

Mais de Takao Oyobe

Move into speaker deck
Move into speaker deckMove into speaker deck
Move into speaker deckTakao Oyobe
 
チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1
チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1
チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1Takao Oyobe
 
僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamurai
僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamurai僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamurai
僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamuraiTakao Oyobe
 
俺のインセプションデッキ【Remaster版】
俺のインセプションデッキ【Remaster版】俺のインセプションデッキ【Remaster版】
俺のインセプションデッキ【Remaster版】Takao Oyobe
 
5分でわかった気になるインセプションデッキ
5分でわかった気になるインセプションデッキ5分でわかった気になるインセプションデッキ
5分でわかった気になるインセプションデッキTakao Oyobe
 
【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiA
【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiA【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiA
【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiATakao Oyobe
 
20141213 俺のインセプションデッキ #agilesamurai
20141213 俺のインセプションデッキ #agilesamurai20141213 俺のインセプションデッキ #agilesamurai
20141213 俺のインセプションデッキ #agilesamuraiTakao Oyobe
 
20141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc4820141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc48Takao Oyobe
 
(Beta)clean release manual
(Beta)clean release manual(Beta)clean release manual
(Beta)clean release manualTakao Oyobe
 
つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -Takao Oyobe
 
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -Takao Oyobe
 
はじめてのふりかえり
はじめてのふりかえりはじめてのふりかえり
はじめてのふりかえりTakao Oyobe
 
えんじにあというおしごと
えんじにあというおしごとえんじにあというおしごと
えんじにあというおしごとTakao Oyobe
 
secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~Takao Oyobe
 
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~Takao Oyobe
 
Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -Takao Oyobe
 
アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革Takao Oyobe
 
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -Takao Oyobe
 
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -Takao Oyobe
 

Mais de Takao Oyobe (19)

Move into speaker deck
Move into speaker deckMove into speaker deck
Move into speaker deck
 
チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1
チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1
チームのチームによるチームのためのアジャイル開発 -誰がやる!?じゃあ俺やるよ!- #devsumi #kansumi #kansumiA1
 
僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamurai
僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamurai僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamurai
僕らのふりかえり戦略 -チームのコンパスをつくる- #agilesamurai
 
俺のインセプションデッキ【Remaster版】
俺のインセプションデッキ【Remaster版】俺のインセプションデッキ【Remaster版】
俺のインセプションデッキ【Remaster版】
 
5分でわかった気になるインセプションデッキ
5分でわかった気になるインセプションデッキ5分でわかった気になるインセプションデッキ
5分でわかった気になるインセプションデッキ
 
【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiA
【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiA【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiA
【20-A-7】アジャイルヒーローは誰だ!? #devsumi #devsumiA
 
20141213 俺のインセプションデッキ #agilesamurai
20141213 俺のインセプションデッキ #agilesamurai20141213 俺のインセプションデッキ #agilesamurai
20141213 俺のインセプションデッキ #agilesamurai
 
20141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc4820141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc48
 
(Beta)clean release manual
(Beta)clean release manual(Beta)clean release manual
(Beta)clean release manual
 
つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -
 
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
 
はじめてのふりかえり
はじめてのふりかえりはじめてのふりかえり
はじめてのふりかえり
 
えんじにあというおしごと
えんじにあというおしごとえんじにあというおしごと
えんじにあというおしごと
 
secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~
 
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
 
Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -
 
アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革
 
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
 
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Último (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

20141105 俺のコードレビュー(lightning talk) #devraku