ฉันรู้ว่ามันเป็นคำถามกว้าง ๆ ดังนั้นฉันจะพยายามเจาะจงให้มากที่สุดเท่าที่จะทำได้ คำถามนี้เป็นคำถาม "องค์กร" มากกว่าคำถามทางเทคนิค
เรามีโครงการหลายด้านที่มีองค์ประกอบหลักเหล่านี้:
- เซิร์ฟเวอร์ที่โฮสต์ตรรกะทางธุรกิจหลัก (ตัวแบบข้อมูล)
- BackOffice สำหรับลูกค้าที่ใช้ตรรกะทางธุรกิจหลัก
- แอปพลิเคชัน API (REST) ซึ่งใช้ตรรกะทางธุรกิจหลักเช่นกัน
- มีแอพสมาร์ทโฟน (iOS และ Android) โดยใช้แอปพลิเคชัน API
- มีแอปแท็บเล็ตอีกแอนดรอยด์ที่แตกต่างจากสมาร์ทโฟนที่ใช้แอปพลิเคชัน API เดียวกัน
เร็ว ๆ นี้ฉันจะอยู่ในการผลิตกับลูกค้าที่ใช้งานอยู่ และเป็นโครงการใด ๆ ฉันจะต้องบำรุงรักษาส่วนประกอบต่าง ๆ ทั้งหมดในช่วงเวลา นั่นหมายความว่าสามารถอัปเกรดทั้งหมดต่อไปนี้:
- รหัสของตรรกะทางธุรกิจหลักในเซิร์ฟเวอร์ (ใช้โดย back-office, API และผลข้างเคียงจากแอปมือถือ)
- API เอง (ใช้ทั้งแอพสมาร์ทโฟนและแท็บเล็ต)
- แอพมือถือทั้งหมด (ผ่าน appstore / googleplay)
แน่นอนส่วนฝั่งเซิร์ฟเวอร์ (รหัสตรรกะทางธุรกิจหลักและรหัส API) สามารถเปลี่ยนแปลงได้ทันทีด้วยตัวเอง อย่างไรก็ตามลูกค้าจะต้องดาวน์โหลดแอพมือถือใหม่ใน appstore / googleplay และฉันไม่สามารถแน่ใจได้ว่าพวกเขาทันสมัย
คุณสามารถให้คำแนะนำคำแนะนำวิธีปฏิบัติที่ดีเพื่อทำให้การอัปเกรดเหล่านี้ราบรื่นและไม่ยึดติดกับไคลเอ็นต์หรือไม่
ฉันต้องใช้องค์ประกอบใดในการ "รุ่น" จะมั่นใจได้อย่างไรว่าทุกอย่างทำงานแม้ว่าลูกค้าจะไม่อัพเกรดแอพมือถือ ฉันควรบังคับให้เขาอัปเกรดเพื่อทำให้งานของฉันง่ายขึ้นหรือไม่
ในคำเดียวฉันควรจะจัดระเบียบเพื่อให้โครงการหลายด้านของฉันมีชีวิตอยู่ตลอดเวลา?