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.9k
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
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
10
5.7k
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
6
1.6k
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
6
1.9k
受託開発でもアジャイル開発できました / Agile in Contract Development
takaking22
19
8.5k
AI時代のアジャイル開発(XP祭り2024版) / Agile Development in the AI Era in XPJUG
takaking22
16
5.3k
我々はなぜテストを書くのか / Why we write test codes
takaking22
7
1.3k
AI時代のアジャイル開発 / Agile Development in the AI Era
takaking22
2
1.9k
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい5個のコツ - / How to start Scrum that is not written in the Scrum Guide
takaking22
21
8.5k
よいチームをよい雰囲気を保ったままよい組織にスケールさせていくためにできること / What you can do to scale a good team into a good organization
takaking22
12
7k
Other Decks in Technology
See All in Technology
「もっと正確に、もっと効率的に」ANDPADの写真書き込み機能における、 現場の声を形にしたエンハンス
andpad
0
110
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
140
2ヶ月で新規事業のシステムを0から立ち上げるスタートアップの舞台裏
shmokmt
0
220
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
2
450
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
340
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
3
560
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
130
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
350
明日から真似してOk!NOT A HOTELで実践している入社手続きの自動化
nkajihara
1
810
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
170
仕様駆動 x Codex で 超効率開発
ismk
2
1.5k
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
1
400
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Become a Pro
speakerdeck
PRO
29
5.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
Designing for humans not robots
tammielis
254
26k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
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