how to fight against “full scratch disease”

27
How to fight against “Full Scratch Disease” PIZZA_JP #2 @rs_wisteria

Upload: yoichi-toyota

Post on 21-Mar-2017

144 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: How to fight against  “full scratch disease”

How to fight against “Full Scratch Disease”

PIZZA_JP #2@rs_wisteria

Page 2: How to fight against  “full scratch disease”

作り直したい病

Page 3: How to fight against  “full scratch disease”

作り直したい病

技術的負債のたまったプロジェクトを再構築したいエ

ンジニアが頻繁に罹患

Page 4: How to fight against  “full scratch disease”

なぜ作り直したいのか

● 技術的負債の束○ フレームワークのバージョンが古い

○ 設計がクソ

○ 実装がクソ

○ 使ってるミドルウェアが廃れた

○ etc

Page 5: How to fight against  “full scratch disease”

作り直した方が早い

Page 6: How to fight against  “full scratch disease”

Page 7: How to fight against  “full scratch disease”

本当に?

Page 8: How to fight against  “full scratch disease”

実は結構大変

● ちゃんと明確な仕様書がある?○ →ないです…

● ちゃんと明確なテスト仕様書がある?○ →ないです…

● お金出してくれる人説得する自信は?○ →ないです…

Page 9: How to fight against  “full scratch disease”

エンジニアが苦手なこと

Page 10: How to fight against  “full scratch disease”

情報共有(偏見)

Page 11: How to fight against  “full scratch disease”

テスト(偏見)

Page 12: How to fight against  “full scratch disease”

説得(偏見)

Page 13: How to fight against  “full scratch disease”

作り直す上でやるべきこと

● 作り直すものの仕様の共有

● 作り直すもののテスト

● 作り直すメリットの説明

→苦手なお仕事ばっかいりやないかい!

Page 14: How to fight against  “full scratch disease”

現在動いているコードが持っている隠れ資産

● 今動いているという実績○ 動いているものが仕様

○ 昔みんなで頑張ってデバッグした成果

● 作り直す=この資産を捨てる○ 本当にこっちの方が早いのかを考える必要がある

Page 15: How to fight against  “full scratch disease”

そんなことより

Page 16: How to fight against  “full scratch disease”

もっと致命的な

問題

Page 17: How to fight against  “full scratch disease”

そのクソコード

書いたの誰?

Page 18: How to fight against  “full scratch disease”

お前か

Page 19: How to fight against  “full scratch disease”

じゃあ、作り直すのは

だれ?

Page 20: How to fight against  “full scratch disease”

やっぱりお前か

Page 21: How to fight against  “full scratch disease”

それ、もう一回クソコード

書くだけじゃね?

Page 22: How to fight against  “full scratch disease”

根本的な話

● 作り直したものが素晴らしい保証はない○ またしばらく立ったら作り直したくなるよね?

○ また作り直すの?

○ また新しいうんこ書くの?

Page 23: How to fight against  “full scratch disease”

Joel on Software

● 実は既に2000年くらいに言われ

ているお話し○ はてなブログをリリースされた際に

よく言及されていた

Page 24: How to fight against  “full scratch disease”

どうするの?

Page 25: How to fight against  “full scratch disease”

どうにもならん

Page 26: How to fight against  “full scratch disease”

なぜ作り直したいのかを問い直す

● フレームワークのバージョン上げるの面倒○ 間違いなく作り直した方が面倒だから諦めて更新しろ

● どうやって動いているかよく分からないから○ コード読め、それを調べるのがお前の仕事だ

● 設計がクソ過ぎて辛い○ 具体的に駄目な箇所を指摘し、リファクタリングしろ

Page 27: How to fight against  “full scratch disease”

まとめ

● 作り直したい病○ エンジニアが罹患する病気です

○ 殆どのケースで作り直してはいけません

● 現状に甘んじろと?○ そうではない。具体的な問題を指摘しろ

○ 具体的な問題に対し、具体的な解決策を示せ