Tìm kiếm cách tốt hơn để kết hợp tái cấu trúc kiến ​​trúc sâu với phát triển dựa trên tính năng


9

Báo cáo vấn đề:

Được:

  • TFS là Kiểm soát nguồn
  • Ứng dụng máy tính để bàn nặng với hàng tấn mã kế thừa với thiết kế kiến ​​trúc xấu hoặc gần như không có.
  • Khách hàng liên tục yêu cầu các tính năng mới với chất lượng âm thanh,
    giao hàng nhanh và liên tục phàn nàn về giao diện người dùng không thân thiện.

Vấn đề:

Ứng dụng chắc chắn đòi hỏi tái cấu trúc sâu. Quá trình này chắc chắn làm cho giai đoạn ổn định ứng dụng không ổn định và chuyên dụng là cần thiết.

Chúng tôi đã thử:

Tái cấu trúc trong bản gốc với sự hợp nhất định kỳ từ bản gốc (MB) sang tính năng nhánh (FB). (lỗi của tôi) Kết quả: Nhiều nhánh không ổn định.


Những gì chúng tôi được khuyên:

Liên kết đến bài viết (pdf)
Tạo chi nhánh bổ sung để tái cấu trúc (RB) định kỳ đồng bộ hóa nó với MB thông qua hợp nhất từ ​​MB sang RB. Sau khi RB được ổn định, chúng tôi thay thế master bằng RB và tạo nhánh mới để tái cấu trúc thêm. Đây là kế hoạch. Nhưng ở đây tôi mong đợi địa ngục thực sự của việc sáp nhập MB với RB sau khi hợp nhất bất kỳ FB nào với MB.

Ưu điểm chính: Chủ ổn định hầu hết thời gian.

Có sự thay thế nào tốt hơn cho các thủ tục?


1
Các cải tiến có thể (thay vì thay thế) cho quy trình được đề xuất của bạn: Công cụ hợp nhất TFS khá khó sử dụng so với các tiện ích khác nhau khác. Nếu bạn chưa làm như vậy, bạn có thể thấy việc hợp nhất thủ công sẽ bớt đau đớn hơn nếu bạn định cấu hình ứng dụng khách TFS để sử dụng tiện ích khác đẹp hơn, thay vì công cụ tích hợp. Bạn cũng có thể thấy tiện ích TFS Power Tools của Microsoft hữu ích. Nó cung cấp khả năng chạy khác biệt giữa các thay đổi hoặc các nhánh, thay vì chỉ giữa các tệp riêng lẻ.
Brian

Câu trả lời:


1

Tôi đã có một tình huống tương tự trong quá khứ. Tôi đã làm gì:

  • đánh giá hiện trạng của dự án; trong hầu hết các tình huống, kiến ​​trúc (hoặc thiếu nó) là vấn đề chính => nghĩ lại
  • thường có các tính năng làm việc, vấn đề là sự kết hợp cao giữa các phần khác nhau của dự án; Tôi đã đánh giá các tính năng làm việc và tôi đã sử dụng lại chúng, nhưng trong kiến ​​trúc của riêng tôi
  • nói chuyện với khách hàng; Tôi không biết người quản lý của bạn nói gì, nhưng tôi nghĩ điều quan trọng là nói chuyện với khách hàng và thẳng thắn; anh ta cần biết bạn đang làm việc với chất lượng sản phẩm của anh ta. Tôi đã thỏa thuận cho một kế hoạch phát hành:

  • trong giai đoạn hợp nhất 2 giải pháp (làm cho các tính năng kiến ​​trúc + tái sử dụng từ dự án cũ), những điều duy nhất được phát hành (tính năng mới) đã được thực hiện trên sản phẩm cũ; tuy nhiên, bản phát hành mới chỉ chứa các bản sửa lỗi quan trọng. Vì vậy, rất ít bản phát hành được thực hiện trên sản phẩm cũ. Do đó, những thứ thay đổi dễ dàng được hợp nhất vào giải pháp mới.

  • bản phát hành mới đầu tiên (phát hành sản phẩm mới) chỉ chứa những gì sản phẩm cũ chứa (không có tính năng mới); sau khi ổn định nó (quá trình ổn định không mất nhiều thời gian) tôi đã làm việc với một dự án duy nhất

Tôi nghĩ rằng bạn không thể thoát khỏi một khoảng thời gian (hợp lý ngắn) phát hành lẻ tẻ. Điều quan trọng là bạn có thể đồng ý về điều này với khách hàng của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.