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
1
360
Shape Up
Shape Up という Basecamp社の開発手法に関する個人的なまとめと見解。
kawasita
November 28, 2020
Tweet
Share
Other Decks in Research
See All in Research
RHO-1: Not All Tokens Are What You Need
sansan_randd
1
140
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
770
Creation and environmental applications of 15-year daily inundation and vegetation maps for Siberia by integrating satellite and meteorological datasets
satai
3
130
2025年度人工知能学会全国大会チュートリアル講演「深層基盤モデルの数理」
taiji_suzuki
24
16k
近似動的計画入門
mickey_kubo
4
980
大規模な2値整数計画問題に対する 効率的な重み付き局所探索法
mickey_kubo
1
270
公立高校入試等に対する受入保留アルゴリズム(DA)導入の提言
shunyanoda
0
6k
Sosiaalisen median katsaus 03/2025 + tekoäly
hponka
0
1.3k
Delta Airlines® Customer Care in the U.S.: How to Reach Them Now
bookingcomcustomersupportusa
PRO
0
100
チャッドローン:LLMによる画像認識を用いた自律型ドローンシステムの開発と実験 / ec75-morisaki
yumulab
1
510
Submeter-level land cover mapping of Japan
satai
3
130
ストレス計測方法の確立に向けたマルチモーダルデータの活用
yurikomium
0
740
Featured
See All Featured
How to Ace a Technical Interview
jacobian
278
23k
Rails Girls Zürich Keynote
gr2m
95
14k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Practical Orchestrator
shlominoach
189
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
KATA
mclloyd
30
14k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
What's in a price? How to price your products and services
michaelherold
246
12k
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>νʔϜͱϚωδϝϯτ ɾϚΠΫϩϚωδϝϯτ͠ͳ͍ɻ ɾʑͷձٞͤͣɺݸผͷػೳʹԿ࣌ؒ͏͔ཧ͠ͳ͍ɻ ɾηϧϑϚωδϝϯτ͕جຊɻߴ͍ͱ͜ΖʹඪΛஔ͘ɻ ɾϓϩάϥϚσβΠφʔͷਓ͔ΒͳΔεϞʔϧνʔϜ͕ओମ ɾνʔϜϦϦʔεΛෛ͍ɺػೳείʔϓΛࣗΒఆΊΔɻ ɾϚωʔδϟ͕λεΫΛΓࠁΈɺϝϯόʔ͕νέοτ ͱͯ͠ৼΔ͏ํ๏ͱશʹҟͳΔɻ ߏͱׂ Ϛωδϝϯτ
جຊϦϞʔτ৫ͳͷͰͰ͖ͳ͍ʁ ɾཧʹ͏࣌ؒΛۃྗݮΒ͠ɺΑΓࣗతͳ৫ɻ ਓʹࣄΛৼΔ͚ͩͷਓෆཁɺօ͕Կ͔ΛੜΈग़͢͜ͱɻ݁ՌΛͩ͢͜ͱɻ
ݸਓతݟղ ɾΤϯδχΞࢹͰݟΔͱٻΊΒΕΔϋʔυϧ݁ߏߴ͍ ɾຖճνʔϜ͕มΘΔͷύϑΥʔϚϯεؾʹͳΔ ɾηϧϑϚωδϝϯτͰ͖ͳ͍ͱͭΒ͍ ɾׂΓࠐΈͷͳ͍࣌ؒΛ͑Δͷ࡞ۀʹूதͰ͖Δ ɾࡋྔͷ෯͕େ͖͘ձࣾશମͷࣗݾ৫Խ͕ਐΈͦ͏ ɾϝϦϋϦ͕͋Δͷݸਓతʹ͖ ྑ͍ͱײͨ͡ ؾʹͳͬͨ ɾن͕େ͖͍৫ʹͲ͜·ͰదԠͰ͖Δ͔ٙ
ɾϚωδϝϯτίετԼ͕Γͦ͏ ͏·͘ػೳ͢Ε ɾόοΫϩάΛগͳ͘ཧ͢Δͷྑ͍ ˞࣮ࡍʹಋೖ্ͨ͠ͰͷݟղͰ͋Γ·ͤΜɻ͋͘·Ͱײɻ