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
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
4
920
受託開発でもアジャイル開発できました / Agile in Contract Development
takaking22
19
8.1k
AI時代のアジャイル開発(XP祭り2024版) / Agile Development in the AI Era in XPJUG
takaking22
15
4.9k
我々はなぜテストを書くのか / Why we write test codes
takaking22
7
1.2k
AI時代のアジャイル開発 / Agile Development in the AI Era
takaking22
2
1.5k
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい5個のコツ - / How to start Scrum that is not written in the Scrum Guide
takaking22
21
8.2k
よいチームをよい雰囲気を保ったままよい組織にスケールさせていくためにできること / What you can do to scale a good team into a good organization
takaking22
12
6.6k
Open Space Technology Introducion (EN)
takaking22
2
250
オープンプロポーザルの文化をよいものにしたい / improve the culture of open proposals
takaking22
1
1.3k
Other Decks in Technology
See All in Technology
CSPヘッダー導入で実現するWebサイトの多層防御:今すぐ試せる設定例と運用知見
llamakko
1
280
robocopy の怖い話/scary-story-about-robocopy
emiki
0
420
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
100
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
140
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
290
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
230
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
260
AI駆動開発 with MixLeap Study【大阪支部 #3】
lycorptech_jp
PRO
0
280
LLM開発を支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
350
Perlアプリケーションで トレースを実装するまでの 工夫と苦労話
masayoshi
0
180
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
140
SAE J1939シミュレーション環境構築
daikiokazaki
1
200
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Six Lessons from altMBA
skipperchong
28
3.9k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Designing Experiences People Love
moore
142
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Optimizing for Happiness
mojombo
379
70k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
A Tale of Four Properties
chriscoyier
160
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
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