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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
130
レガシー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
240
障害にすてるところなし
yokotaso
8
4.3k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
KATA
mclloyd
PRO
35
15k
A Soul's Torment
seathinner
8
3.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
HDC tutorial
michielstock
2
870
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
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!