สถาปัตยกรรมหอคอยงาช้าง (Ivory Tower Architecture)

ivorytowerหากย้อนกลับไปซักสิบปีที่แล้วประเทศไทยคงยังไม่ค่อยคุ้นเคยกับบทบาทของ สถาปนิกคอมพิวเตอร์ ซักเท่าไหร่ เพราะว่าคนไทยในประเทศยังไม่ค่อยมีใครเป็นสถาปนิกอย่างแท้จริง แต่ในสิบปีให้หลังเราคงเริ่มได้เห็นบทบาทของสถาปนิกในแวดวงไอทีมากขึ้น

จากบทบาทดังกล่าวทำให้เราได้เห็น สถาปัตยกรรมในองค์กรสองแบบที่ค่อนข้างแตกต่างกันอย่างชัดเจน

ประเภทแรกเป็นสถาปัตยกรรมที่เน้นไปในรูปแบบนามอธรรม และสามารถใช้กับ แพลตฟอร์มอะไรก็ได้ และไม่ค่อยลงรายละเอียดเกี่ยวกับความซับซ้อน หรือ รายละเอียดของฮาร์ดแวร์ เน็ตเวิร์ค อิเล็คตรอน โปรตรอน จุดเด่นที่สุดขั้วของสถาปัตยกรรมนี้ทำให้เรารู้จักกันดีในนามว่า “สถาปัตยกรรมหอคอยงาช้าง (Ivory Tower Architecture)”  รูปแบบสถาปัตยกรรมแบบดังกล่าวมักมาเป็นรูปแบบที่นักพัฒนาเอาไปสานต่อได้ค่อนข้างยาก (บางคนถึงกับบ่นว่า ฝันเฟื่อง ไร้สาระ) ตัวอย่างเช่น ต้องใช้  EJB Container-managed persistence หรือแม้แต่บังคับนักพัฒนาว่า ต้องใช้ JSF ในการทำ  UI เท่านั้น หรือสำหรับองค์กรที่รัก หรือมีสัญญาผูกกับ Oracle มักจะบังคับนักพัฒนาทุกทีมว่า ต้องใช้ฐานข้อมูล Oracle  เท่านั้น

นักพัฒนาหลายต่อหลายคนที่ผมรู้จักถึงกับต้องกัดฟันทำไปตามสิ่งที่นักสถาปัตยกรรม แนะนำ (กึ่งบังคับ)ให้ทำ และมักใช้คำว่ามารตฐานขององค์กรมาเป็นเกราะ หรือมีดดาบ เอาเข้าจริงๆหลายต่อหลายครั้งการใช้เทคโนโลยีทางเลือกอาจง่ายกว่าถึง สิบๆเท่า ครับทุกๆคนเคยตกอยู่ในสถานการณ์ดังกล่าว ขอแสดงความยินดีด้วยครับ ว่าคุณได้อยู่ในวัฏจักร์ของสถาปัตยกรรมหอคอยงาช้าง

ขอยืนยันว่าสถาปนิกคอมพิวเตอร์ที่ไม่รับฟังความคิดเห็นของนักพัฒนา มักเป็นคนที่ไม่รับฟังความคิดเห็นของผู้ใช้งานระบบเช่นเดียวกัน และหลายต่อหลายครั้งผมเองเคยเจอผู้ใช้งานระบบภาวนาให้ระบบล่ม (เพราะอย่างน้อยจะได้ไม่ต้องใช้ไปซักพัก)

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

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

สถาปัตยกรรมหอคอยงาช้าง (Ivory Tower Architecture) มีรูปแบบที่พอเสร็จแล้วมักไม่ยอมรับการเปลี่ยนแปลงอะไร และมักบอกว่ามันได้ถูกออกแบบมาอย่างที่มันควรจะเป็นแล้ว หากแต่สถาปนิกที่แท้จริงมักบอกว่ามันดีเพียงพอ ณ เวลา และมักบอกได้ว่าระบบย่อยส่วนไหนจะมีอายุการใช้งานนานเท่าไร หรือมีลางบอกเหตูที่วัดได้เพื่อจะได้เริ่มออกแบบรองรับในอีก  1-2   ปีข้างหน้า

ส่วนตัว มีความเชื่อว่าเราทุกคนไม่จำเป็นต้องรอสถาปนิกมาบังคับเราโดยที่เราออกความคิดเห็นไม่ได้ หากแต่เรานักพัฒนาต้องคิดและแนะนำแนวทางในการออกแบบที่ถูกต้องด้วย เริ่มเสียแต่วันนี้ ก่อนที่สถาปัตยกรรมหอคอยงาช้าง (Ivory Tower Architecture) จะล้มพัง และทำลายทุกๆคนที่อยู่ในองค์กร

Tagged with: ,
Posted in Agile, Architecture, Coaching

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: