Tôi thực sự không có ý định tấn công các câu trả lời khác, nhưng có ai khác đang viết bài kiểm tra tự động ở đây không?
Đây là một bài đọc thú vị từ Martin Fowler cho bất cứ ai làm Scrum mà không có các thực hành kỹ thuật phần mềm thích hợp. Robert C. Martin cũng nói rất nhiều về điều này ở đây .
Vì vậy, với câu trả lời của tôi ... Tóm lại, nó diễn ra như sau:
Có, mã tái cấu trúc "ngẫu nhiên" được cho phép trong Scrum , miễn là nhóm quyết định rằng nó nên được thực hiện. (Rốt cuộc, nó là tự tổ chức)
Và bây giờ cho câu trả lời dài:
Rõ ràng là để lại ngày càng nhiều nợ kỹ thuật sau mỗi Sprint là một công thức cho thảm họa. Chẳng mấy chốc, mọi người sẽ chậm lại vì các mã bocomes lộn xộn hơn; mọi thay đổi sẽ khó thực hiện hơn vì mã quá rối và lộn xộn đến nỗi mất nhiều thời gian hơn để tìm các điểm cần thay đổi so với thực hiện thay đổi thực tế. Thậm chí còn tệ hơn nếu bạn phải thay đổi một mô-đun lớn và lộn xộn mà bạn không biết gì, không thể đạt được / giữ năng suất khi thêm / chuyển đổi mọi người trong dự án, v.v.
Nếu một đội muốn giữ tốc độ ổn định, họ phải có khả năng giữ cho cơ sở mã sạch sẽ để liên tục tăng phần mềm. Tái cấu trúc là một cách thực hành bắt buộc nếu bạn muốn duy trì vận tốc của mình trong suốt vòng đời của dự án và nếu bạn muốn giảm thiểu rủi ro khi thêm / chuyển người vào dự án và nếu bạn muốn có thể thay đổi mô-đun, bạn không biết gì về, và như vậy.
Tuy nhiên, tái cấu trúc là một hoạt động rất nguy hiểm. Tôi nhắc lại - đó là một hoạt động rất nguy hiểm . Đó là, trừ khi bạn có đủ phạm vi kiểm tra để có thể thay đổi cơ sở mã một cách an toàn và tự do. Nếu bạn chỉ có thể nhấn nút để kiểm tra xem có gì bị hỏng hay không, tái cấu trúc trở thành một hoạt động rất an toàn; Thực tế, rất an toàn, đó là một phần của chu trình TDD , đây là cách thực hành cho phép bạn tạo ra một bộ thử nghiệm như vậy ngay từ đầu.
Nhưng, vì các nhóm trong Scrum là tự tổ chức, cuối cùng, nhóm của bạn phải quyết định điều gì là đúng. Tôi hy vọng đã đưa ra một số lập luận trong trường hợp bạn phải thuyết phục bất cứ ai. (Đặc biệt chú ý đến các liên kết trong đoạn đầu tiên và mọi bài viết khác mà chúng trỏ đến)