Tôi biết đó là một câu hỏi rộng vì vậy tôi sẽ cố gắng cụ thể nhất có thể. Câu hỏi này là một câu hỏi "tổ chức" hơn là một câu hỏi kỹ thuật.
Chúng tôi có một dự án nhiều mặt với các thành phần chính này:
- Một máy chủ, lưu trữ logic kinh doanh cốt lõi (mô hình dữ liệu)
- Một backoffice cho khách hàng sử dụng logic kinh doanh cốt lõi
- API ứng dụng (REST) cũng sử dụng logic nghiệp vụ cốt lõi
- Có các ứng dụng điện thoại thông minh (iOS và Android) sử dụng API ứng dụng
- Có một ứng dụng máy tính bảng khác (android) khác với điện thoại thông minh sử dụng cùng API ứng dụng.
Tôi sẽ sớm sản xuất với các khách hàng tích cực. Và như bất kỳ dự án nào, tôi sẽ cần duy trì tất cả các thành phần khác nhau theo thời gian. Điều đó có nghĩa là tất cả những điều sau đây có thể được nâng cấp:
- mã logic kinh doanh cốt lõi trong máy chủ (được sử dụng bởi văn phòng hỗ trợ, API và như một hiệu ứng phụ, bởi các ứng dụng di động)
- chính API (được sử dụng bởi cả ứng dụng điện thoại thông minh và máy tính bảng)
- tất cả các ứng dụng di động (thông qua appstore / googleplay)
Tất nhiên, các bộ phận phía máy chủ (mã logic nghiệp vụ cốt lõi và mã API) có thể được thay đổi ngay lập tức. Tuy nhiên, các ứng dụng di động mới phải được khách hàng tải xuống trên appstore / googleplay và tôi không thể chắc chắn chúng đã được cập nhật.
Bạn có thể cung cấp bất kỳ hướng dẫn, mẹo thực hành tốt, để làm cho các nâng cấp luận án trơn tru và, không bị cản trở cho khách hàng?
Thành phần nào tôi cần "phiên bản"? Làm thế nào để đảm bảo mọi thứ hoạt động ngay cả khi khách hàng không nâng cấp ứng dụng di động của mình? Tôi có nên buộc anh ta nâng cấp để làm cho công việc của tôi dễ dàng hơn?
Nói một cách dễ hiểu, tôi nên tổ chức như thế nào để dự án đa diện của mình sống theo thời gian?