Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Team Refactoring -強いチームをつくる技術- #dotsconf
Search
TAKAKING22
February 27, 2016
Technology
16
2.8k
Team Refactoring -強いチームをつくる技術- #dotsconf
2016年2月27日(土)Dots Conference Spring 2016にて。
「Team Refactoring -強いチームをつくる技術-」。
TAKAKING22
February 27, 2016
Tweet
Share
More Decks by TAKAKING22
See All by TAKAKING22
我々はなぜテストを書くのか / Why we write test codes
takaking22
7
870
AI時代のアジャイル開発 / Agile Development in the AI Era
takaking22
2
580
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい5個のコツ - / How to start Scrum that is not written in the Scrum Guide
takaking22
19
7k
よいチームをよい雰囲気を保ったままよい組織にスケールさせていくためにできること / What you can do to scale a good team into a good organization
takaking22
12
5.3k
Open Space Technology Introducion (EN)
takaking22
2
150
オープンプロポーザルの文化をよいものにしたい / improve the culture of open proposals
takaking22
1
920
いきいきした受託開発をするためにアジャイルチームができること / What Agile Teams Can Do for Lively Contract Development
takaking22
2
2.6k
家族を犠牲にしない!子育てエンジニアのコミュニティとの関わり方 / How to Engage with the Community for Parenting Engineers
takaking22
9
3k
リーダー&マネージャーのためのモブプログラミング / Mobprogramming for managers and leaders
takaking22
7
2.6k
Other Decks in Technology
See All in Technology
開発者の定量・定性データを組み合わせて開発者体験を把握するための取り組み
ham0215
1
130
20240911_New_Relicダッシュボード活用例
speakerdeckfk
0
110
効果的なオンコール対応と障害対応
ryuichi1208
6
3.1k
より快適なエラーログ監視を目指して
leveragestech
4
1.4k
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
130
DuckDB雑紹介(1.1対応版)@DuckDB座談会
ktz
6
1.4k
LLVM/ASMを使った有限体の高速実装
herumi
0
120
チームビルディングは"感性"で向き合おう / Team Building with Awareness
kohzas
0
260
OCI で始める!! Red Hat OpenShift / Get Started OpenShift on OCI
oracle4engineer
PRO
1
180
事前準備が肝!AI活用のための業務改革
layerx
PRO
1
380
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
310
可視化により内部品質をあげるAIドキュメントリバース/20240910 Hiromitsu Akiba
shift_evolve
0
220
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Writing Fast Ruby
sferik
623
60k
Agile that works and the tools we love
rasmusluckow
327
20k
RailsConf 2023
tenderlove
28
810
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Unsuck your backbone
ammeep
667
57k
Designing the Hi-DPI Web
ddemaree
278
34k
Practical Orchestrator
shlominoach
185
10k
In The Pink: A Labor of Love
frogandcode
139
22k
A Philosophy of Restraint
colly
202
16k
How STYLIGHT went responsive
nonsquared
93
5.1k
Transcript
5FBN3FGBDUPSJOH ڧ͍νʔϜΛͭ͘Δٕज़ ٴ෦ܟ༤ !5",",*/( 1IPUPCZ/BUVSBM)FBSU IUUQTHPPHMWK;-
!5",",*/( ٴ෦ܟ༤ !5",",*/( ✓ָఱגࣜձࣾ ✓ՎͬͯགྷΕΔΤϯδχΞ ✓ੜͷΞδϟΠϥʔ ✓अಓεΫϥϜϚελʔ ✓νΣϯδΤʔδΣϯτ ✓ΞΠυϧϚελʔ ✓ϨΠϯϝʔΧʔ
!5",",*/( ετϨονλΠϜ 1IPUPCZ4*-)06&55&%&4*(/ IUUQLBHFEFTJHODPN
!5",",*/( ·ΘΓΛݟ͍ͯͩ͘͞ ✓͙͢ʹཱͬͯΔਓ ✓·ΘΓΛݟͯ͡ΊΔਓ ✓ઈରʹΖ͏ͱ͠ͳ͍ਓ ✓ϊϦϊϦͳਓ ✓ΠϠΠϠͳਓ
!5",",*/( 1IPUPCZ.FMBOJF IUUQTHPPHM#R("/X ͍ΖΜͳਓ͕͍Δத νʔϜͰͷͮ͘Γ͢Δͷେม
!5",",*/( ։ൃݱͰΑ͘ݟΔ ✓ϨΨγʔγεςϜ ✓ϝϯόʔͷεΩϧ͕͍ ✓ਓࡐ͕ෆ͍ͯ͠Δ ✓ׂΓࠐΈλεΫ͕ଟ͍ ✓͍ͭԌ্͍ͯ͠Δ
!5",",*/( 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN ࣮ຆͲ͕ٕज़తͳͰͳ͘ νʔϜɾίϛϡχέʔγϣϯͷ
!5",",*/( ࣮ࡍͷͱ͜ΖɺιϑτΣΞ։ൃ্ͷͷ ଟ͘ɺٕज़తͱ͍͏ΑΓࣾձֶతͳͷͰ͋Δ CZτϜɾσϚϧίςΟϞγʔɾϦελʔʢϐʔϓϧΣΞʣ
!5",",*/( ։ൃͷΈ·͍ͬͯΔ͕ɺ ݱͷ͋·ΓมΘͬͯͳ͍
!5",",*/( 1IPUPCZMPBCBDPO IUUQTHPPHMKQ697: l;ͭ͏zʹ͍ͬͯΔ͚ͩͰ ͏·͍͔͘ͳ͍ͷ͔͠Εͳ͍
!5",",*/( 1IPUPCZ$ISJT1PUUFS IUUQTHPPHM7/L['( ࠩͳΜͩΖ͏͔ʁ
!5",",*/( ✓μϝͳϓϩμΫτΛΑ͍ͭ͘ΓํͰ ͭ͘Δͱμϝͳͷ͕ੜ·ΕΔ ✓Α͍ϓϩμΫτΛμϝͳͭ͘ΓํͰ ͭ͘Δͱμϝͳͷ͕ੜ·ΕΔ Α͍ϓϩμΫτΛΑ͍ͭ͘ΓํͰ ͭ͘Δඞཁ͕͋Δ
!5",",*/( 1IPUPCZ(JVTFQQF.JMP IUUQTHPPHM/2797 ϓϩμΫτܧଓ͢Δ
!5",",*/( Ϗδωε ։ൃ νʔϜ ϓϩμΫτ։ൃͷߏཁૉ
!5",",*/( νʔϜ ։ൃ Ϗδωε νʔϜ͕Ϗδωεͱ։ൃͷج൫
νʔϜ !5",",*/( νʔϜ͕༳Β่͛Εͯ͠·͏ ։ൃ Ϗδωε
!5",",*/( Α͍ϓϩμΫτΛ Α͍ͭ͘ΓํͰ ͭ͘Γଓ͚Δ ڧ͍νʔϜ͕ඞཁ 1IPUPCZ/BUVSBM)FBSU IUUQTHPPHMWK;-
!5",",*/( 4MJEFCZ3ZV[FF͞Μ IUUQHPPHM-NDRK1
!5",",*/( ΤϯδχΞͷ͕ࣗɺ ࣮ࡍͷݱͰԿখ͞ͳࣦഊ Λ܁Γฦ͠ͳ͕Βڧ͍νʔϜΛ ͭ͘ΔͨΊʹ͖ͬͯͨ͜ͱɺ ͦͷதͰಘͨνʔϜͮ͘Γͷ ίπͱඞཁͳϚΠϯυηοτ ࠓ͢͜ͱ
!5",",*/( ڧ͍νʔϜͱ
!5",",*/( νʔϜɺڞ௨ͷతɺୡ͖͢ ඪɺͦͷͨΊͷΓํΛڞ༗͠ɺ ࿈ଳΛՌͨͤΔิతͳεΩϧ Λඋ͑ͨগਓͷू߹ମ CZ8JLJQFEJB
!5",",*/( 1IPUPCZ'MBWJPd IUUQTHPPHM(;'J νʔϜʺӊ߹ͷऺ
!5",",*/( 1IPUPCZ(SPVOEIPQQJOH.FSTFCVSH IUUQTHPPHMZI[3Y ڞ௨ͷతɺίϥϘϨʔγϣϯ
!5",",*/( ڧ͞ͷఆٛνʔϜʹΑͬͯҧ͏ 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN
!5",",*/( ڞ௨͍ͯ͠Δ͜ͱ ✓ ʜ OҎ্Ͱ͋Δ ✓มԽʹڧ͍ ✓νʔϜͷจԽ͕ଘࡏ͢Δ ✓վળαΠΫϧ͕·Θ͍ͬͯΔ ✓νʔϜ͕ܧଓతͰ͋Δ
O
!5",",*/( νʔϜϦϑΝΫλϦϯάͷਐΊํ
1IPUPCZ/BUVSBM)FBSU IUUQTHPPHMWK;- !5",",*/( ڧ͍νʔϜҙࣝతʹͭ͘Δ
!5",",*/( 2୭͕ʁ "νʔϜ͕
1IPUPCZ&MJ$ISJTUNBO IUUQTHPPHM[P28 !5",",*/( ୭͔͕͍ͬͯΔܧଓ͠ͳ͍ ࣗసंΛԡ͘͢Β͍ͷΠϝʔδ
!5",",*/( ࣗୡͰࣗୡΛڧ͘͢Δ ͦͯͦ͠ΕΛࣗୡͰଓ͚Δ
!5",",*/( 5FBN3FGBDUPSJOH 1IPUPCZ3BJOJFS.BSUJO"NQPOHBO IUUQTHPPHMXW;37
!5",",*/( ࠓ νʔϜͷࠓΛΔ
!5",",*/( ࠓ ڧ ڞ௨ͷతΛͭ͘Δ
!5",",*/( ࠓ ڧ ࣍ ϒϨΠΫμϯͨ͠ඪΛઃఆ
!5",",*/( ࠓ ڧ ࣍ ࣮ࢪ˰ৼΓฦΓ˰࣍ͷඪΛઃఆ
!5",",*/( ࠓ ڧ ͦΕΛͻͨ͢Β܁Γฦ͢
!5",",*/( 5FBN3FGBDUPSJOH νʔϜͷࠓΛΔ ڞ௨ͷతΛͭ͘Δ తΛϒϨΠΫμϯͯ͠ඪΛઃఆ ݁ՌΛͰ͖Δ͚ͩ7JTVBMͰ;Γ͔͑Δ ͦΕΛͻͨ͢Β܁Γฦ͢
!5",",*/( 4MJEFCZ3ZV[FF͞Μ IUUQHPPHM-NDRK1 ࠞཚ͍ͯ͠ΔνʔϜ ͜ͷ͋ͨΓΛ͏Ζ͏Ζ ͍ͯ͠Δ͜ͱ͕ଟ͍
!5",",*/( CZ7MBEJNFS4IJPTIWJMJ IUUQTHPPHM$NO&.# ࠞཚ͍ͯ͠Δͱ͜ΖͰ ઓͯ͠͞ΒͳΔࠞཚΛੜΉ
!5",",*/( 5FBN3FGBDUPSJOH νʔϜͷࠓΛΔ ࠔ͍ͬͯΔ͔Βղܾ͢Δ ৼΓฦΓͷΛͭͬͯ͘ޭΛتͿ ͠Β͘ଓ͚ͯश׳Խ͢Δ ڞ௨ͷతΛͭ͘Δ తΛϒϨΠΫμϯͯ͠ඪΛઃఆ ݁ՌΛͰ͖Δ͚ͩ7JTVBMͰ;Γ͔͑Δ ͦΕΛͻͨ͢Β܁Γฦ͢
!5",",*/( ࣮ࡍͷݱͰ͍ͬͯΔ 5FBN3FGBDUPSJOHΛ Ұ෦͝հ
!5",",*/( $BTF POΧϑΣτʔΫ ✓νʔϜʹೖͬͨΒ࣮ࢪ͢Δ ✓֤νʔϜϝϯόʔͱPOͰ͢ ✓ίʔώʔΛҿΈͳ͕Βؾܰʹ͢ ✓ͳΔ͘૬खʹͯ͠Β͏ ✓૬खͷߟ͍͑ͯΔ͜ͱΛௌ͘ ✓ʮ͜͏ͳͬͨΒ͍͍ͷʹͳʯ ✓ͦͷޙఆظతʹ࣮ࢪ͢Δ
!5",",*/( $BTF CZ.BUUIFX)VSTU IUUQTHPPHMD36Z9 େ͖ͳʹօؾ͍͍ͮͯΔ ݸਓݸਓͷຊԻΛ͢ Ωʔύʔιϯ͕Θ͔Δ
!5",",*/( $BTF ;Γ͔͑Γʢॳظʣ ✓νʔϜʹೖͬͨΒػձΛ͏ ✓࠷ॳΞΠεϒϨΠΫʹྗΛೖΕΔ ✓֤ݸਓ͕͢ػձΛͭ͘Δ ✓શһͰߟ͑ͯબ͢Δ ✓খ͞ͳޭΛେ͖͘تͿ ✓࠷ޙʹଓ͚Δ͔Ͳ͏͔Λ͏ ✓ఆظతʹ࣮ࢪ͢Δ
!5",",*/( $BTF গͣͭ͠Φʔφʔγοϓ͕ੜ·ΕΔ ҰఆͷϦζϜ͕ੜ·ΕΔ
!5",",*/( $BTF νʔϜΠϯηϓγϣϯσοΩ ✓ࣗୡͰνʔϜͷڞ௨ͷతΛ࡞Δ ✓Ͱ͖Δ͚ͩݟ͑ΔՌΛઃఆʹ͢Δ ✓ఆظతʹ;Γ͔͑ͬͯߋ৽͢Δ ✓Ϛωʔδϟʔͱ͢Γ߹ΘͤΔ ✓͕࣌ؒऔΓʹ͚͘ΕɺݸผʹώΞ Ϧϯάͯ͠Ұ෦·ͱΊ͓ͯ͘ ✓ͨͩ͠࠷ޙνʔϜશһͰ߹ҙ͢Δ
!5",",*/( $BTF
!5",",*/( $BTF ✓νʔϜͷϛογϣϯ ✓νʔϜͷςʔϚ ✓νʔϜ๊͕͍͑ͯΔ ✓νʔϜϨʔμʔνϟʔτ ✓νʔϜϩʔυϚοϓ ✓ݸਓͷνʔϜͷߩݙ
!5",",*/( $BTF νʔϜͷڞ௨ͷΰʔϧ͕ ໌จԽ͞ΕΔ
!5",",*/( $BTF νʔϜϨʔμʔνϟʔτ ✓νʔϜʹͱͬͯॏཁͳτϐοΫΛ ֤ࣗͰॻ͖ग़ͯ͠ڞ༗͢Δ ✓ಛʹେࣄͩͱࢥ͏ͭʹථ ✓બΜͩͭʹ͍֤ͭͯࣗͰ ຬͰݱࡏͷνʔϜΛධՁ͢Δ ✓શһͷฏۉΛϨʔμʔԽ͢Δ ✓ఆظతʹৼΓฦΓਐΛه͢Δ
!5",",*/( $BTF
!5",",*/( $BTF ࣗୡͰࣗୡͷ ఆੑతͳධՁΛ͢Δ
!5",",*/( $BTF νʔϜϩʔυϚοϓ ✓νʔϜͰ5SZ͖͢͜ͱɾղܾͨ͠ ͍Λ֤ࣗͰॻ͖ग़͢ ✓Ϩʔμʔνϟʔτͷ߲ͷɺ ࠷͍ۙτϐοΫͷۙ͘ʹషΔ ✓τϐοΫ͝ͱʹ༏ઌॱҐΛܾΊΔ ✓݁ՌΛݩʹϩʔυϚοϓΛ࡞͢Δ ✓Ϛωʔδϟʔͱ͢Γ߹ΘͤΔ
!5",",*/( $BTF
!5",",*/( $BTF
!5",",*/( $BTF νʔϜվળͷϩʔυϚοϓ͕ શһͷڞ௨ೝࣝʹͳΔ
!5",",*/( $BTF εΩϧϚοϓ ✓νʔϜʹඞཁͳεΩϧηοτΛϦε τΞοϓ͢Δ ✓֤ϝϯόʔ͕ࣗݾධՁΛ࣮ࢪ͢Δ FYˑਓʹڭ͑ΒΕΔ ˓̍ਓͰͰ͖Δ ˚αϙʔτ͕͋ΕͰ͖Δ ̇ͬͯΈ͍ͨ
✓ఆظతʹߋ৽͢Δ ✓৽ϝϯόʔͷड͚ೖΕ࣌࠾༻໘ஊ ͷ࣌ʹ༻͢Δ ✓֤εΩϧͷڭҭίϯςϯπΛఏڙ
!5",",*/( $BTF
!5",",*/( $BTF νʔϜͷڧΈɾऑΈ͕Θ͔Δ ݸਓͷεΩϧΞοϓͷඪʹͳΔ ϝϯόʔೖସͷஅࡐྉʹͳΔ
!5",",*/( ίπ ✓ຊϓϨθϯଞਓͰͳ͘ νʔϜ͔ΒͷֶͼΛୈҰʹ͢Δ ✓νʔϜʹɺݸਓʹௌ͢Δ ✓খͯ͘͞܁Γฦ͠ɺଓ͚Δ ✓νʔϜָࣗ͠Ή ✓ແཧ͠ͳ͍ɺૣΊʹఘΊΔ
!5",",*/( FYଓ͚Δͱʜ ճ;Γ͔͑ΓΛͯ͠ ݸͷΑ͔ͬͨΛݟ͚ͭͯ ݸͷͱ͖߹͍ ݸͷ5SZΛ͖ͯͨ͠
!5",",*/( FYଓ͚Δͱʜ ΠϠͰΑ͘ͳΔ 5SZͷ૯
!5",",*/( νʔϜΛ͑ͨͦͷઌ
!5",",*/( νʔϜ ։ൃ Ϗδωε νʔϜ͕Ϗδωεͱ։ൃͷج൫
!5",",*/( νʔϜ ։ൃ Ϗδωε ৫ νʔϜ ։ൃ Ϗδωε ৫͕νʔϜͷج൫
!5",",*/( νʔϜ ։ൃ δωε ৫ νʔϜ ։ൃ Ϗδωε ৫͕νʔϜΛࢧ͑ΒΕͳ͍߹
!5",",*/( ৫ͷߏ͕γεςϜͷઃܭʹ େ͖ͳӨڹΛ༩͑Δ CZϝϧϰΟϯɾίϯΣΠʢίϯΣΠͷ๏ଇʣ
!5",",*/( ৫ͷߏ͕ϓϩμΫτͷ࣭ʹ େ͖ͳӨڹΛ༩͑Δ CZϑϨσϦοΫɾϒϧοΫεʢϒϧοΫεͷਓ݄ͷਆʣ
!5",",*/( "SUJDMFCZ1VCMJDLFZ IUUQHPPHM&-X ৫͕࣭ʹ༩͑ΔӨڹͷ࣮ূ
!5",",*/( ࠷ۙͷ)PU5PQJDT৫བྷΈ %FW0QT .JDSPTFSWJDF Ձఏڙ·ͰͷϦʔυλΠϜͷ ͳͷͰ৫Λ͑ͨվળ͕ඞཁ ৫ͱηοτͰߟ͑ͣʹྲྀߦΓʹ ඈͼ͍ͭͯʹಋೖ͢Δͱࣦഊ͢Δ
!5",",*/( 1IPUPCZ%FOOJT+BSWJT IUUQTHPPHM%78.CC ΧϕΛ͑ΔͨΊʹ ৫վળෆՄܽ
!5",",*/( 1IPUPCZ%BOEFMJPO4PVQ IUUQTHPPHMF9KNI ৫ͷʹͳΔͱݏԎ͕ͪ͠
!5",",*/( ࣗୡͷ৫Λม͑Δͷ୭ͩ 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN
!5",",*/( ະདྷձٞ ✓৫ʹ͍ͭͯ;Γ͔͑Δ ✓ϚωδϝϯτਞࢀՃ ✓େ͖ͳٞͷରʹ͢Δ ✓ະདྷࢤͰߟ͑Δ ✓ͦͷ··ҿΈձʹߦ͘ྲྀΕ ✓͏·͍ͬͨ͘ΒαΠΫϧʹ͢Δ $BTF
!5",",*/( ҼՌؔਤΛͭͬͯ͘ࣄલ४උ $BTF
!5",",*/( શһͰ৫ͷɾ՝Λੳ $BTF
!5",",*/( νʔϜʹผΕͯվળࡦΛߟ͑Δ $BTF
!5",",*/( ✓ࢣঊͱͳΔΤϯδχΞͷෆ ✓৽͍ٕ͠ज़ઓ͕Ͱ͖͍ͯͳ͍ ✓͔ΔαʔϏε͕গͳ͍ ✓αʔϏε͕ଟ͗͢Δ ✓ͦͦԾઆཱ͕͍ͬͯͳ͍ $BTF ະདྷձٞͰग़ͨ1SPCMFN
!5",",*/( ✓ࢥͬͨΑΓΈΜͳੵۃతͩͬͨ ✓ීஈͤͳ͔͕ͬͨͰ͖ͨ ✓سጨͳ͍ҙݟ͕ग़ͨ ✓͓ޓ͍ͷߟ͑ํ͕Θ͔ͬͨ ✓৫ʹ͍͕ͭͯ͢Ͱ͖ͨ $BTF ࢀՃऀ͔ΒͷϑΟʔυόοΫ
!5",",*/( ͦͷޙͷҿΈձ͕Ұ൪Γ্͕ͬͨ 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN $BTF
!5",",*/( 4MJEFCZࠤ౻͞Μ IUUQHPPHM;(O0
!5",",*/( ͜Ε͔ΒऔΓΉ͋ͳͨ
!5",",*/( Βͳ͍ཧ༝ͨ͘͞Μݟ͔ͭΔ ✓ίʔυॻ͍͍͍ͯͨ ✓ͦΕࣗͷࣄͰͳ͍ ✓͏ͪେاۀ͔ͩΒͳ͔ͳ͔ʜ ✓͍͔͠ΒͦΕͲ͜Ζ͡Όͳ͍ ✓Ͳ͏ͤΘ͔ͬͯ͘Εͳ͍Α ✓νʔϜͱ͔͘৫ʜ
!5",",*/( զຫ͢Δ͔ɺࣙΊΔ͔ɺม͑Δ͔ CZϢϧήϯɾΞϖϩʢ)PXUP$IBOHF5IF8PSMEʣ
!5",",*/( զຫͰ͖ͳ͍ࣙ͠Ίͳ͍ͳΒ ม͑ΕΑΖ͠Μ 1IPUP#Z4VEIBNTIV)FCCBS IUUQTHPPHM)O1*
!5",",*/( Change Our World!! Follow Me