Tôi làm việc với một cơ sở mã có hơn 500K dòng mã. Đó là cần nghiêm túc của tái cấu trúc. Đã có những nỗ lực tái cấu trúc được xác định sẽ mất nhiều thời gian hơn so với nước rút hai tuần bình thường. Chúng không thể được chia thành các nhiệm vụ nhỏ hơn như tôi đã thấy đề xuất trong các câu trả lời khác trên trang web này. Sản phẩm cần phải hoạt động vào cuối vòng lặp và tái cấu trúc một phần sẽ khiến hệ thống ở trạng thái không sử dụng được vì sự phụ thuộc giữa các mục là khủng khiếp. Vì vậy, cách tốt nhất để tiếp cận rào cản này là gì? Một lần nữa tôi đề cập, chia nó thành các phần nhỏ hơn không phải là một lựa chọn, điều đó đã được thực hiện.
Cập nhật: Mọi người dường như cần một lời giải thích về lý do tại sao điều này không thể phù hợp với nước rút 2 tuần. Có nhiều thứ liên quan đến nước rút hơn là chỉ viết mã. Chúng tôi có một chính sách không có mã mà không có bài kiểm tra. Chính sách đó không phải lúc nào cũng tồn tại và một phần lớn cơ sở mã không có chúng. Ngoài ra một số bài kiểm tra tích hợp của chúng tôi vẫn là bài kiểm tra thủ công. Vấn đề không phải là bản thân cấu trúc lại quá lớn. Thực tế là những thay đổi nhỏ có ảnh hưởng đến nhiều bộ phận của hệ thống và chúng tôi cần đảm bảo rằng những bộ phận đó vẫn hoạt động chính xác.
Chúng tôi không thể tắt hoặc mở rộng nước rút vì chúng tôi có các hotfix hàng tháng. Vì vậy, thay đổi này kéo dài qua một lần chạy nước rút không thể ngăn công việc khác được thêm vào hotfix.
Tái cấu trúc so với thiết kế lại: Chỉ vì quá trình phát triển của chúng tôi không đủ hiệu quả để xử lý việc tái cấu trúc này trong chu kỳ hai tuần không đảm bảo đổi tên nó thành thiết kế lại. Tôi muốn tin rằng trong tương lai chúng ta có thể hoàn thành chính xác nhiệm vụ tương tự trong vòng hai tuần khi quá trình của chúng ta được cải thiện. Mã được đề cập ở đây đã không phải thay đổi trong một thời gian rất dài và khá ổn định. Bây giờ, khi định hướng của công ty đang trở nên dễ thích nghi hơn để thay đổi, chúng tôi muốn phần cơ sở mã này có thể thích ứng như phần còn lại. Mà đòi hỏi phải tái cấu trúc nó. Dựa trên các câu trả lời ở đây, rõ ràng là thiếu giàn giáo cần thiết để làm cho việc tái cấu trúc này hoạt động trong khung thời gian của các lần chạy nước rút thông thường.
Câu trả lời:
Tôi sẽ thực hiện phương pháp tiếp cận chi nhánh và hợp nhất mà Corbin March đã đề xuất lần đầu tiên để chúng tôi có thể tìm hiểu thêm về các lĩnh vực vấn đề này và cách xác định các bài kiểm tra còn thiếu. Tôi nghĩ rằng tiến về phía trước, chúng ta nên thực hiện phương pháp mà Buhb đề xuất để xác định các khu vực đang thiếu các bài kiểm tra và thực hiện những khu vực đó trước, sau đó thực hiện tái cấu trúc. Nó sẽ cho phép chúng tôi giữ cho chu kỳ chạy nước rút hai tuần bình thường của chúng tôi, giống như nhiều người ở đây đã nói nên luôn luôn là trường hợp để tái cấu trúc.