Lebih baik / ditingkatkan adalah perbandingan multi-sumbu. Apakah Anda pikir Anda dapat membuatnya lebih cepat, lebih kecil, lebih efisien sumber daya, lebih mudah dibaca, informasi yang lebih bermanfaat, hasil yang lebih tepat, lebih fleksibel, lebih umum, dapat berjalan pada lebih banyak sistem, menghilangkan ketergantungan pada produk yang terpisah?
Mengapa perusahaan Anda harus membayar Anda untuk menghabiskan waktu menulis ulang kode ini, alih-alih menulis kode baru atau menulis ulang sepotong kode lainnya?
Anda harus melakukan peningkatan saat peluang muncul, tetapi peluang berarti bahwa Anda telah mengerjakan kode, atau Anda telah mengidentifikasi alasan bisnis untuk melakukan perubahan.
Mendorong perubahan produksi menghasilkan peluang yang tidak nol untuk memecahkan sesuatu (pengujian unit dan fungsional hanya mengurangi peluang ini, mereka tidak menghilangkannya), dan hanya boleh dilakukan ketika manfaat yang diharapkan melebihi risiko.
Mana poin lain yang perlu dipertimbangkan - apakah Anda bermaksud mendorong perubahan ini ke produksi, atau hanya ke cabang pengembangan? Bilah untuk dua skenario sama sekali berbeda. Jika itu hanya terjadi di cabang pengembangan, dan mungkin tidak pernah masuk ke produksi, maka peluang pada dasarnya berarti Anda melihat kode untuk beberapa alasan, dan tidak memakan waktu untuk melakukannya. Hal ini dapat ditinjau sebagai diperlukan jika push harus pernah terjadi, dan ditinggalkan jika dianggap tidak beralasan pada yang waktu. Jika di sisi lain, ini akan diproduksi sekarang, seperti yang saya katakan di atas, Anda perlu mempertimbangkan apakah perubahan ini sepadan dengan biayanya: dalam hal waktu yang dihabiskan untuk melakukan push, dan manfaat menggunakan kode baru.