Case Study: realestate.com.au

สำหรับหนังสือฉบับพิมพ์ครั้งแรก ผมใช้เวลาพูดคุยกับ realestate.com.au (REA) เกี่ยวกับการใช้ไมโครเซอร์วิสของพวกเขา และสิ่งที่ผมได้เรียนรู้มากมายก็ช่วยได้มากในแง่ของการแบ่งปันตัวอย่างจากโลกจริงของไมโครเซอร์วิสในการใช้งาน ผมยังพบว่าความสัมพันธ์ระหว่างโครงสร้างองค์กรและสถาปัตยกรรมของ REA น่าสนใจเป็นพิเศษด้วย ภาพรวมของโครงสร้างองค์กรนี้อ้างอิงจากบทสนทนาของเราย้อนไปในปี 2014

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

เช่นเดียวกับในปัจจุบัน ธุรกิจหลักด้านอสังหาริมทรัพย์ของ REA ครอบคลุมหลายแง่มุม ในปี 2014 REA ถูกแบ่งออกเป็นสายธุรกิจ (line of business, LOB) ที่เป็นอิสระจากกัน ตัวอย่างเช่น สายธุรกิจหนึ่งดูแลอสังหาริมทรัพย์ที่พักอาศัยในออสเตรเลีย อีกสายหนึ่งดูแลอสังหาริมทรัพย์เชิงพาณิชย์ และอีกสายดูแลหนึ่งในธุรกิจต่างประเทศของ REA สายธุรกิจเหล่านี้มีทีมส่งมอบงานด้าน IT (หรือ "squad") ที่ผูกอยู่กับมัน บางสายก็มีแค่ squad เดียว ในขณะที่สายที่ใหญ่ที่สุดมีถึงสี่ squad ดังนั้นสำหรับอสังหาริมทรัพย์ที่พักอาศัย ก็มีหลายทีมที่เกี่ยวข้องกับการสร้างเว็บไซต์และบริการลิสต์รายการเพื่อให้ผู้คนเรียกดูอสังหาริมทรัพย์ได้ ผู้คนหมุนเวียนระหว่างทีมเหล่านี้เป็นครั้งคราว แต่มักจะอยู่ในสายธุรกิจเดิมเป็นเวลานาน เพื่อให้สมาชิกทีมสามารถสร้างความเข้าใจที่แข็งแกร่งในส่วนของโดเมนนั้น สิ่งนี้ในทางกลับกันก็ช่วยการสื่อสารระหว่างผู้มีส่วนได้ส่วนเสียทางธุรกิจต่างๆ กับทีมที่ส่งมอบฟีเจอร์ให้พวกเขา

แต่ละ squad ภายในสายธุรกิจหนึ่งๆ ถูกคาดหวังให้เป็นเจ้าของวงจรชีวิตทั้งหมดของแต่ละเซอร์วิสที่ตัวเองสร้างขึ้น รวมถึงการ build การทดสอบและ release การซัพพอร์ต และแม้แต่การปลดระวาง ทีม core delivery services มีหน้าที่ให้คำแนะนำ แนวทาง และเครื่องมือแก่ squad ต่างๆ ใน LOB ช่วยให้ squad เหล่านี้ส่งมอบงานได้อย่างมีประสิทธิภาพมากขึ้น ถ้าใช้คำศัพท์ใหม่กว่าของเรา ทีม core delivery services ก็เล่นบทบาทของ enabling team วัฒนธรรมของการทำ automation ที่เข้มแข็งเป็นกุญแจสำคัญ และ REA ใช้ AWS อย่างหนักในฐานะส่วนสำคัญที่ช่วยให้ทีมต่างๆ มีความเป็นอิสระมากขึ้น Figure 15-6 แสดงให้เห็นว่าทั้งหมดนี้ทำงานอย่างไร

bms2 1506

Figure 15-6. ภาพรวมของโครงสร้างองค์กรและทีมของ realestate.com.au และความสอดคล้องกับสถาปัตยกรรม

ไม่ใช่แค่องค์กรที่ส่งมอบงานที่สอดคล้องกับวิธีที่ธุรกิจดำเนินงาน โมเดลนี้ยังขยายไปถึงสถาปัตยกรรมด้วย ตัวอย่างหนึ่งของเรื่องนี้คือวิธีการ integration ภายใน LOB หนึ่งๆ เซอร์วิสทั้งหมดมีอิสระที่จะคุยกันในแบบใดก็ได้ตามที่ squad ผู้ดูแลเห็นว่าเหมาะสม แต่การสื่อสารระหว่าง LOB ถูกกำหนดให้ต้องเป็นแบบ asynchronous batch ซึ่งเป็นหนึ่งในกฎเหล็กไม่กี่ข้อของทีมสถาปัตยกรรมขนาดเล็กมากทีมนี้ การสื่อสารแบบหยาบ (coarse-grained) นี้สอดคล้องกับสิ่งที่มีอยู่ระหว่างส่วนต่างๆ ของธุรกิจด้วยเช่นกัน ด้วยการยืนกรานให้เป็นแบบ batch แต่ละ LOB จึงมีอิสระมากในการดำเนินงานและจัดการตัวเอง มันสามารถปิดเซอร์วิสของตัวเองได้เมื่อไรก็ตามที่ต้องการ เพราะรู้ว่าตราบใดที่ยังทำ batch integration กับส่วนอื่นๆ ของธุรกิจและผู้มีส่วนได้ส่วนเสียทางธุรกิจของตัวเองได้ ก็ไม่มีใครสนใจ

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

องค์กรที่ปรับตัวได้ดีพอที่จะเปลี่ยนแปลงไม่ใช่แค่สถาปัตยกรรมระบบ แต่รวมถึงโครงสร้างองค์กรด้วย สามารถเก็บเกี่ยวประโยชน์มหาศาลในแง่ของความเป็นอิสระของทีมที่ดีขึ้นและเวลาออกสู่ตลาดที่เร็วขึ้นสำหรับฟีเจอร์และฟังก์ชันการทำงานใหม่ๆ REA เป็นเพียงหนึ่งในหลายองค์กรที่ตระหนักว่าสถาปัตยกรรมระบบไม่ได้ดำรงอยู่อย่างโดดเดี่ยว