Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Feedback Loops in Development

Shoma Suzuki
September 13, 2018

Feedback Loops in Development

Shoma Suzuki

September 13, 2018
Tweet

More Decks by Shoma Suzuki

Other Decks in Programming

Transcript

  1. Feedback Loops ͷϦʔυλΠϜ ݄ ि
 ೔
 ೔ ࣌ ෼
 ඵ

    IUUQTDPNNPOTXJLJNFEJBPSHXJLJ'JMF&YUSFNF@1SPHSBNNJOHTWH  
 $$#:4"
  2. Feedback Loops in Develop • Design Review • Lint/Static Code

    Analysis • Compile • Pair/Mob Programming, Code Review • Test
  3. Lint, Static Code Analysis • ߴ଎ (ଞͷखஈʹൺ΂ͯ) • ΤσΟλ/IDE ্Ͱ΋࣮ߦՄೳ

    • Coding Style ͷ౷ҰͳͲ΋ • ؇ΊͷϧʔϧͰಋೖͯ͠ίʔυվળͭͭ͠ݫ ͘͠
  4. Compile • ࠷ۙͷίϯύΠϥ͸ݡ͘༏͍͠ • eg. Haskel, Rust • ʮίϯύΠϧͰ͖Δʯ͸ ඞਢ

    • ͕ͩɺoption Ͱ level ௐ੔͕(͍͍ͨͯ)Մೳ • eg. gcc -Wall
  5. Pair/Mob Programming, 
 Code Review • ҉໧஌ͱͳΓ͕ͪͳϊ΢ϋ΢Λڞ༗Ͱ͖Δ৔ • ʮ໰୊ vs

    ࢲͨͪʯओޠ͸ίʔυ • HRTݪଇ (2) • Humility(ݠڏ), Respect(ଚܟ), Trust(৴པ) • ΑΓྑ͍ίʔυ (ղܾࡦ) ΛੜΉػձ
  6. Test • Test Level ͷఆٛͱ࣮ߦ (Test Pyramid) • Unit/Functional/Integration(UI)/Exploratory •

    Testing vs Checking (3) • Smoke Test Ͱ΋ޮՌ͕͋Δ • Mythical Unit Test Coverage (4) • มߋ༰қੑ
  7. Feedback Loops in Release • Dog Fooding • Canary Release

    • Staged Rollouts (ஈ֊ϦϦʔε) • Testing in Production • Monitoring (Mackerel, Datadog, NewRelic) • Error Tracking (Sentry, Rollbar, Crashlytics, kibana)
  8. Marginal Gains (վળͷੵΈॏͶ) • The whole principle came from the

    idea that if you broke down everything you could think of that goes into riding a bike, and then improved it by 1%, you will get a significant increase when you put them all together • 1%ͷվળͷੵΈॏͶଓ͚Δ͜ͱ͕ɺେ͖ͳࠩͱͳΔ (ҙ ༁) • Sir. Dave Brailsford (2012), (ex-British Cycling, Team-Sky) (5)
  9. Appendix 1. https://en.wikipedia.org/wiki/Extreme_programming 2. Team Geek Brian, W. Fitzpatrick 3.

    TDD is dead. Long live testing. David Heinemeier Hansson 4. Mythical Unit Test Coverage, IEEE Software ( Volume: 35, Issue: 3, May/June 2018 ) 5. Olympics cycling: Marginal gains underpin Team GB dominance