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
the-art-of-develop-culture-at-cybozu
Search
tomoya yokota
December 02, 2017
3.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
the-art-of-develop-culture-at-cybozu
開発文化を育て広げる愉しみ @ Cybozu Tech Conference 2017
https://cybozutech2017.qloba.com/
tomoya yokota
December 02, 2017
More Decks by tomoya yokota
See All by tomoya yokota
レガシーソフトウェアを再現性高く置き換える手法 〜「射撃しつつ前進」を支える技術〜
yokotaso
0
150
レガシーSolrの Elasticseach移行 Cybozu Tech Meetup #14
yokotaso
0
490
introduction-to-modern-gc
yokotaso
10
3.3k
product-sutainability
yokotaso
0
370
Go-To-Java9
yokotaso
0
260
障害にすてるところなし
yokotaso
8
4.4k
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
520
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Building Applications with DynamoDB
mza
96
7.3k
Faster Mobile Websites
deanohume
310
32k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
970
New Earth Scene 8
popppiees
4
2.8k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
900
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Product Roadmaps are Hard
iamctodd
55
13k
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
։ൃจԽΛҭͯ ͛Δ༇͠Έ Cybozu Tech Conference 2017 @yokotaso
νʔϜͷ։ൃମ੍ • ϢʔβʔཧػೳΛ୲ • ։ൃຊɺࢼݧຊ + ্ւ ͷ 2ڌ •
࠷ॳ 1-SprintͰ։ൃ ~ ࢼݧઃܭͰ Done ։ൃ ~ ࢼݧྃ·ͰҰݸྲྀ͠࠷ۙͰ͖ΔΑ͏ʹ • Ҏલ։ൃFixޙʹɺࢼݧ։࢝
ͳͥKanbanͳͷ͔ʁ • ϚϧνϓϩδΣΫτ୲ϝϯόʔ͕ଟ͍ • Өͷࣄͷଘࡏ λεΫΛґཔ͠ʹ͍͘ ୭͕ԿΛ͍ͬͯΔͷ͔Θ͔Βͳ͍ • ։ൃ
~ ࢼݧྃͷࣄͷྲྀΕΛ͍ͨ͘͠
։ൃจԽͷྺ࢙
ΦϯϓϨϛεظͱ։ൃจԽ • ୯Ґͷ։ൃɾࢼݧεέδϡʔϧ • Unit Test͕ͳ͍ϓϩμΫτ • ։ൃFixલʹσΠϦʔϏϧυΛಈ͔͢ • ☠☠։ൃจԽ☠☠
Ϋϥυੈهͱ։ൃจԽ • ϦϦʔεͷ૿Ճ • ෆ҆ఆͳ࣭ͱ։ൃͷരൃ • CI/CDΛར༻࣭ͨ͠ͷ҆ఆԽ • ։ൃޮͷ্ʹੵۃࢿ •
։ൃࢧԉͨΊͷ։ൃจԽ
Ϋϥυશظͷ։ൃจԽ • Ϋϥυੈهͷ։ൃจԽ͕ϕʔεʹվળ ։ൃͷϘτϧωοΫ͕গͳ͘ͳΔ • ։ൃ͔Βࢼݧఔ·ͰΛؚΊͨશମ࠷దԽ • Scrum / Kanban
ܕͷ։ൃελΠϧ • ՁΛૉૣ͘ಧ͚ΔͨΊͷ։ൃจԽ
։ൃจԽ ϏδωεΛࢧ͑Δ ॏཁͳϑΝΫλʔ
ٙ
ᷚͷϤαήͳ։ൃจԽ ͏ͪʹೃછ·ͳ͍ͷ ͳΜͰͩΖ͏ʁ
ಋೖ͚ͨ͠Ͳɺ ଓ͔ͣʹഇΕͯ͠·ͬͨɻ
αΠϘζ͞Μ͔ͩΒ ͳΜͰ͏·͍͘͘ΜͰ͠ΐ? ͏ͪʹͪΐͬͱ…
αΠϘζͰࣦഊ͠ͳ͕Β લਐ͍ͯ͠Δͷ͕ݱ࣮ͳͷͰ͢
ຊ&্ւͰKanbanΛ ಋೖͨ͠ͷͱ աڈͷࣦഊΛωλʹ…
։ൃจԽΛҭͯΔ Practice ຊʂ
จԽͷ ϘτϧωοΫ
ͦΕϘτϧωοΫͳ͘ͳΔͷʁ • ◦◦จԽΛແཧʹ࡞Ζ͏ͱͯ͠·ͤΜ͔ • ಋೖͨ͠ΒϘτϧωοΫ͕ͳ͘ͳΔͷ͔ʁ • ϘτϧωοΫ͕ղফ͠ͳ͍จԽഇΕΔ • ίʔυ৫ͷঢ়گʹΑͬͯ։ൃจԽଟ༷
% UnitTestΛΊΑ͏ͱͨ͠ • UnitTest͕ͨΓલͷ։ൃମ੍ʹ͔ͨͬͨ͠ • ࣌ͷঢ়گͰUnitTest·ͩૣ͔ͬͨ • UnitTestϘτϧωοΫͰͳ͔ͬͨ ΄͔ʹେ͖ͳ͕͋ͬͨ
&σΠϦʔϏϧυΛࣗಈԽ • ΦϯϓϨɾΫϥυͷΞʔΧΠϒͷ ϏϧυεΫϦϓτΛඋͨ͠͠ • JenkinsͰ࣮ߦͰ͖Δ͓खܰײ • ΦϯϓϨͱΫϥυͷಉ࣌ࢼݧ͕Մೳʹ େ͖ͳϘτϧωοΫͩͬͨ
։ൃจԽͷ࢝·ΓΛ͡ΊΑ͏ • ϘτϧωοΫΛղফͰ͖Εେࣄʹ͞ΕΔ • ΈΜͳ͕େʹ͢Δͷ ։ൃจԽͷܧଓʹඞཁෆՄܽ • ։ൃจԽͷ֎ʹ৽͍͠։ൃจԽ͕͏·ΕΔ όʔϜΫʔϔϯߏ
ؒΛ૿ͦ͏
& શһࢀՃܕͷษڧձΛ։͜͏ • ࣝͷϕʔεϥΠϯΛἧ͑Α͏ • ษڧձͷࡐΛͬͯҙࣝͷڞ༗ • γϯϓϧͳݪཧɾݪଇͷཧղ > ࡉ͔ͳࣝ
• શһࢀՃ͍͢͠ษڧձΛ ଥڠͰ͖Δͷੵۃతʹଥڠ͢Δ
&্ւ ຊ Χϯόϯษڧձ • ࡉ͔͍ࣝΑΓɺΧϯόϯͷཧղΛపఈ WIPɺࣄͷྲྀྔ੍ݶ ࣄͷՄࢹԽ ࣄΛৼΓฦͬͯKanbanͰվળ͢Δʁ
&্ւ ຊ Χϯόϯษڧձ • ӳޠͰফͨ͘͠ͳ͔ͬͨͷͰ༁ॻΛར༻
&্ւ ຊ Χϯόϯษڧձ • Χϯόϯࣄज़ͷʹήʔϜ͕͋Δ • KanbanͷݪཧݪଇΛମײͰ͖Δ ඦฉҰݟʹ͔ͣ͠ • ։ൃจԽʹ͍ͯͨ͘͠Ίʹʮͳͥʓʓʁʯ
ͷڞײ͕ඞཁෆՄܽ
% ༗ࣝऀษڧձΛ։͘ • ϧαϯνϚϯ͕ཷ·Γ͕ͪ • ࢀՃऀ=ҙ͕ࣝ͋ΔਓͳͷͰޮՌ͕ബ͍ • ϝϯόʔͰ͕ࣝࠩग़ͯ͠·͏ • ཧ͕ڞ༗Ͱ͖ͳ͍
Small Start
Ͱ͖Δ͜ͱΛ͙͢ʹ࢝ΊΑ͏ • ޮՌ͕͋Γͦ͏ͩͬͨΒͬͦ࢝͘͞ΊΑ͏ • Ͱ͖Δ͚ͩγϯϓϧʹ1िؒͬͯΈΑ͏ • ϓϥΫςΟεͷҰ෦ͰOK • ࣗͨͪͰ࡞ͬͯӡ༻ͯ͠ΈΔͷ͕େ
& KanbanΛ͙͢ʹ࡞ͬͨ • ॳճษڧձͷޙʹϗϫΠτϘʔυΛߪೖ • ্ւɺຊͰ؆୯ͳKanban࡞ͬͯΈͨ • ษڧձͷςʔϚΛKanbanʹద༻ վͨ͠Γࢼߦࡨޡ •
ݟ͍͑ͯͳ͔ͬͨͷൃݟɺ৽ͨͳؾ͖ͮ
% ࣝΛҰ௨Γ͚͔ͭͯΒ࣮ફ • ϕετɾϓϥΫςΟεͳͷʹ ։ൃϓϩηεʹͦͷ··ద༻Ͱ͖ͳ͍ • ݱঢ়ͱཧͷҧ͍ʹർฐ • ϓϥΫςΟεͷվɺऔࣺબ͕ඞཁͩͬͨ
ޮՌతͳৼΓฦΓ
& ޮՌతͳৼΓฦΓΛ͠Α͏ • ։ൃจԽͱͯ͠ఆணͤ͞ΔͨΊͷৼΓฦΓ • ݪཧɾݪଇΛҙࣝͯ͠ৼΓฦΓΛͯ͠ΈΑ͏ • ݪཧɾݪଇΛҙࣝͯ͠KAIZENΛߟ͑Α͏ • ͕ࣝఆண͍ͯ͠Δ͔ͷࢼۚੴ
& ๙ΊΔϙΠϯτ͕໌֬ʹ • A͞ΜͷWIP͕ᷓΕͯͨͷͰλεΫΛ Ҿ͖ड͚·ͨ͠ • WIP͕ߴ͍ͷͰToDoλεΫΑΓ ϨϏϡʔλεΫΛऴΘΒͤΔ͜ͱʹྗͨ͠ • োରԠͳͲ͕ՄࢹԽ͞ΕͨͷͰɺ
ϨϏϡʔґཔͷ૬खΛͰ͖ͨ
& ݪଇ͔ΒΈ͑ͨProblem • AλεΫΛ͍ͬͯΔ࣌ʹWIP͕૿Ճͨ͠ • ্ւͷWIP͕ߴ͍ͷͳΜͰͩΖ͏ʁ • ϚϧνϓϩδΣΫτͷࣄΛ͢Δͱ͖ WIPΛͲ͏ѻ͏͖ʁ
% ;ΜΘΓͨ͠ৼΓฦΓ • ᘭͳProblem Λղܾ͢ΔՁ͋Δ͔ʁ ෳࡶͳղܾࡦΛ࠾༻ͯ͠ͳ͍ʁ • ։ൃϓϩηεͷϘτϧωοΫΛղফͰ͖Δ Problemͷൃݟɺௐࠪɺղܾʹྗ͠Α͏
KAIZENͱकഁ
& ৼΓฦΓ͔ΒKAIZEN͢Δ • ҰൠతͳPracticeʹతʹैΘͣ ৫Χϧνϟʔʹ͋Θͤͯऔࣺબ վ͠Α͏ • ࣗͨͪʹ߹ΘͤͯɺPracticeΛ มߋ͍ͯ͘͜͠ͱ͕େ
& कɾഁɾʂ • (Problem) ։ൃ։࢝࣌ɺWIP͕͍ͷʹ ϨϏϡʔͷΓͱΓ͕࢝·ΔͱWIP͕ߴ·Δ • (Try) Reviewͪͷ࣌ʹToDoͷࣄΛ࣋ͪࠐΉͷ͕
ݪҼͩͬͨɻKanbanΛվͩʂ
Before ToDo Doing Done
Before ToDo Doing Done WIPͷ੍ݶ͕ͳ͍ͷͰ ToDoͷࣄ͕։࢝͞Εͯ ͠·͏
Before ToDo Doing Done ϨϏϡʔΛґཔͨ͠Β ՋʹͳΔͷͰ ToDoʹணख͢Δ ࣮ ࣮
Before ToDo Doing Done ϨϏϡʔ͕ؼͬͯ͘Δͱ DoingͷྻͷWIP͕ ૿Ճͯ͠͠·͏ ϨϏϡʔ ϨϏϡʔ ϨϏϡʔ
࣮ ࣮
Before ToDo Doing Done WIP͕ߴ͍ঢ়ଶ ࣄͷΛམͯ͠͠·͏ ͷͰKanbanͰݏΘΕΔ ϨϏϡʔ ϨϏϡʔ ϨϏϡʔ
࣮ ࣮
After ToDo Doing Review Done ΞόλʔΛಋೖͨ͠ 1ਓ͋ͨΓ3ͭ ࣄ͕Ͱ͖Δ
After ToDo Doing Review Done ReviewྻΛ৽ઃ ϨϏϡʔૣ͘ ऴΘΒ͍ͤͨͷͰɺ ؔऀͷΞόλʔΛ શ͓ͯ͘
After ToDo Doing Review Done ϨϏϡʔ༏ઌ͕ ߴ͘ͳΔ ToDoΛDoingʹ ҠಈͰ͖ͳ͍
& ৫ʹ͋Θͤͨ։ൃจԽ • ৫ͷঢ়گʹ͋Θͤͨ։ൃจԽ • ૉͷPracticeͷద༻͔Β։ൃจԽ • KAIZEN͔ΒPracticeΛվ͢Δ༐ؾ • ։ൃจԽνʔϜͰҭͯ·͠ΐ͏
& ւ֎ڌͲ͏ͨ͠ͷ͔ʁ • ্ւͷKanban্ւͷΧϧνϟʔΛଚॏ • ࠷ॳͷKanbanΛ࡞Δͷ͚͓ͩख͍ ࠔΓ͝ͱ૬ஊҙשى͙Β͍ • ڕΛ༩͑ΔΑΓڕͷΓํΛڭ͑Α
& ւ֎ڌͲ͏ͨ͠ͷ͔ʁ • جຊkintoneͰλεΫॲཧ • ֤ڌͷKanbanͷը૾Λఆ࣌ʹΞοϓϩʔυ ଞڌͷλεΫͪʹؾͮ͘ ଞڌͷWIPΛ૿͗͢͠ͳ͍Α͏ʹ • ཧίετ͕͔͔Βͳ͍ӡ༻Λҙࣝ
ෳརͱ࠶ࢿ
• ෳར(༨࣌ؒ)Λ։ൃจԽʹ࠶ࢿ͍ͯ͘͠ • ఆணͨ͠։ൃจԽΛϕʔεʹ৽͍͠ઓ UnitTest CI/CD Scrum/Kanban
… • ઓΛ͢ΔͨΊʹ։ൃจԽΛKAIZEN͍ͯ͘͠ ։ൃจԽΛਐԽͤ͞Α͏
ςετΤϯδχΞʂ ࡶͳࢼݧखॱͷࣗಈԽ͍ͨ͠
վमޙɺଈϦϦʔε͍ͨ͠ʂ ։ൃϓϩηεͷਐԽ ·ͩ·ͩඞཁʂ
ΑΓΞδϟΠϧͳ։ൃจԽ • ։ൃจԽΛ࡞Γม͖͑ͯͨࣄ࣮͕ ৫ͷେ͖ͳࡒ࢈ɺ৫ͷجૅମྗʹͳΔ • ΞδϟΠϧͳ։ൃϓϥΫςΟεͰͳ͘ ΞδϟΠϧͳ৫ɺ։ൃจԽΛࢦ͢ • ͋Δ͕ɺมΘ͍͚͍͍ͬͯ
։ൃจԽΛ ਐԽͤ͞Δ औΓΈଓ͘
ͦͯ͠ɺເͷ֎
৫Λ͑ͯ։ൃจԽ͕͕Δ • ڌ ৫Λ͑ͯ։ൃจԽΛҭͯΔऔΓΈ • ։ൃจԽΛҭͯ͛ΔίπΛ͓͠·ͨ͠ • 100৫͋ͬͨΒ100௨Γͷ։ൃจԽ • ϘτϧωοΫΛղফ͢Δ։ൃจԽͰ͋Ε
ΦϯϓϨϛε࣌ͱִੈײ • ։ൃจԽ͕ત·͔ͬͨ࣌͠ • ։ൃจԽ͕͋Δ৫ʹಌΕ͍ͯͨ • ಌΕ͔Β։ൃจԽͷ͋Δ৫ʹͳΕͨ • ͦͯ͠ɺເͷ֎ ͜Ε͔Β։ൃจԽΛҭ͍͖͍ͯͯͨ
ΤϯδχΞͷ ʰָ͍͠ʱΛ ͛Α͏
։ൃจԽΛҭͯ ͛Δ༇͠Έ Thank you!