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
Shape Up
Search
kawasita
November 28, 2020
Research
0
260
Shape Up
Shape Up という Basecamp社の開発手法に関する個人的なまとめと見解。
kawasita
November 28, 2020
Tweet
Share
Other Decks in Research
See All in Research
第14回対話システムシンポジウム EMNLP 2023 参加報告
atsumoto
0
150
一般化ランダムフォレストの理論と統計的因果推論への応用
tomoshige_n
10
1.8k
オープンな日本語埋め込みモデルの選択肢 / Exploring Publicly Available Japanese Embedding Models
nttcom
14
5.4k
「歴史的農業環境閲覧システム」と「迅速測図」について
wata909
1
600
Sosiaalisen median katsaus 02/2024
hponka
0
2.6k
The Theory behind Vector DB
matsui_528
0
1.6k
Julia Tokyo #11 トーク: 「Juliaで歩く自動微分」
abap34
2
1.3k
First Authorに俺はなるっ!! IROS’23 CCC2023 FY
shota_nishiyama
0
180
Experiments on ROP Attack with Various Instruction Set Architectures
yumulab
0
320
Generative AI - practice and theory
gpeyre
1
560
Prompt Tuning から Fine Tuning への移行時期推定
icoxfog417
17
7k
[KDD2023論文読み会] BERT4CTR: An Efficient Framework to Combine Pre-trained Language Model with Non-textual Features for CTR Prediction / KDD2023 LY Tech Reading
shunk031
0
440
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
164
13k
Practical Orchestrator
shlominoach
182
9.7k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Making Projects Easy
brettharned
108
5.5k
Agile that works and the tools we love
rasmusluckow
325
20k
We Have a Design System, Now What?
morganepeng
43
6.7k
It's Worth the Effort
3n
180
27k
How to train your dragon (web standard)
notwaldorf
73
5.2k
How to name files
jennybc
65
93k
Being A Developer After 40
akosma
57
580k
RailsConf 2023
tenderlove
4
540
Statistics for Hackers
jakevdp
789
220k
Transcript
Shape Up ͔Θͨ͠ - 10Ҏ্ϦϞʔτϫʔΫܦӦ͍ͯ͠Δձࣾͷ։ൃख๏հ -
ಈػ ϦϞʔτϫʔΫͰεΫϥϜϕʔεͷ։ൃΛߦͳ͍ͬͯΔ͕ɺ ݸਓతʹ͍·͍ͪͬ͘͠Γ͖ͯͳ͍ɻ ̍ਓͷ࡞ۀ͍࣌ؒ͠ɺಉۭؒ͡ʹ͍Δ͜ͱͰิ͞ΕΔใ ͕ɺνʔϜίχϡχέʔγϣϯΛத৺ʹஔ͘εΫϥϜͩͱେࣄ ͳؾ͕͢Δɻ͜ͷล͕ෆ͢ΔͭΒΈΛײ͡Δɻ ͬͱɺϦϞʔτϫʔΫʹదͨ͠։ൃϓϩηεͬͯͳ͍͔ ͳʁͦ͏͍͑ϦϞʔτϫʔΫͰͬͯΔձࣾ͋ͬͨ ͳɻௐͯΈΔ͔ɻ
Shape Upͱ Shape Up Basecamp ͱ͍͏ձࣾͰ ࠾༻͞Ε͍ͯΔɹΞδϟΠϧͳ։ൃख๏ɹͰ͢ ͦͦBasecampࣾͬͯ
Basecampࣾͱ WebΞϓϦέʔγϣϯΛ࡞͍ͬͯΔಠࣗੑͷߴ͍ձࣾ ɾΞϝϦΧͷγΧΰʹຊ͕ࣾ͋Δ30ਓ͘Β͍ͷখ͞ͳձࣾ ɾࣗͨͪͷಇ͖ํͷϊϋΛWebຊͰൃ৴͍ͯ͠Δ ɾ Ruby on Rails ͱ͍͏༗໊ͳϑϨʔϜϫʔΫΛੜΈग़ͨ͠ খ͞ͳձࣾɺେ͖ͳࣄ
ڧ͍νʔϜΦϑΟεΛࣺͯΔ 2010/2 ग़൛ 2004ͷొҎޙɺRuby on Railsͷίϯηϓτ ଞͷϑϨʔϜϫʔΫʹେ͖ͳӨڹΛ༩͍͑ͯ Δ 2014/1 ग़൛
વͷΑ͏ʹɺ։ൃϓϩηεWebͰެ։͞Εͯ·͢ Ͱɺͦͷલʹ ͦͯ͠ɺͦͷதɺεΫϥϜXPͱ͍ͬͨ ϝΠϯετϦʔϜͷΞδϟΠϧ։ൃϓϩηεͱશવҧ͏໘ന͍ͷͰͨ͠ Ұൠతͳ։ൃΛྲྀΕΛ͓͞Β͍ Ҿ༻IUUQTCBTFDBNQDPNTIBQFVQ
Α͋͘ΔΞδϟΠϧ։ൃϑϩʔ όοΫϩά ϫΠϠʔ σβΠϯ ࠓճΔ͜ͱ ݟੵΓ ϨϏϡʔ िؒఔͷ͍։ൃαΠΫϧ Կपճ͠ΛߴΊͯϦϦʔε اը10
ϦϦʔε ։ൃνʔϜ ※εϓϦϯτXPͳͲͰɺࡉ͔͍ख๏ͷࠩ͋Δͱࢥ͍·͕͢ɺେ·͔ͳྲྀΕͰઆ໌͍ͯ͠·͢
Α͋͘ΔΞδϟΠϧ։ൃϑϩʔ όοΫϩά ϫΠϠʔ σβΠϯ ࠓճΔ͜ͱ ݟੵΓ ϨϏϡʔ िؒఔͷ͍αΠΫϧ Կपճ͠ΛߴΊͯϦϦʔε اը10
ϦϦʔε ։ൃνʔϜ ͰͲ͏͍ͯ͠Δʁ ˞৭෦໌֬ʹͳ͍ͱنఆ͍ͯ͠Δͷ
εΩϧͷߴ͍ਓ͕ՌͷେΛܾΊΔ ॏཁͳͷɺ۩ମత͗͢ͳ͍͜ͱ ͍͘ΒϦιʔεΛṌ͚͍͍͔ͯΛܾΊΔ ͲΕ͚͔͔ͩΔʁˠͲΕ͚ͩ͑Δ͔ ͍͔ʹࡉ͔͘νέοτղ͠Α͏ͱɺ৽نੑͷߴ͍࡞ۀͷ ݟੵΓͷਫ਼ͷ՝ͰΔɻ੍࣌ؒͷΈͰυϥΠϒ͢Δ΄͏͕ τʔλϧͰྑ͍ͱ͍͏ׂΓͬͨஅɻ ͋͑ͯநతͳ෦Λ͢͜ͱͰɺσβΠφʔ։ൃௐ ͷ༨Λ͢ɻ࣮ࡍʹ࡞ۀ͢Δલͷૣ͗͢Δ۩ମԽɺ ؒҧͬͨࡉ෦ͷίϛοτΛੜΈग़ͯ͠͠·͏ɻ
ϓϩδΣΫτʹԠͨ͡ਓࡐΛຖճॊೈʹΉ ׂΓࠐΈͷͳ͍ͻͱ·ͱ·ΓͷظؒΛ༩͑Δ શྗͰΓଓ͚ΒΕͳ͍ ։ൃऀࡋྔͰ͑Δ࣌ؒɻܰඍͳόάରԠɺ ϦϑΝΫλͳͲϓϩδΣΫτͷ՝ΛফԽͨ͠Γɺ εΩϧΛߴΊͨΓͳͲɻ TIBQJOH CFUUJOH CVJMEJOH ̒िؒͰඞͣϦϦʔε ̎िؒͷٳଉ
·ͱΊ Shape Up ΞδϟΠϧͷຊ࣭Λମݱͨ͠։ൃख๏ ࣗͨͪͰߟ͑ɺࣗͨͪͰϓϩηεΛ࠷దԽ͍ͯ͘͠ Ҿ༻: ΞδϟΠϧϚχϑΣετ (ݪଇ)ΑΓ νʔϜ͕ͬͱޮΛߴΊΔ͜ͱ͕Ͱ͖Δ͔ΛৼΓฦΓɺ
ͦΕʹج͍ͮͯࣗͨͪͷΓํΛ࠷దʹௐ͠·͢ɻ ։ൃϓϩηεʹɺ৫ͷจԽ͕ө͞Ε͍ͯΔ ͜ͷ࢟ݟश͏͖͕ଟ͍
ࠓճͷൃදͰ͋·Γ৮ΕΒΕͳ͔ͬͨ෦ 4IBQJOH #FUUJOH #VJMEJOH ݸਓతݟղ 1SPT$POT XFFLXFFLͷཧ༝ͳͲ ֻ͚ςʔϒϧͷத ͳͥɺ͋͑ͯ۩ମԽ͠ͳ͍͔ νʔϜͱϚωδϝϯτͳͲ
Ͳ͜ʹྑ͞Λײ͡Δ͔ɺͲ͕͜ؾʹͳΔ͔ ݟੵΓ͠ͳ͍ख๏ όοΫϩάΛ࣋ͨͳ͍ͳͲ ώϧνϟʔτͷ׆༻ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 4IBQJOHͷ࣮ྫͳͲ
͓·͚
<4IBQJOH>ͦͷத ٕज़తͳௐࠪɺσβΠϯͷେɺԿΛ࡞Δ͔໌֬ ͋͑ͯநతʹ͢Δ ϥϑεέονͰΞτϓοτ Ҿ༻IUUQTCBTFDBNQDPNTIBQFVQDIBQUFSDBTFTUVEZUIFEPUHSJEDBMFOEBS ૣ͗͢Δ۩ମԽɾ࠷దԽؒҧͬͨࡉ෦ͷίϛοτΛ༗Ή ̒िؒͷ੍ͷதͰίεττϨʔυΦϑʹ͔͚ͯࡉ෦۩ମԽ͢Δ ੑௐͷ༨Λͨ͢Ίʹ۩ମత͗͢ͳ͍͜ͱ
Ṍ͚ͷςʔϒϧ ΫʔϧμϯͰ։࠵ɻ࣍̒िؒͰԿΛΔ͔ͱϦιʔεͷׂΓͯɻ όοΫϩάͳ͍ɻ٫Լ͞Εͯେࣄͳͷຊਓ͕͓֮͑ͯ͘ɻ <#FUUJOH>ͦͷத $&0 $50 ্ڃٕज़ऀ ετϥςδετ͕੮ʹͭ͘ ˞࣍ͷṌ͚ͷʹ࠶ग़͢ͷຊਓͷཧɻ͗͢ΔόοΫϩάऴΘΒͳ͍͠શһͰཧ͢Δ࣌ ؒແବͳ͚ͩɻຖճɺਅͬ৽ͳςʔϒϧͰԿΛΔ͖͔Λ͢ɻ
˞࠷ߴݖྗ͕͋Δਓ͕ࢀՃ͢ΔͷͰҙࢥܾఆ͕̍ճͰܾ·Δɻผ࡞ۀͷׂΓࠐΈͳ͍ɻਓ Ϧιʔεͷ૪ୣઓͳ͍ɻܦӦଆϋϯυϧΛѲ͍ͬͯΔײ֮ΛಘΔ͜ͱ͕Ͱ͖Δɻ Ṍ͚ͱଋɻϦϦʔεͷʹׂΓࠐΈͷͳ͍िؒΛඞͣ༩͑Δɻ ˞͚ͩผ࡞ۀͳͲ͠ͳ͍ɻͦΕͰҎ্ͷϚΠφε͕ͰΔͷΛཧղ͍ͯ͠Δ͔Β िؒαʔΩοτϒϨʔΧʔͱͯ͠͏ɻ ˞िؒͷՁ͔͠ͳ͍߹̒ि͔ؒ͠Θͳ͍ɻԆجຊ͠ͳ͍ɻͰ͖ͳ͍߹ࢭΊΔɻ ˞͜ͷ߹ɺ4IBQJOHͰؒҧ͍ͬͯΔՄೳੑ͕͋ΔͷͰɺ͔ͦ͜Βݟ͢
Կͬͨ࡞ۀʹରͯ֬͠ߴ͘༗ޮɺҰํɺ৽نͷ࡞ۀͷ͔࣌ؒ͠Εͳ͍ɻ <#FUUJOH>ݟੵΓ ࣮ࡍʮ͔Βͳ͍ʯ͕ਖ਼͍͕͠ݴ͑ͳ͍ͷͰɺԽͯ͠ܭըʹ৫ΓࠐΈܭը͕ڰ͏ɻ ݟੵΓରʹΑͬͯҙຯ߹͍Λม͑ͯ͠·͏ ݟੵΓͷଊ͑ํΛม͑Δ Ͱͳ͘ώϧνϟʔτʹΑΔࢹ֮ཧ ࡞ۀٰΛొΔΑ͏ͳͷɻٰͷ্ʹཱͯશ͕ݟ͑ͯ͋ΔఔΘ͔Δɻ Ҿ༻IUUQTCBTFDBNQDPNTIBQFVQDIBQUFS ֤ػೳʹ͖ͭɺࠓͲͷҐஔʹ͍Δ͔ΛͰͳ͘ഽײͷఆظϓϩοτͰࢹ֮Խ͢Δɻ ͳ͔ͳٰ͔ͷ্ʹཱͯͳ͍߹ɺγεςϜ௨͢ΔΑ͏ʹͯ͠ةػཧ͍ͯ͠Δɻ
ΨϯτνϟʔτϚΠϧετʔϯमਖ਼ΛԿ܁Γฦ͍ͯͨ͠Βͦ͏͍͏͜ͱɻ ʮ͋ͱͲΕ͘Β͍͔͔ΔʁʯͰͳͯ͘ɺ͜ͷํِ͕͑͘͢Γ͕গͳ͍ɻ
ݟ͔͚ͷਐḿΛՔ͕ͳ͍ɻ࠷ৗత ѲࡁΈ ͰؾʹͳΒͳ͍ͷ࠷ޙʹճ͢ɻ <#FUUJOH>ݟੵΓ ॏཁͷͷͷ͏ͪɺ࠷ॳʹະͷͷΛٰͷ্·Ͱ͍࣋ͬͯ͘͜ͱ ॏཁͰະͷ͔Βઌʹย͚Δ͜ͱ ੍ͷதͰ#FTUͳҊΛܾఆ͢Δ σβΠφʔͱΤϯδχΞ࠷ળΛࢦ͢ɻࡉ͔͍νέοτͰݟੵΓΛԽ͢Δ ͱɺͦͷΛݶք·ͰͬͯϚΫϩʹίʔυΛඒ͘͠ᘳʹͨ͠ΓσβΠϯ ʹৼΓ͕ͪɻ
˞ࢲݕࡧػೳ͚ͩແବʹϦονʹͨ͠ܦݧ͕͋Δɻɻ ̒िؒͱ͍͏େ͖ͳࡋྔΛ͍͋ͨ͑ͯΔͷͦͷͨΊɻͦͷେ͖ͳࢹ࠲ͱ੍ͷத ͰɺτϨʔυΦϑΛਤΓͭͭɺಛఆͷػೳʹͲ͜·ͰίετΛ͔͚Δ͔Λ࡞ۀऀࣗ ͕ܾΊΔɻ ωδΛకΊ͢λΠϛϯά ະͷͷ͕શٰͯͷ্ۙʹདྷͨΒɺωδΛకΊ͢ ظݶ̒िؒͰݻఆͳͷͰඞཁػೳΛऔࣺબɺݟੵΓ֬ߴ͘ௐͰ͖Δɻ
Βͳ͍ ͬͯΔ Ͳ͏ͬͯΔͷʁ ԿΔͷʁ λεΫશମͷ૾͕ݟ͑Δ ͻͨ͢Β࡞ۀΛফԽத <ิ>ώϧνϟʔτ ݟੵΓ֬
కΊΓ͕ϦΞϧͳͷͰ࣌ؒΛݡ͘͏ ࣮ઓͷ݁ՌׂΓग़ͨ͠ҙຯͷ͋ΔͷΛ࡞Γ্͛Δͷ࠷దͳ͞ ՌͷํΛिؒʹϦϦʔεͰ͖ΔαΠζʹௐ͢Δ िؒ िؒຖͷεϓϦϯτΛ࠾༻͠ͳ͍ཧ༝ ͗ͯ͢ҙຯ͕͋ΔࣄΛ͛͠ΒΕͳ͔ͬͨ िؒʹճܭըͷΦʔόʔϔουίετ͕େ͖͗͢Δ िؒͷΫʔϧμϯΛ࠾༻ͨ͠ཧ༝ αΠΫϧऴ൫ଟͳͷͰɺ࣍ͷܭըΛ͢༨༟͕ͳ͍ ࣗͨͪͷΞΠσΟΞΛࢼͨ͠ΓόάରԠ͢Δ࣌ؒͱͯ͠׆༻
<#VJMEJOH>XFFLXFFLϑϩʔ αΠΫϧͷඪ४Խࣗମඞཁ ϦιʔεΧϨϯμʔςτϦεαΠΫϧඪ४ԽͰۃྗճආ ଉΛ͢Δ༨༟Λ༩͑Δ ϑϩʔʹ༧ΊΈࠐΉ ࡞ۀʹۃྗ࣌ؒΛ͍͍ͨ ۩ମԽ͗͢͠ͳ͍4IBQFௐʹ༗ޮ
<#VJMEJOH>νʔϜͱϚωδϝϯτ ɾϚΠΫϩϚωδϝϯτ͠ͳ͍ɻ ɾʑͷձٞͤͣɺݸผͷػೳʹԿ࣌ؒ͏͔ཧ͠ͳ͍ɻ ɾηϧϑϚωδϝϯτ͕جຊɻߴ͍ͱ͜ΖʹඪΛஔ͘ɻ ɾϓϩάϥϚσβΠφʔͷਓ͔ΒͳΔεϞʔϧνʔϜ͕ओମ ɾνʔϜϦϦʔεΛෛ͍ɺػೳείʔϓΛࣗΒఆΊΔɻ ɾϚωʔδϟ͕λεΫΛΓࠁΈɺϝϯόʔ͕νέοτ ͱͯ͠ৼΔ͏ํ๏ͱશʹҟͳΔɻ ߏͱׂ Ϛωδϝϯτ
جຊϦϞʔτ৫ͳͷͰͰ͖ͳ͍ʁ ɾཧʹ͏࣌ؒΛۃྗݮΒ͠ɺΑΓࣗతͳ৫ɻ ਓʹࣄΛৼΔ͚ͩͷਓෆཁɺօ͕Կ͔ΛੜΈग़͢͜ͱɻ݁ՌΛͩ͢͜ͱɻ
ݸਓతݟղ ɾΤϯδχΞࢹͰݟΔͱٻΊΒΕΔϋʔυϧ݁ߏߴ͍ ɾຖճνʔϜ͕มΘΔͷύϑΥʔϚϯεؾʹͳΔ ɾηϧϑϚωδϝϯτͰ͖ͳ͍ͱͭΒ͍ ɾׂΓࠐΈͷͳ͍࣌ؒΛ͑Δͷ࡞ۀʹूதͰ͖Δ ɾࡋྔͷ෯͕େ͖͘ձࣾશମͷࣗݾ৫Խ͕ਐΈͦ͏ ɾϝϦϋϦ͕͋Δͷݸਓతʹ͖ ྑ͍ͱײͨ͡ ؾʹͳͬͨ ɾن͕େ͖͍৫ʹͲ͜·ͰదԠͰ͖Δ͔ٙ
ɾϚωδϝϯτίετԼ͕Γͦ͏ ͏·͘ػೳ͢Ε ɾόοΫϩάΛগͳ͘ཧ͢Δͷྑ͍ ˞࣮ࡍʹಋೖ্ͨ͠ͰͷݟղͰ͋Γ·ͤΜɻ͋͘·Ͱײɻ