Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
レビューの仕方
Search
Yosuke Furukawa
PRO
October 25, 2021
Programming
64k
84
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レビューの仕方
Open8 勉強会で発表したレビューの仕方と心理的安全性の話しです。
Yosuke Furukawa
PRO
October 25, 2021
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
Webの地図
yosuke_furukawa
PRO
6
5.1k
XHTMLが残したもの
yosuke_furukawa
PRO
2
900
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
430
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
320
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
5.4k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.9k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
380
Removing Corepack
yosuke_furukawa
PRO
9
2k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
3.2k
Other Decks in Programming
See All in Programming
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
130
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
160
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
JRuby: Past, Present, and Future
headius
0
220
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
ジョジョの世界をXRで再現する
mofurune
0
130
FreeBSDでZabbixを動かす
kenkino
0
360
Java 27新機能 / Java 27 new features
kishida
2
200
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
iOSDC2026登壇資料.pdf
riofujimon
0
210
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
520
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
210
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
How to build a perfect <img>
jonoalderson
1
6.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
580
Building an army of robots
kneath
307
47k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Designing for humans not robots
tammielis
254
26k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
350
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Transcript
ϨϏϡʔͷํ 2021/10/25 @ Open8 ษڧձ
Twitter: @yosuke_furukawa Github: yosuke-furukawa ࠷ۙͷ׆ಈ $ISPNF"EWJTPSZ#PBSE +4$POG+1PSHBOJ[FSFUD
ίʔυϨϏϡʔʹ͍ͭͯͷ
ίʔυϨϏϡʔࢀߟจݙɹ https://google.github.io/eng-practices/
ίʔυϨϏϡʔͷલʹ
ίʔυϨϏϡʔͷલʹؾʹͯ͠ ͓͘͜ͱ • ίʔυͷঢ়ଶʹ͓͍ͯʮBestʯଘࡏ͠ͳ͍ • ʮBetterʯ͕͋Δ͚ͩ • ݪཧओٛతͳࢥͰʮBestʯΛ͍ٻΊͯ αʔϏεͱͯ͠ಈ͔ͳ͔ͬͨΒແՁ
ίʔυϨϏϡʔͷલʹؾʹͯ͠ ͓͘͜ͱ • ίʔυͷঢ়ଶʹ͓͍ͯʮBestʯଘࡏ͠ͳ͍ • ʮBetterʯ͕͋Δ͚ͩ • ݪཧओٛతͳࢥͰʮBestʯΛ͍ٻΊͯ αʔϏεͱͯ͠ಈ͔ͳ͔ͬͨΒແՁ ͜͜Λצҧ͍ͪ͠Ό͍͚ͳ͍ɻ
͋Δ͖࢟Λ͍ٻΊͭͭɺՁΛ࢈Έͩ͢ඞཁ͕͋Δɻ
ίʔυϨϏϡʔͷత
ίʔυϨϏϡʔͷత • ͦͷίʔυ͕Ճ͞ΕΔ͜ͱͰɺίʔυશମ ͷ݈શੑ্͕͞Ε͍ͯΔ͜ͱ • ͏গ͠ࡅ͍ͯݴ͏ͱɺࠓΑΓίʔυ͕ Better ͳঢ়ଶʹͳΔ͜ͱ 1VMM3FRVFTU͕࡞ۀରͷίʔυશମͷ݈શੑΛ্͍ͤͯ͞Δ #FUUFSʹͳΔ
ͱ͍͏ج४ΛຬͨͤɺϚʔδ͠ͳ͚Ε͍͚ͳ͍ɻ
ίʔυϨϏϡʔͷత • ίʔυ͕ Best ͳঢ়ଶͰ͋Δඞཁͳ͘ɺ Better ͳঢ়ଶͰ͋Εྑ͍ɻ • Ϛʔδ͢Δલʹ͋ΒΏΔࡉ͔͍෦ͷચ࿅Λ ٻΊΔ͖Ͱͳ͍ɻ
• ϨϏϡΞ͕ٻΊΔͷᘳ͞Ͱͳ͘ɺܧଓ తͳվળͰ͋Δ͖ɻ
ίʔυϨϏϡʔͷత • ᘳͳͷͰͳͯ͘Ϛʔδ͠ͳ͚ΕͳΒ ͳ͍ɻ • ҰํͰɺίʔυͷ݈શੑ͕ଛͳΘΕ͍͍ͯ ͱ͍͏༁Ͱͳ͍ɻ • ݈શੑ͕ࣦΘΕΔίʔυΛϚʔδͯ͠ྑ͍ͷ ʮۓٸࣄଶʯͷͱ͖͚ͩɻ
ݪଇ • ٕज़తͳࣄ࣮σʔλʹΑͬͯͷमਖ਼ݸਓͷΈΑΓ ॏࢹ͢Δ͖ • ελΠϧͷελΠϧΨΠυΛࣄલʹܾΊ͓͖ͯ͘ • ෳͷબ͕͋Γ͑ͯɺͲͪΒಉ༷ʹ݈શੑ͕୲อ͞ ΕΔͷͰ͋Εɺίʔυ࡞ऀͷҙݟ͕ଚॏ͞ΕΔ͖ •
্هͷͲͷϧʔϧͯ·Βͳ͍߹ϨϏϡϫʔʹΑ ΔҰ؏ੑ͕ࢦఠ͞ΕΔ͖
࣮ྫ1: ςετίʔυͳ͠ίϛο τ • ίʔυͷػೳతͳՃ͞Ε͍ͯΔ͕ɺςετίʔ υ͕શ͘ଘࡏ͠ͳ͍ • ίʔυͷ݈શੑͱ͍͏ҙຯͰςετίʔυ͕ଘ ࡏ͠ͳ͍ίʔυϚʔδ͞ΕΔ͖Ͱͳ͍ •
ͨͩ͠ɺςετίʔυ͕ͦͦଘࡏ͠ͳ͍ͱ͜ Ζʹରͯ͠ػೳͷՃΛ͍ͯ͠ΔͷͰ͋ΕɺࠓΑ Γ͔ྑ͘ͳ͍ͬͯΔͨΊɺϚʔδ͞ΕΔ͖ɻ
࣮ྫ2: ΞϧΰϦζϜ͕͍ • ػೳՃ͞Ε͍ͯΔ͕ɺΞϧΰϦζϜ͕͘ɺͬ ͱ៉ྷʹߴͳͷ͕ॻ͚Δ࣌ • ͦΕ͕݈શ͔Ͳ͏͔ͰܾΊΔɻଞͷؔશͯߴԽ ϦʔμϏϦςΟʹྀ͞Ε͍ͯΔͷͰ͋Εɺ݈શ ͡Όͳ͘ͳΔ͔ΒɺΞϧΰϦζϜΛ͖͢ •
ҰํͰผʹଞͦΜͳʹ៉ྷ͡Όͳ͍ͳΒɺҰ୴ίϝ ϯτʹ TODO Λॻ͍͓͍ͯͯϚʔδ͢Δͷ͋Γɻ
ϨϏϡʔͰݟΔ͖ॴ
ϨϏϡʔͰݟΔ͖ॴ • ίʔυ͕ͪΌΜͱઃܭ͞Ε͍ͯΔ͔Ͳ͏͔ • ػೳ͕ͪΌΜͱՃ͞Ε͍ͯΔ͔Ͳ͏͔ • ಈ࡞֬ೝͯ͠νΣοΫ͍͍ͯ͠ʢUIͷ࣌ඞ ਢʣ • ฒྻॲཧͱ͔ਖ਼نදݱͱ͔҆શੑʹؔΘΔॴ
దͳϨϏϡϫʔ͕ͪΌΜͱݟΔ
ϨϏϡʔͰݟΔ͖ॴ • ίʔυ͕ඞཁҎ্ʹෳࡶ͡Όͳ͍ • কདྷඞཁʹͳΔ͔ɾɾɾΈ͍ͨͳͷ࣮ ͠ͳ͍΄͏͕͍͍ • ςετ͕ଘࡏ͢Δ͔ • ςετ͕దʹઃܭ͞Ε͍ͯΔ͔
ϨϏϡʔͰݟΔ͖ॴ • มɾؔɾΫϥε໊ͳͲ͕ͪΌΜͱ໋໊͞ Ε͍ͯΔ͔ • ίϝϯτʹ Why ͕ॻ͔Ε͍ͯΔ͔ • What
Λॻ͍͍͚ͯͳ͍
ϨϏϡʔͰݟΔ͖ॴ • υΩϡϝϯτ͕ॻ͔Ε͍ͯΔ͔ • ελΠϧελΠϧΨΠυʹै͍ͬͯΔ͔ • ελΠϧΨΠυ͕ͳ͍ͳΒ͔ͦ͜ΒΔ ͖
ϨϏϡʔͰݟΔ͖ॴ • ͯ͢ͷߦΛͪΌΜͱݟ͍ͯΔ͜ͱ • ίϯςΩετΛଊ͍͑ͯΔ͔Ͳ͏͔ • ྑ͍ॴ͕͋ͬͨΒͪΌΜͱ๙ΊΔ
ίʔυϨϏϡʔͷεϐʔυ
ίʔυϨϏϡʔͷεϐʔυ • ίʔυϨϏϡʔͷεϐʔυ͕νʔϜͷεϐʔυͱ ੜ࢈ੑʹ݁͢Δ • ͕͔͔࣌ؒΕ͔͔Δ΄ͲίʔυϨϏϡʔͷϓϩ ηε͕໘ʹײ͡ΒΕΔ • ϨϏϡʔ͕͍ͱίʔυΛϦϑΝΫλϦϯάͨ͠ Γςετॻ͍ͨΓͱݴͬͨॲཧΛΓͨ͘ͳ͘ͳ
Δ
ίʔυϨϏϡʔ͍ͭΔ͔ʁ
དྷͨΒ͙͢Δɻ ͯ͘ཌ·ͰʹΔɻ
ͱΓ͋͑ͣ࠷ॳͷฦࣄΛฦͦ͏ • Ϛʔδ͞ΕΔ·Ͱ͕͘ͳ͖Ό͍͚ͳ͍Θ͚ ͡Όͳ͍ɻ • શ෦ݟΔͷΛҰͰΒͳ͖Ό͍͚ͳ͍Θ͚ ͡Όͳ͍ɻ • ͱΓ͋͑ͣ࠷ॳͷฦࣄΛฦ͢·Ͱ͕ҰҎ ͱ͍͏ɻ
ଚܟͱײँ • ͕࣌ؒऔΕͳ͍ͳΒऔΕͳ͍ͳΓʹฦ͠ํ͕ ͋Δ • PR ͷઆ໌ΛಡΉ͚ͩͰ͋ΔఔฦͤΔ͕࣌͋ Δ • ଚܟͱײँͷҙΛ͑Δ͚ͩͰྑ͔ͬͨΓ
͢Δ
͍PRͩͳʔͱࢥͬͨΒׂ͠ ͯΒ͏ • PR͕ͯ͘ɺಡΈΔ·Ͱʹ͕͔͔࣌ؒΔͳΒ ׂͯ͠Β͏ख͋Δ • ϝΠϯ෦͚ͩՃͯ͠ΒͬͯɺΓͷPR ผύʔτʹ͚ΔͳͲ • খ͞ͳPRΛ࡞Δ͜ͱϨϏϡϫʔΛॿ͚Δࣄ͕
ଟ͍
ྫ֎
ۓٸࣄଶ
ۓٸࣄଶ • ϢʔβʔʹӨڹͷ͋Δόά͕ग़ͯΔ • ηΩϡϦςΟϗʔϧ͕͋ͬͯσʔλྲྀग़͕ى ͖ͦ͏ • ͳͲͳͲ • ͜͏͍͏࣌ίʔυͷ݈શੑΛΕ͍͍ͯɻ
ίʔυϨϏϡʔͷ͏Ұͭͷ త
ίʔυϨϏϡʔʹϝϯλϦϯ άͷଆ໘͕͋Δ • ίʔυϨϏϡʔڭҭͷͰ͋Δ • ͦ͏͍͏࣌ʹ͑ͯݫ͘͠ڭ͑Δͷྑ͍ • ͕ࣗࠓ݈શੑ୲อͷࢠΛ͔Ϳ͍ͬͯͯ͠Δͷ ͔ɺϝϯλʔͱͯ͠ͷҭͷࢠΛ͔Ϳ͍ͬͯͯ͠Δ ͷ͔Λೝࣝ͢Δ
• ͦͷ্ͰͷίϝϯτͰ͋ΕBestΛٻΊΔ͜ͱ͋Γɻ
ίʔυϨϏϡʔͰҙݟ͕ରཱ ͨ͠ͱ͖
ҙݟ͕ରཱͨ͠ͱ͖ • จ໘͚ͩͰΓऔΓ͠ͳ͍ɻ • ର໘/ΦϯϥΠϯͰϛʔςΟϯά͢Δɻ • ϛʔςΟϯάͷࡍʹPRͷίϝϯτཝʹٞࣄΛ͢ • ͦΕͰมΘΒͳ͍࣌ר͖ࠐΉਓΛ૿͢ •
νʔϜϦʔμʔʹೖͬͯΒ͏ • ٕज़ސʹॿྗΛٻΊΔ˒˒˒ • ॏཁͳ͜ͱ: ҙݟ͕ରཱͯ͠Δ͔ΒͱݴͬͯPRΛ์ஔ͍͚ͯ͠ͳ͍
͜͜·Ͱݟ͔ͯΔ௨Γ
ίʔυϨϏϡʔͱ୯ͳΔ։ ൃ࡞ۀͰͳ͘ɺνʔϜϏϧ υͰ͋Δ
ͪΐͬͱໟ৭ͷҧ͏ • THE CULTURE CODE ࠷ڧνʔϜΛ࡞Δํ๏ https://www.amazon.co.jp/dp/4761273828/
࠷ڧͷνʔϜΛ࡞Δʹ • ҆શͳڥΛ࡞Δ͜ͱ͕Ұ൪ • ͍ΘΏΔʮ৺ཧత҆શੑʯͱݺΕΔͷ • ҆શͳڥ͕ͳ͍߹ɺͲΜͳʹྑ͍ϨϏϡʔ Λ͍ͯ͠Δͱͯ͠νʔϜͷੜ࢈ੑམͪΔ • ࠷ऴతʹίʔυͷ݈શੑʹͭͳ͕Βͳ͍ɺ
Ώͬ͘ΓͱഇΕ͍ͯ͘
ͱ͋Δ࣮ݧ • ৽͍͠ϚʔέςΟϯάઓུΛߟ͑ΔձٞΛ3ͭ࡞ͬͨ • χοΫͱ͍͏ֻ͚ਓΛૹΓࠐΉ • χοΫʮ߈ܸతͳଶΛऔΔʯʮଵଦͳʯ ʮԿ͔ͱ۪ஒΛݴ͏ʯͷ̏ͭΛͦͷͦΕͧΕͷ ձٞͰߦͬͨɻ •
Ͳ͏ͳ͔ͬͨɾɾɾʁ
શͯͷձٞͰ30-40%ੜ࢈ੑ ͕Լͨ͠
͜͏͍͏ਓ͕͍Δ߹ • ͔ʹͦͷਓΛഉআ͠ͳ͍ͱ͍͚ͳ͍ • ͨͩ͠ɺඞͣͦ͠ͷਓΛഉআͰ͖ͳ͍͕࣌ ͋Δ • ͦ͏͍͏ͱ͖ʹத׆ಈΛऔΔ͕Ͱ͖Δͱ ྑ͍ɻ
த׆ಈ • ʮͦͷΞΠσΞ͍͍ͱࢥ͏ʯͳͲͷͪΐͬͱͨ͠ঝ ೝ • ʮ͜ΕΓ͖ͬͨΒձࣾͷʹܨ͕Γ·͢ͶʯͳͲ ͷΔؾΛग़͢ൃݴ • ʮ૬खͷҙݟΛ૬ṀΛଧͪͳ͕Β৺ʹฉ͘ʯͱ͍ͬ ͨฉ͖ग़࢟͢
• ͳͲͳͲ
த׆ಈ • ʮͦͷΞΠσΞ͍͍ͱࢥ͏ʯͳͲͷͪΐͬͱͨ͠ঝ ೝ • ʮ͜ΕΓ͖ͬͨΒձࣾͷʹܨ͕Γ·͢ͶʯͳͲ ͷΔؾΛग़͢ൃݴ • ʮ૬खͷҙݟΛ૬ṀΛଧͪͳ͕Β৺ʹฉ͘ʯͱ͍ͬ ͨฉ͖ग़࢟͢
• ͳͲͳͲ ͜ΕΒͷத׆ಈʹΑͬͯपΓͷϝϯόʔͷ৺ཧత҆શੑͷؾ͕Δ
࠷ڧͷνʔϜʹ৺ཧత҆શ ੑ͕ඞཁͳ͜ͱΘ͔ͬͨɻ Ͱ৺ཧత҆શੑͱͳʹ ͔ʁ
৺ཧత҆શੑͱ • ͜ͷάϧʔϓʹؼଐͯ҆͠શͩͱ͍͏ҙࣝͷ͜ͱ • ͦͷҙࣝҎԼͷ͕୲อ͞Ε͍ͯΔͱಘΒΕΔ • ϝϯόʔಉ࢜ͷަྲྀΛେʹ͍ͯ͠Δʢίϛϡχέʔγϣϯʣ • ϝϯόʔΛݸͱͯ͠ೝΊɺଚܟ͍ͯ͠ΔʢϦεϖΫτʣ •
͜ͷ͕ؔ͜Ε͔Βଓ͘ͱ͍͏ະདྷࢦʢϑϡʔνϟʔʣ • ৺ཧత҆શੑަྲྀͱଚܟͱະདྷࢦʹΑͬͯಘΒΕΔ
νʔϜͷύϑΥʔϚϯε5ͭ ͷܭଌՄೳͳཁૉΛ࣋ͭ • νʔϜશһ͕͠ɺ͢ྔಉ͡ɺͦΕͰ͍ͯɺҰճͷൃݴ͍ • ϝϯόʔؒͷΞΠίϯλΫτ͕Μɺձ͑ํʹϦεϖΫτ͕ ײ͡ΒΕΔ • Ϧʔμʔ͚ͩʹ͢ͷͰͳ͘ɺϝϯόʔಉ࢜Ͱίϛϡχέʔγϣ ϯ͕Μ
• ϝϯόʔؒͷݸਓతͳࡶஊ͕͋Δ • ϝϯόʔ͕ఆظతʹνʔϜΛΕͯɺ֎ͷڥʹ৮Εͯͬͯ͘ Δɻͦͷ࣌ʹ৽͍͠ใΛϝϯόʔͱڞ༗͍ͯ͠Δɻ
Ұݟ͢Δͱʮ͑ͬͦΕ͕େࣄ ͳͷʁʯ͍ͬͯ͏ॴ͔Γ
զʑͷνʔϜͷύϑΥʔϚϯ εΛܾΊΔͷʮ҆͜͜શ ͳॴͩɺࢲୡͭͳ͕ͬͯ ͍Δʯͱ͍͏ϝοηʔδΛ ͑Δଶ
·ͱΊ
ίʔυϨϏϡʔͷํͱνʔϜ Ϗϧυ • ίʔυϨϏϡʔࠓΑΓྑ͘ͳΔ͜ͱΛड͚ೖΕΔͨΊʹ࣮ࢪ͢Δߦҝɺϕετ͕͋ΔΘ͚ ͡Όͳ͍͜ͱΛཧղ͢Δ • ίʔυϨϏϡʔʹઃܭɺػೳʹՃ͑ͯςετυΩϡϝϯτɺͯ͢ͷߦΛݟΔඞཁ͕͋Δ • ͳΔ͘ૉૣ͘ϨεϙϯεΛฦ͢ •
ᎍΊΔ͜ͱ͕͋Δͱࢥ͏͕ɺᎍΊͯݐઃతʹͳΔΑ͏ʹΊΔ • ͜ΕνʔϜϏϧυͱҰॹɺͳΔ͘ੜ࢈ੑΛԼ͛Δ͔Βԕ͚͟Δඞཁ͕͋Δ • த׆ಈΛ͢Δ͜ͱͰੜ࢈ੑͷݮୀΛதͰ͖Δ • ৺ཧత҆શੑͱʮ͜͜ʹ͍ͯ҆৺ͩʯͱ͍͏ؼଐҙࣝ • νʔϜશମͰʮ҆͜͜શͳॴͩɺࢲୡͭͳ͕͍ͬͯΔʯͱ͍͏ϝοηʔδΛ͑Δඞཁ͕ ͋Δ