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