Slide 1

Slide 1 text

! cobyism — Osaka, 2014 HOW DESIGN HAPPENS AT GITHUB

Slide 2

Slide 2 text

@cobyism

Slide 3

Slide 3 text

ࢲ͸GitHubͷσβΠφʔͱ։ൃऀͰ͢

Slide 4

Slide 4 text

GitHub͸ɺαϯϑϥϯγείʹڌ఺Λஔ͕͘ɺࢲ ͸๺ΞΠϧϥϯυʹॅΜͰ͍·͢

Slide 5

Slide 5 text

ࢲ͸ɺϦϞʔτͰಇ͘ଟ͘ͷࣾһͷதͷҰਓͰ͢

Slide 6

Slide 6 text

໿60ˋ͕ϦϞʔτͰ͢ɻ

Slide 7

Slide 7 text

DESIGN How it works at GitHub ํ๏ઃܭ͸GitHubͷ࣌ʹى͜Γ·͢

Slide 8

Slide 8 text

σβΠϯ͸ɺίʔυ಺Ͱൃੜͨ͠

Slide 9

Slide 9 text

σβΠϯ͸ɺϓϧཁٻͰൃੜ

Slide 10

Slide 10 text

Pull Requests help settle arguments. ϓϧཁٻ͸ɺҾ਺Λղܾ͢Δखॿ͚

Slide 11

Slide 11 text

Pull Requests keep you grounded in reality. ϓϧཁٻ͸ɺ͋ͳ͕ͨݱ࣮ʹয఺Λ౰͓ͯͯ͘

Slide 12

Slide 12 text

Design happens in ... σβΠϯ͸ɺϒϥ΢βͰى͜Δ

Slide 13

Slide 13 text

Design here is real. ϒϥ΢βʔ಺Ͱߦ͏σβΠϯ͸ݱ࣮ɻ

Slide 14

Slide 14 text

Design it once, not twice ઃܭҰ౓ɺೋ౓Ͱ͸ͳ͍

Slide 15

Slide 15 text

Design here is always current. ϒϥ΢βͰߦ͏ઃܭ͸ৗʹ࠷৽Ͱ͋Δɻ

Slide 16

Slide 16 text

Just commit. ίϛοτɺ͓ΑͼͦΕ͕଎͘ͳΔ

Slide 17

Slide 17 text

big
 picture Focus on the first ࠷ॳ͸શମ૾͔Βݟ·͠ΐ͏

Slide 18

Slide 18 text

Design happens with prototyping. σβΠϯ͸ϓϩτλΠϓΛ͍ͬͺ͍࡞Δ͜ͱʹΑͬͯߦΘΕΔ

Slide 19

Slide 19 text

[ REDACTED ] ൿີ!

Slide 20

Slide 20 text

Design happens with lorem ipsum
 dolor sit amet. ϓϨʔεϗϧμςΩετ?

Slide 21

Slide 21 text

Design happens with real data. σβΠϯʹ͸ຊ౰ͷσʔλ͕ඞཁ

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Design happens hidden behind feature flags. σβΠϯ͸ػೳϑϥάͰӅͯ͠ຊ൪؀ڥͰςετ͞Ε͍ͯΔɻ

Slide 24

Slide 24 text

def new_feature_enabled? … end

Slide 25

Slide 25 text

def new_feature_enabled? preview_features? end

Slide 26

Slide 26 text

def new_feature_enabled? preview_features? && team_access?(:some_team) end

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

def new_feature_enabled? true end

Slide 29

Slide 29 text

Beware of
 feature flags. ػೳϑϥάΛ࢖͏ͱԿΛӅ͍ͯͯ͠Կ͕ग़ՙ͞Εͯ ͍Δ͔͕Θ͔Βͳ͘͜ͱ΋͋Δɻ

Slide 30

Slide 30 text

Dogfooding is powerful, but it has it’s limits. ࣗ෼Ͱࣗ෼ͷϓϩμΫτΛςετ͢Δͷڧྗ͚ͩͲɺݶք΋͋Δ

Slide 31

Slide 31 text

Design happens with feedback. ϑΟʔυόοΫ͕͋ͬͯͦ͜σβΠϯ͸ى͜Δ

Slide 32

Slide 32 text

Design happens with quantitative feedback. σβΠϯ͸ɺఆྔతͳϑΟʔυόοΫͰൃੜ

Slide 33

Slide 33 text

Design happens with qualitative feedback. σβΠϯ͸ɺఆੑతͳϑΟʔυόοΫͰൃੜ

Slide 34

Slide 34 text

Design is everyone’s responsibility. σβΠϯ͸ΈΜͳͷ੹೚ɻ

Slide 35

Slide 35 text

Design often begins without any designer input. σβΠϯ͸݁ߏසൟʹσβΠφʔ͕ؔΘΒͳͯ͘΋࢝·Δɻ

Slide 36

Slide 36 text

Beware of design by committee. ҕһձʹΑΔσβΠϯ͸͚͞·͠ΐ͏ʂ

Slide 37

Slide 37 text

Beware of
 drive-by comments. ௨ߦਓ͔Βͷίϝϯτʹ͸஫ҙ͍ͯͩ͘͠͞

Slide 38

Slide 38 text

Design should be an open process. σβΠϯ͸ɺಁ໌ͳϓϩηεͰ͋Δ΂͖

Slide 39

Slide 39 text

Open design is the future. ಁ໌σβΠϯ͸ະདྷ͕͋Δ

Slide 40

Slide 40 text

Open design is really hard. ಁ໌ੑͷ͋ΔσβΠϯ͸࣮ݱ͢Δͷ͸ຊ౰ʹ೉͍͠

Slide 41

Slide 41 text

Open design requires making at paradigm shift. ಁ໌ͳσβΠϯ͸ɺύϥμΠϜγϑτ͕ඞཁͰ͢

Slide 42

Slide 42 text

Open design means showing work early. ಁ໌ੑͷ͋ΔσβΠϯʹ͸ૣ͍ஈ֊ʹσβΠϯΛݟͤΔ ඞཁ͕͋Γ·͢ɻ

Slide 43

Slide 43 text

Open design means accepting imperfection. ಁ໌ੑͷ͋ΔσβΠϯʹ͸׬ᘳͰ͸ͳ͍͜ͱΛड͚ ೖΕΔඞཁ͕͋Δɻ

Slide 44

Slide 44 text

Open design helps build empathy. ಁ໌ੑͷ͋ΔσβΠϯʹ͸ڞײ͋͑͠Δؔ܎Λߏங ͢Δඞཁ͕͋Δ

Slide 45

Slide 45 text

Open design means articulating design decisions. σβΠϯʹࢸΔҙࢥܾఆΛ໌֬ʹදݱͰ͖Δ ඞཁ͕͋Δɻ

Slide 46

Slide 46 text

Open design means sacrificing your pride. ಁ໌ੑͷ͋ΔσβΠϯʹ͸ࣗ෼ͷϓϥΠυΛࣺͯΔ ඞཁ͕͋Δɻ

Slide 47

Slide 47 text

Open design means trusting people. ಁ໌ੑͷ͋ΔσβΠϯʹ͸νʔϜϝʔτΛ৴པ͢Δ ඞཁ͕͋Δɻ

Slide 48

Slide 48 text

Open design means being respectful. ಁ໌ੑͷ͋ΔσβΠϯʹ͸ϑΟʔυόοΫΛ ݴ͏࣌ʹ૬खΛଚॏ͢Δඞཁ͕͋Δɻ

Slide 49

Slide 49 text

Open design takes constant work. ಁ໌ੑͷ͋ΔσβΠϯʹ͸ৗʹ౒ྗͯ͠վળ ͢Δඞཁ͕͋Δɻ

Slide 50

Slide 50 text

Thank you! [email protected] @cobyism Ͳ͏΋͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ