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
デザインレビューにエンジニアも参加してみよう/engineers-join-design-re...
Search
matsuhisa
August 07, 2017
0
1.1k
デザインレビューにエンジニアも参加してみよう/engineers-join-design-review-2017
2017年8月8日 サポーターズ勉強会
「デザインレビューにエンジニアも参加してみよう」
松久浩伸
matsuhisa
August 07, 2017
Tweet
Share
More Decks by matsuhisa
See All by matsuhisa
Rails移行のレキシ/mobasif-to-ruby-on-rails2017
matsuhisa
1
1.6k
Railsでつくる 画像アップロード 2017 #railsdm /rails_developers_meetup6_image_upload
matsuhisa
0
1.2k
「ふつう」のRuby on Rails ウェブアプリケーション #clipla_mwed /ruby_on_rails_for_minnano_wedding
matsuhisa
1
880
Rails 移行を支える コードレビュー #finc_mw /support_to_rails_from_code_review
matsuhisa
0
730
爆速のために 独自フレームワーク から Rails に移行した話/mobasif_to_ruby_on_rails
matsuhisa
3
2.8k
デザインレビューにエンジニアも参加してみよう/engineers-join-design-review
matsuhisa
0
300
1年間で起きたデザイナーとエンジニアの変化/1year-designer-engineer
matsuhisa
0
540
サービス改善のために エンジニアがすること、 しないこと
matsuhisa
0
1.7k
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Rails Girls Zürich Keynote
gr2m
95
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
840
4 Signs Your Business is Dying
shpigford
184
22k
KATA
mclloyd
30
14k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Adopting Sorbet at Scale
ufuk
77
9.5k
Unsuck your backbone
ammeep
671
58k
Documentation Writing (for coders)
carmenintech
72
4.9k
Writing Fast Ruby
sferik
628
62k
Transcript
σβΠϯϨϏϡʔʹ ΤϯδχΞࢀՃͯ͠ΈΑ͏ ݄ɹαϙʔλʔζษڧձ দٱߒ৳
w גࣜձࣾΈΜͳͷΣσΟϯά ΣϒΞϓϦέʔγϣϯΤϯδχΞ w 5XJUUFSɿ!LBNPOFHJ w IUUQXXXqJDLSDPNQIPUPTNBUTVIJTB দٱɹߒ৳
ൃදͷલʹ w IUUQTTQFBLFSEFDLDPN NBUTVIJTBFOHJOFFSTKPJO EFTJHOSFWJFX w େ͖͘༰͕ҧ͏Θ͚Ͱ͋ Γ·ͤΜ͕ɺΓͳ͔ͬͨ Λิ͍ͯ͠·͢ ҎલͷࢿྉͷΞοϓσʔτ൛Ͱ͢
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
σβΠϯϨϏϡʔͬͯͳʹʁ w σβΠϯʢՌʣΛϨϏϡʔʢ൷ධʣ͢Δ͜ͱ w ʮ൷ධʯʮՌʯ͕ʮඪɾతʯΛ w ୡ͍ͯ͠Δ͔ʁΛ֬ೝ͢Δ͜ͱ w ΑΓվળͰ͖ͳ͍͔ʁΛߟ͑Δ͜ͱ w
ඪɾతΛཧղ͍ͯ͠Δ͔ʁΛ֬ೝ͢Δ͜ͱ σβΠϯϨϏϡʔͬͯͳʹʁ
σβΠϯϨϏϡʔͬͯͳʹʁ w ηϯεʹ͍ͭͯݕ౼͢ΔػձͰͳ͍ w ྫʣʮࢲ͍΄͏͕͖ʯ w σβΠϯϨϏϡʔͷҎ֎Ͱɺ൷ධ͢Δ͜ͱ w ϨϏϡʔΛड͚Δଆɺ͢Δଆɺ৴པͱଚܟ͕ඞཁͳͷͰɺΒͳ ͍ؒʹϨϏϡʔΛ͢ΔͱɺϫαͷΑ͏ʹѻΘΕͯ͠·͍ɺ৴པͱ
ଚܟͷ͕ؔߏஙͰ͖ͳ͍ σβΠϯϨϏϡʔͰͳ͍͜ͱ
σβΠϯϨϏϡʔͬͯͳʹʁ w ϖϧιφ w ϓϩτλΠϓʢQSPUUʣ w άϥϑΟοΫʢσβΠϯըʣ w ݴ༿ʢίϐʔͳͲʣ ԿΛϨϏϡʔ͢Δͷʁ
σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔ͍ͭΔͷʁ ՝ఆٛ ϓϩτλΠϓ σβΠϯ ϨϏϡʔ ࣮ ݕূ ઃܭ ܭը
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
σβΠϯϨϏϡʔඞཁʁ w ϓϩμΫτػೳͷతΛ۩ݱԽͰ͖͍ͯΔ͔ʁͷ֬ೝͷͨΊ w తͷཧղਂ·Δ w αʔϏεશମͰͷମݧ্ͷͨΊ w αʔϏεશମͰͷࢹΛಘΔ͜ͱ͕Ͱ͖Δ w
։ൃϑϩʔͷޮԽͷͨΊ w ࣮લʹΤϯδχΞ͕ݟΔ͜ͱ͕Ͱ͖ΔͷͰɺ࣮࣌ͷᴥᴪ͕ݮΔ σβΠϯϨϏϡʔ͕ඞཁͳཧ༝
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
σβΠϯϨϏϡʔʹࢀՃ͢Δཧ༝ w ϓϩμΫτɺνʔϜશһͰ࡞ΔͷͰʮσβΠϯʯΛશһͰڞ༗͢Δ w ϓϩμΫτΛ࡞Δ࣌ʹσβΠϯʹ͍ͭͯΤϯδχΞ͕ؔ༩ͯ͠μϝͳ ཧ༝ͳ͍ w υοΫϑʔσΟϯά͕͍͠αʔϏεͰɺσβΠϯϨϏϡʔ͕ॏཁʹ ͳΔ w
࣮લʹɺ࣮͕͍͠ɾ͕࣌ؒඞཁͳͱ͜Ζ͕֬ೝͰ͖Δ ϓϩμΫτ୭͕࡞Δͷ͔ʁ
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ w νʔϜΛҠΓɺ৽͍͠ϓϩμΫτʹࢀՃ͢ΔλΠϛϯά w σβΠϯϨϏϡʔͷաఔͩͬͨͷͰ్தࢀՃ w ϓϩμΫτʹ͍ͭͯΔνϟϯεͩͱࢥͬͨ w ͬͯΈΑ͏ʂ w
ࣦഊ͚ͨ͠ΕͲɺࣦഊͷݪҼΛߟ͑Δ͜ͱ͕Ͱ͖ͨ σβΠϯϨϏϡʔʹࢀՃ͢Δ͖͔͚ͬʢࣗͷ߹ʣ
σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ w ৽͍͠ϓϩμΫτʹ్தࢀՃͳͷͰ w ʮڭ͍͑ͯͩ͘͞ʔʯͬͯݴ͍͍͢ w ϓϩμΫτΛ࡞Γ࢝ΊΔͱ͜ΖͳͷͰɺతΛ͖ͬΓ͍ͤ͢͞ w త͕ϋοΩϦ͍ͯ͠ͳ͍ͷ͋ͬͨ w
ʮ৽ࢀऀʯͱ͍͏ཱΛ׆༻࣭ͯͯ͠͠ɺతΛฉ͍ͨ w ۭؾΛಡ·ͳ͍Ͱฉ͘ σβΠϯϨϏϡʔʹࢀՃͨ݁͠Ռ
σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ w σβΠϯϨϏϡʔͷ్த͔ΒࢀՃͩͬͨͨΊ w ϨϏϡʔ͢Δྔ͕ଟ͍ɿϨϏϡʔ͢Δଆͷෛ୲ w ίϝϯτྔ͕ଟ͍ɿϨϏϡʔΛड͚Δଆͷෛ୲ w ঢ়گ͕Α͘Θ͔͍ͬͯͳ͔ͬͨ w
ϦϦʔεͷ͕҆͋ΓɺϨϏϡʔ͕ٸ͗ͩͬͨ w ࣮ʹ͕͔͔࣌ؒΔఏҊΛ͍ͯͨ͠ σβΠϯϨϏϡʔͰͷࣦഊ
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
σβΠϯϨϏϡʔͷΓํ w తΛจষԽ͢Δ w ରͱͳΔϢʔβʔɺγφϦΦॻ͘ʢ৽ػೳͰಛʹʣ w ظΛܾΊΔ w ୭ʹϨϏϡʔͯ͠Β͏͔ΛܾΊΔ w
ϨϏϡʔͯ͠ཉ͘͠ͳ͍͜ͱ w ະఆͷՕॴɺ͕ࣗͨͪίϯτϩʔϧͰ͖ͳ͍Օॴ͕͋Δ߹ σβΠϯϨϏϡʔΛड͚Δଆ
σβΠϯϨϏϡʔͷΓํ w ࣮ͱඥ͚ͮΒΕΔ w ϝϯγϣϯͰ௨͍͢͠ w ཤྺ͕Δ w ΦϑϥΠϯͰͰ͖ΔඇಉظͰͰ͖Δ w
Ίͦ͏ɺ͘ͳΓͦ͏ͳ࣌ɺΦϑϥΠϯͰू·Δ w ʢརؔऀ͕ଟ͍࣌ͱ͔ʜʣ (JUIVCΛར༻ͯ͠ߦ͏
σβΠϯϨϏϡʔͷΓํ w తɺཧ༝Λ͑Δ w ΩϟϓνϟʔͰCFGPSFBGUFSΛ͑ΔͱΘ͔Γ͍͢ w νʔϜʹϝϯγϣϯΛग़͢ͱ͑࿙Ε͕ͳ͍ w ྫʣ!NXFEEFTJHO w
ϥϕϧΛ༻ҙ͢Δͱ୳͍͢͠ (JUIVCΛར༻ͯ͠ߦ͏
σβΠϯϨϏϡʔͷΓํ (JUIVCΛར༻ͯ͠ߦ͏
σβΠϯϨϏϡʔͷΓํ (JUIVCΛར༻ͯ͠ߦ͏
σβΠϯϨϏϡʔͷΓํ w ࣮ࡍʹมߋ͢Δ͔ɺϨϏϡʔΛड͚ͨਓ࣍ୈ w ྫʣఏҊΛड͚ͯΓ͍͚ͨΕͲɺ࣮ʹ͕͔͔࣌ؒΔ w ྫʣҎલɺಉ͜͡ͱΛͯ݁͠Ռ͕ྑ͘ͳ͔ͬͨ w ϦϦʔεஅͱผͰߦ͏ w
σβΠϯνΣοΫɺ࣭νΣοΫ ϨϏϡʔΛ͏͚ͯ
σβΠϯϨϏϡʔͷΓํ w ࠷ॳʹ๙ΊΔ w ڵຯؔ৺Λ͍ͬͯΔ͜ͱΛ࡞Γखʹ͑Δ w తʹরΒ͠߹Θͤͯݕ౼͢Δ w తʹ͍࣭ͭͯ͢ΔɻతΛཧղ͍ͯ͠Δ͔Δ w
ϑΟʔυόοΫ͕ཉ͍͠ͱࢥ͍ͬͯΔͱ͖ʹ͑Δ w σβΠϯϨϏϡʔ͕࢝·ͬͨΒظݶʹ͑Δ σβΠϯϨϏϡʔΛ͢Δଆ
σβΠϯϨϏϡʔͷΓํ w ཧ༝ʢͳͥͳΒʣΛॻ͘ w ΩϟϓνϟʔΛ͏ w ͲͷՕॴͳͷ͔ʁଞࣾͷࣄྫͰ͍͏ͱʁ w ֆจࣈΛ͏ w
ςΩετͩͱྫྷ͍ͨҹ͕ΔͷͰɺֆจࣈͰ؇ σβΠϯϨϏϡʔΛ͢Δଆ
σβΠϯϨϏϡʔͷΓํ w ײ͚֮ͩͰॻ͘ w ཧ༝Λॻ͍͍ͯͳ͍ɻ w ྫʣ͍͕͍͍ʢͳͥʁ͕ͳ͍ʣ w ਓΛ߈ܸ͢Δ w
ྫʣηϯε͕ͳ͍ σβΠϯϨϏϡʔΛ͢Δ࣌ʹμϝͳ͜ͱ
σβΠϯϨϏϡʔͷΓํ w σβΠϯͷతͳʹ͔ʁ w త͕ॻ͍ͯ͋ͬͯɺ͕ࣗΘ͔͍ͬͯΔ͔֬ೝ͢Δ w తʹؔ࿈͍ͯ͠ΔͷͲͷཁૉ͔ʁ w มߋՕॴ͕ଟͯ͘Α͘Θ͔Βͳ͍͕࣌͋Δ w
ཁૉతΛୡ͢ΔͷʹޮՌత͔ʁΛ൷ධ͢Δ ࣭Λ͢Δ
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
࣮श
σβΠϯϨϏϡʔ͍͠ʁ w σβΠϯϨϏϡʔͷର͕Θ͔Β ͳ͍ w ΤϯδχΞʹͱͬͯσβΠϯઐ ྖҬͰͳ͍ w ༻ޠɺ৭ͷྑ͠ѱ͠ɺͳʹ͕ ͍͍ͷ͔Θ͔Βͳ͍
w ݟҧ͍ͷ͜ͱΛݴ͍ͦ͏ w ΠέͯΔఏҊΛ͍͚ͨ͠ΕͲΘ ͔Βͳ͍ σβΠϯϨϏϡʔ͍͠ʁ IUUQTTP[BJLBUTVNBUW
σβΠϯϨϏϡʔ͍͠ʁ w σβΠφʔҎ֎ɺઐ͡Όͳͯͨ͘ΓલɻͦΜͳͱ͖ɺνʔϜͰ ֶͿ w σβΠϯΛֶͿνϟϯεʂͩͱଊ͑Δ w ৽ͨͳઐੑΛֶͿ͜ͱ͕Ͱ͖Δ w ࣦഊ͢ΔػձΛ࡞Δ
w ษڧձΛ͢Δɺখ͞ͳϨϏϡʔʢόφʔͱ͔ʣΛܦݧ͢Δ σβΠϯࣗͷઐͰͳ͍
"HFOEB σβΠϯϨϏϡʔͬͯͳʹʁ σβΠϯϨϏϡʔඞཁʁ σβΠϯϨϏϡʔʹΤϯδχΞ͕ࢀՃ͢Δཧ༝ σβΠϯϨϏϡʔʹࢀՃͯ͠Έͯ σβΠϯϨϏϡʔͷΓํ ࣮ࡍʹͬͯΈΔ σβΠϯϨϏϡʔʹΤϯδχΞࢀՃͯ͠ΈΑ͏
·ͱΊ w σβΠϯϨϏϡʔɺνʔϜͰϓϩμΫτΛ࡞Δ࣌ʹߦ͏ର w ΤϯδχΞ͔ͩΒʜͰͳ͘ɺΤϯδχΞɺσΟϨΫλʔࢀՃ w νʔϜͰϓϩμΫτΛ࡞ΓҭͯΔ w ͕ࣗΒͳ͍ઐྖҬʹ৮ΕͯΈΑ͏ w
σβΠϯʹ͍ͭͯΔͱɺσβΠφʔΤϯδχΞϦϯάΛΓͨ͘ ͳΔ͔͠Εͳ͍ ͔͑ͨͬͨ͜ͱ
·ͱΊ w ΈΜͳͰ͡ΊΔσβΠϯ൷ ධ w σβΠϯϨϏϡʔͷߟ͑ํ ʹ͍ͭͯ·ͱ·͍ͬͯΔ ࢀߟॻ੶
·ͱΊ w 5FBN(FFL w )35σβΠϯϨϏϡʔͰ ༗ޮ w ݠڏɿ)VNJMJUZ w ଚܟɿ3FTQFDU
w ৴པɿ5SVTU ࢀߟॻ੶
·ͱΊ w νʔϜ͕ػೳ͢ΔͱͲ͏͍ ͏͜ͱ͔ w ҟͳΔ৬ೳΛ࣋ͭਓ͕ͨͪ ू·ͬͯνʔϜΛ࡞Δ࣌ʹ େͳ͜ͱ͕·ͱΊΒΕͯ ͍·͢ ࢀߟॻ੶