มีบางสิ่งผิดปกติกับสถานการณ์ที่อธิบายไว้ปัญหาที่ชัดเจนคือการขาดความเคารพต่อผู้พัฒนาแบ็คเอนด์ เนื่องจากคำถามนี้ถูกแท็กว่องไวฉันจะผลักดันคำตอบอื่น ๆ ที่แนะนำว่านี่เป็นปัญหาสังคมเท่านั้น มีกลิ่นไม่ดีหลายอย่างและรูปแบบการต่อต้านที่เป็นไปได้ในเรื่องราวของคุณไม่มีส่วนเกี่ยวข้องกับการจัดการที่ไม่รู้หรือแม้แต่วิธีที่คุณหั่นเรื่องราว
ความจริงที่ว่ากลุ่มบุคคลในทีมรู้สึกว่าไม่ได้รับความรุ่งโรจน์จากการทำงานทำให้ปัญหาที่เป็นไปได้หลายอย่างประสบความสำเร็จ
- ไม่ควรมีคนที่พัฒนาด้านหลังเท่านั้น วิธี Agile ที่ใช้กันทั่วไปคือการมีทีมข้ามสายงานซึ่งประกอบด้วยผู้เชี่ยวชาญทั่วไปที่ฝึกฝนการเป็นเจ้าของรหัสที่ใช้ร่วมกัน บุคคลที่ไม่ควรมุ่งเน้นเฉพาะในการพัฒนาส่วนหลังหรือส่วนหน้าแม้ว่าพวกเขาจะมีประสบการณ์ที่ดีขึ้นหรือดีกว่าบางอย่างแน่นอน
- สถาปัตยกรรมไม่ได้รับคุณค่า จากมุมมองของผู้ใช้ - มุมมองเดียวที่สำคัญจริงๆ - มันไม่สำคัญว่าคุณมีเลเยอร์หรือภาษาโดเมนหรือแม้ว่าจะมีการตั้งโปรแกรมแก้ไขก็ตาม สิ่งเดียวที่สำคัญคือคุณสร้างคุณค่าให้กับผู้ใช้หรือไม่ "เรื่องราว" ที่นำเสนอจากนักพัฒนาซอฟต์แวร์แบ็คเอนด์เป็นข้อกำหนดไร้สาระ - มันเป็นบทสรุปของการตัดสินใจออกแบบที่จากมุมมองของผู้ใช้ / ลูกค้าไม่ได้ทำอะไรเพื่อให้ได้ฟังก์ชั่นที่ต้องการ กล่าวอีกนัยหนึ่งเรื่องราวของผู้ใช้ที่ได้รับอาจเกิดขึ้นได้จากการออกแบบสถาปัตยกรรมจำนวนเท่าใดก็ได้ อาจเป็นไปได้ว่าเรื่องราวของผู้ใช้อาจเสร็จสมบูรณ์โดยไม่มีการดัดแปลงใด ๆ กับแบ็คเอนด์เลย สิ่งนี้ไม่ได้ทำให้เป็นเรื่องที่ไม่ถูกต้อง
- การคิดอย่างเป็นระบบยังมีความสำคัญ ในขณะที่สถาปัตยกรรมอาจไม่ได้รับคุณค่ามันยังคงมีความสำคัญต่อความสำเร็จ นักพัฒนาซอฟต์แวร์ส่วนหลังมีข้อกังวลที่ถูกต้อง คุณควรคิดถึงว่าคุณจะสร้างระบบอย่างไร คุณควรจะเขียนการตัดสินใจเหล่านั้นลง ทั้งระบบมีความสำคัญแม้ว่าฟีเจอร์ส่วนหน้าเท่านั้นที่เป็นสิ่งที่จะได้รับเกียรติทั้งหมด
คำแนะนำของฉันคือการรักษาสถาปัตยกรรมในฐานะพลเมืองชั้นหนึ่ง - แต่ทำอย่างถูกวิธี ดำเนินการประชุมเชิงปฏิบัติการแอตทริบิวต์ที่มีคุณภาพกับผู้มีส่วนได้ส่วนเสีย เกี่ยวข้องกับผู้มีส่วนได้ส่วนเสียที่สำคัญในการทบทวนสถาปัตยกรรมหรืออย่างน้อยก็สรุปการตัดสินใจการออกแบบที่สำคัญในเหตุการณ์สำคัญ วาดสถาปัตยกรรมลงบนกระดาษแผ่นใหญ่และทำให้มองเห็นได้เพื่อให้ทั้งทีมมองเห็นได้
ต้องการให้ทุกคนพัฒนาได้ทุกที่ในระบบ (front-end และ back-end), จับคู่โปรแกรมถ้าคุณต้องการเพื่อให้สิ่งนี้สามารถเกิดขึ้นได้อย่างมีประสิทธิภาพ ดำเนินการต่อเพื่อสร้างเรื่องราวของผู้ใช้ที่มุ่งเน้นผู้ใช้ แต่ยังระบุถึงคุณลักษณะของคุณลักษณะด้านคุณภาพที่สำคัญซึ่งแสดงว่าทำไมระบบได้รับการออกแบบในแบบที่เป็นอยู่และขับเคลื่อนการตัดสินใจเกี่ยวกับการออกแบบ "แบ็คเอนด์" ยกระดับการออกแบบสถาปัตยกรรมเพื่อไม่ให้มองไม่เห็นอีกต่อไป