How design happens at GitHub (Osaka, 2014)

How design happens at GitHub (Osaka, 2014)

Here are the slides for a talk I gave in Osaka, Japan, in 2014, about how design happens at GitHub.

Ee5bae7fa46b3195869c285ecbb4619e?s=128

Coby Chapple

June 03, 2014
Tweet

Transcript

  1. ! cobyism — Osaka, 2014 HOW DESIGN HAPPENS AT GITHUB

  2. @cobyism

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

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

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

  6. ໿60ˋ͕ϦϞʔτͰ͢ɻ

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

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

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

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

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

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

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

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

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

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

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

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

  19. [ REDACTED ] ൿີ!

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

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

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

  24. def new_feature_enabled? … end

  25. def new_feature_enabled? preview_features? end

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

  27. None
  28. def new_feature_enabled? true end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  50. Thank you! coby@github.com @cobyism Ͳ͏΋͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ