開発生産性を上げる手段にリアーキテクトがあるよという話。
「開発生産性を上げる」って一言に言ってもいろいろある。
開発生産性とは開発者満足度
突き詰めると終わりがない
開発生産性とはActivity(コードのラインカウント数やPR数)
PR数とかマージ数とかはハックされやすい、誤魔化しが効く
開発生産性とはPerformance(システムが生み出す成果)
売り上げとか顧客満足度とかだけど、開発単体の生産性ではない
開発生産性とはどれだけ強調したか
大事だけどこれが全てじゃない
チームの集中を引き出す能力(無駄なMTGとか省いて実装に集中)
一要因ではあるがこれが全てじゃない
で、これら全て「開発生産性を上げる」視点の一つにすぎず、どれをあげたいかで検討の仕方が変わる。
リアーキテクトは「生産性を上げる」ための手段に過ぎない。それなりにコストもかかるしリスキーだが選択肢として常にリーダーは持っておきたい。
リアーキテクトのもう一つの側面として「コードのオーナーシップを持つ」ということがあげられる。
かつて誰かが書いたコードをリファクタすることで、自分のコードという実感を持たせて自分事とすることに意味がある。
リアーキテクトの方法は様々であるが機能ごとや画面ごと逐次的に行った方が良さそう。