価値と関係ないリファクタリングはやりやすい

リファクタリングの苦悩というのがある気がする。すべてのエンジニアリングはユーザー価値のデリバリーにつながっているべきであり、リファクタリングも例外ではない。リファクタリングは、直近の価値デリバリーに関連して行われるべきであり、直近の活動と直接関係ない箇所のリファクタリングは憚られる。アップデート不要なコードをリファクタリングしても意味がないからだ。

ここで悩みが出てくる。というのは、価値提供と関連する箇所をリファクタリングするということは、リファクタリングと価値提供がコンフリクトするということだ。結果リファクタリングのためにリードタイムが少し延びる。厳しいロードマップのもとでやってると、リファクタリングをせずに、即座に価値を出すことへのプレッシャーがすごい。

一方で、直近の変更箇所と無関係なコードのリファクタリングであれば、いま取り組んでいる価値のリードタイムに影響せず、完全に並行して行えるので、ものすごく作業がやりやすいのだ。

たぶん、なにか根本的に考え方が間違ってるんだろうか。

Taiju Muto @tai2