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
受託開発でもアジャイル開発できました / Agile in Contract Development
takaking22
19
7.5k
AI時代のアジャイル開発(XP祭り2024版) / Agile Development in the AI Era in XPJUG
takaking22
13
4.3k
我々はなぜテストを書くのか / Why we write test codes
takaking22
7
1k
AI時代のアジャイル開発 / Agile Development in the AI Era
takaking22
2
860
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい5個のコツ - / How to start Scrum that is not written in the Scrum Guide
takaking22
21
7.6k
よいチームをよい雰囲気を保ったままよい組織にスケールさせていくためにできること / What you can do to scale a good team into a good organization
takaking22
12
5.8k
Open Space Technology Introducion (EN)
takaking22
2
180
オープンプロポーザルの文化をよいものにしたい / improve the culture of open proposals
takaking22
1
1.1k
いきいきした受託開発をするためにアジャイルチームができること / What Agile Teams Can Do for Lively Contract Development
takaking22
2
2.9k
Other Decks in Technology
See All in Technology
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
170
20241220_S3 tablesの使い方を検証してみた
handy
4
610
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
590
kargoの魅力について伝える
magisystem0408
0
210
UI State設計とテスト方針
rmakiyama
2
620
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
460
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
180
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Bash Introduction
62gerente
608
210k
Done Done
chrislema
181
16k
A designer walks into a library…
pauljervisheath
204
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
The World Runs on Bad Software
bkeepers
PRO
65
11k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
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