Summary (สรุป)

กฎของ Conway ชี้ให้เห็นถึงอันตรายของการพยายามบังคับใช้การออกแบบระบบที่ไม่สอดคล้องกับองค์กร นี่ชี้ให้เราเห็น อย่างน้อยก็สำหรับไมโครเซอร์วิส ไปสู่โมเดลที่ strong ownership ของไมโครเซอร์วิสเป็นบรรทัดฐาน การใช้ไมโครเซอร์วิสร่วมกันหรือพยายามปฏิบัติ collective ownership ในระดับ scale มักส่งผลให้เราบั่นทอนประโยชน์ของไมโครเซอร์วิสเอง

เมื่อองค์กรและสถาปัตยกรรมไม่สอดคล้องกัน เราจะเจอจุดตึงเครียด ตามที่อธิบายไว้ตลอดบทนี้ ด้วยการตระหนักถึงความเชื่อมโยงระหว่างทั้งสองสิ่งนี้ เราจะมั่นใจได้ว่าระบบที่เรากำลังพยายามสร้างนั้นสมเหตุสมผลสำหรับองค์กรที่เรากำลังสร้างมันขึ้นมาเพื่อ

ถ้าคุณอยากสำรวจหัวข้อนี้ต่อไป นอกเหนือจาก Team Topologies ที่พูดถึงไปแล้ว ผมขอแนะนำอย่างเต็มที่ให้ดูทอล์ก "Scale, Microservices and Flow" โดย James Lewis 16 ซึ่งผมได้รับข้อมูลเชิงลึกมากมายที่ช่วยกำหนดรูปแบบของบทนี้ คุ้มค่าอย่างยิ่งที่จะดู ถ้าคุณสนใจเจาะลึกแนวคิดบางส่วนที่ผมพูดถึงในบทนี้มากขึ้น

ในบทถัดไป เราจะสำรวจหัวข้อที่ผมเคยพูดถึงไปแล้วให้ลึกขึ้น—บทบาทของสถาปนิก

1 Nicole Forsgren, Jez Humble, and Gene Kim, Accelerate: The Science of Building and Scaling High Performing Technology Organizations (Portland, OR: IT Revolution, 2018).

2 Alan MacCormack, Carliss Baldwin, and John Rusnak, "Exploring the Duality Between Product and Organizational Architectures: A Test of the Mirroring Hypothesis," Research Policy 41, no. 8 (October 2012): 1309–24.

3 Nachiappan Nagappan, Brendan Murphy, and Victor Basili, "The Influence of Organizational Structure on Software Quality: An Empirical Case Study" ICSE '08: Proceedings of the 30th International Conference on Software Engineering (New York: ACM, 2008).

4 และเราทุกคนก็รู้กันดีว่า Windows Vista นั้นเกิดข้อผิดพลาดบ่อยมากทีเดียว!

5 Daniel Rodriguez et al., "Empirical Findings on Team Size and Productivity in Software Development," Journal of Systems and Software 85, no. 3 (2012), doi.org/10.1016/j.jss.2011.09.009.

6 Frederick P. Brooks Jr, The Mythical Man-Month: Essays on Software Engineering , Anniversary ed. (Boston: Addison-Wesley, 1995).

7 John Rossman, Think Like Amazon: 50 1/2 Ideas to Become a Digital Leader (New York: McGraw-Hill, 2019).

8 Matthew Skelton and Manuel Pais, Team Topologies (Portland, OR: IT Revolution, 2019).

9 มีชื่อเสียงจากการพัฒนาวัสดุกันน้ำ Gore-Tex

10 ซึ่งขึ้นชื่อว่าแม้แต่ Spotify เองก็ไม่ได้ใช้อีกต่อไปแล้ว

11 Emily Webber, Building Successful Communities of Practice (San Francisco: Blurb, 2016).

12 Paul Ingles, "Convergence to Kubernetes," Medium, June 18, 2018, https://oreil.ly/Ho7kY .

13 "Organizational Evolution for Accelerating Delivery of Comparison Services at Uswitch," Team Topologies, June 24, 2020, https://oreil.ly/zoyvv .

14 แม้ว่าคำว่า mob programming จะถูกใช้กันแพร่หลายกว่า แต่ผมไม่ชอบภาพที่คำนี้สื่อออกมา จึงเลือกใช้คำว่า ensemble แทน เพราะมันสื่อชัดเจนว่าเราหมายถึงกลุ่มคนที่ทำงานร่วมกัน ไม่ใช่กลุ่มคนที่ขว้างระเบิดขวดใส่กันและทุบกระจก ผมไม่แน่ใจ 100% ว่าใครเป็นคนคิดชื่อใหม่นี้ขึ้นมา แต่ผมคิดว่าน่าจะเป็น Maaret Pyhäjärvi

15 Maaret Pyhäjärvi, Ensemble Programming Guidebook (self-pub., 2015–2020), https://ensembleprogramming.xyz .

16 James Lewis, "Scale, Microservices and Flow," YOW! Conferences, February 10, 2020, YouTube video, 51:03, https://oreil.ly/ON81J .