Saya benar-benar tidak bermaksud menyerang jawaban lain, tetapi tidak ada orang lain yang menulis tes otomatis di sini?
Inilah bacaan yang menyenangkan dari Martin Fowler untuk siapa saja yang melakukan Scrum tanpa praktik rekayasa perangkat lunak yang tepat. Robert C. Martin juga mengatakan banyak tentang ini di sini .
Jadi, untuk jawaban saya ... Singkatnya, begini:
Ya, kode refactoring "acak" diizinkan di Scrum , selama tim memutuskan bahwa itu harus dilakukan. (Setelah semua, ini mengatur diri sendiri)
Dan sekarang untuk jawaban panjang:
Jelaslah bahwa meninggalkan lebih banyak hutang teknis setelah setiap Sprint adalah resep untuk bencana. Segera, semua orang akan melambat karena kode bocomes lebih berantakan; setiap perubahan akan lebih sulit dilakukan karena kodenya sangat kusut dan berantakan sehingga butuh waktu lebih lama untuk menemukan tempat untuk berubah daripada membuat perubahan yang sebenarnya. Bahkan menjadi lebih buruk jika Anda harus membuat perubahan dalam modul besar dan berantakan yang tidak Anda ketahui, menjadi tidak mungkin untuk mendapatkan / menjaga produktivitas ketika menambah / mengganti orang dalam proyek, dan sebagainya.
Jika sebuah tim ingin menjaga kecepatannya tetap stabil, mereka harus mampu menjaga basis kode tetap bersih untuk terus meningkatkan perangkat lunak. Refactoring adalah praktik wajib jika Anda ingin menjaga kecepatan Anda sepanjang siklus hidup proyek, dan jika Anda ingin mengurangi risiko menambah / mengalihkan orang pada proyek, dan jika Anda ingin dapat membuat perubahan dalam modul Anda tidak tahu apa-apa tentang, dan sebagainya.
Namun, refactoring adalah kegiatan yang sangat berbahaya. Saya ulangi - ini adalah aktivitas yang sangat berbahaya . Yaitu, kecuali Anda memiliki cakupan tes yang cukup untuk dapat dengan aman dan bebas mengubah basis kode. Jika Anda bisa menekan tombol untuk memeriksa apakah tidak ada yang rusak, refactoring menjadi kegiatan yang sangat aman; sangat aman, pada kenyataannya, itu adalah bagian dari siklus TDD , yang merupakan praktik yang memungkinkan Anda untuk membuat test suite di tempat pertama.
Tetapi, karena tim-tim di Scrum mengatur diri sendiri, pada akhirnya tim Anda harus memutuskan apa yang benar untuk dilakukan. Saya berharap telah memberi Anda beberapa argumen jika Anda harus meyakinkan siapa pun. (Berikan perhatian khusus pada tautan di paragraf pertama, dan setiap artikel lainnya yang mereka tunjukkan)