Blog Archives

การสร้างสถาปัตยกรรมบนพื้นฐานของความไม่แน่นอน

สิ่งที่เรียนรู้จากงาน อไจล์สิงคโปร์ จาก Architecture of Uncertainty, Kevlin Henney พอจับใจความได้คร่าวๆคือ เริ่มออกแบบจากสิ่งที่ยากที่สุด หลายต่อหลายครั้งเรามักไปทำส่วนที่ง่ายที่สุด แล้วค่อยย้อนไปมองส่วนที่ยากที่สุด แต่ในมมของ Kevlin คือ ต้องสร้างสถาปัตย์เหมือนกับการสร้างบ้าน คือคิดในส่วนที่เป็นรากฐานของบ้านให้ดี แล้วค่อยไปโครงสร้างชั้นถัดไป ทุกคนที่มีส่วน ไม่ว่าจะเป็นคนสร้างโคด หรือ แม้แต่คนที่มีอิทธิพลต่อโครงสร้างไม่ว่าทางใด ทางหนึ่่งเป็นนักสถาปัตยกรรมหมด ตำแหน่งหรือว่าคนเป็นแค่ตัวแทนของคนที่รวบรวมเพื่อให้ทุกคนเห็นภาพเดียวกัน การสร้างสถาปัตยกรรมเหมือนกับปรากฏการณ์ทางวิทยาศาสตร์ที่เรียกว่า Big bang ตอนเริ่มต้น เริ่มจากเล็กๆมากแต่พอขยายมันกลายโลกอย่างที่เราเห็นทุกวันนี้ เช่นเดียวกับการเขียนโคด วันแรกเราอาจไม่ได้คิดอะไร แต่เราอาจกำลังสร้างกับดักให้กับตัวเองในอีกสิบปีถัดไป การทำสถาปัตยกรรมแบบที่เรารู้จักกันดี คือ วิเคราะห์ ออกแบบ เขียนโคด และ ทดสอบ ใช้ไม่ได้กับซอฟ์ตแวร์

Tagged with:
Posted in Architecture, Coaching, Software

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

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

Tagged with: ,
Posted in Agile, Architecture, Coaching