An Evolutionary Vision for the Architect (วิสัยทัศน์เชิงวิวัฒนาการสำหรับสถาปนิก)
ความต้องการ ของเราในฐานะสถาปนิกซอฟต์แวร์เปลี่ยนแปลงเร็วกว่าของคนที่ออกแบบและสร้างอาคารมาก เช่นเดียวกับเครื่องมือและเทคนิคที่เรามีอยู่ในมือ สิ่งที่เราสร้างขึ้นไม่ใช่จุดตายตัวในเวลา เมื่อเปิดใช้งานจริงแล้ว ซอฟต์แวร์ของเราจะยังคงวิวัฒนาการต่อไปเมื่อวิธีที่มันถูกใช้เปลี่ยนไป สำหรับสิ่งส่วนใหญ่ที่เรา สร้างขึ้น เราต้องยอมรับว่าเมื่อซอฟต์แวร์ไปถึงมือผู้ใช้แล้ว เราจะต้องตอบสนองและปรับตัว มากกว่าคาดหวังว่ามันจะเป็นสิ่งที่ไม่เปลี่ยนแปลงตลอดกาล ดังนั้นสถาปนิกซอฟต์แวร์จึงต้องเปลี่ยนวิธีคิดจากการสร้างผลิตภัณฑ์ปลายทางที่สมบูรณ์แบบ มาเป็นการช่วยสร้าง framework ที่ระบบที่เหมาะสมสามารถก่อตัวขึ้นและเติบโตต่อไปได้เมื่อเรารู้มากขึ้น
แม้ ผมจะใช้เวลาส่วนใหญ่ของบทนี้ห้ามไม่ให้เปรียบเทียบกับวิชาชีพอื่น แต่ก็มีการเปรียบเทียบหนึ่งที่ผมชอบเมื่อพูดถึงบทบาทของสถาปนิกไอที และผมคิดว่ามันสรุปแง่มุมนี้ของบทบาทได้ดี Erik Doernenburg จาก Thoughtworks เป็นคนแรกที่แชร์ให้ผมฟังถึงแนวคิดที่ว่าเราควรมองบทบาทของสถาปนิกเหมือนนักผังเมืองมากกว่าสถาปนิกของสิ่งปลูกสร้าง บทบาทของนักผังเมืองน่าจะคุ้นเคยสำหรับใครก็ตามที่เคยเล่น SimCity หรือ Cities: Skylines มาก่อน บทบาทของนักผังเมืองคือการมองแหล่งข้อมูลหลากหลาย แล้วพยายามปรับผังเมืองให้เหมาะกับความต้องการของประชากรในปัจจุบัน ในขณะที่คำนึงถึงการใช้งานในอนาคตด้วย แต่วิธีที่พวกเขามีอิทธิพลต่อการวิวัฒนาการของเมืองนั้นน่าสนใจ พวกเขาไม่ได้บอกว่า "สร้างตึกแบบนี้ตรงนี้" แต่พวกเขากำหนดโซนที่เปิดให้มีการตัดสินใจในระดับท้องถิ่นภายในข้อจำกัดบางอย่าง เหมือนใน SimCity คุณอาจกำหนดส่วนหนึ่งของเมืองเป็นโซนอุตสาหกรรม และอีกส่วนเป็นโซนที่อยู่อาศัย จากนั้นก็ขึ้นอยู่กับคนอื่นที่จะตัดสินใจว่าจะสร้างตึกอะไร แต่ก็มีข้อจำกัดอยู่ ถ้าคุณอยากสร้างโรงงาน มันต้องอยู่ในโซนอุตสาหกรรม แทนที่จะกังวลมากเกินไปว่าอะไร เกิดขึ้น ในแต่ละโซน นักผังเมืองจะใช้เวลามากกว่ากับการคิดว่าผู้คนและระบบสาธารณูปโภคเคลื่อนย้ายจากโซนหนึ่งไปอีกโซนหนึ่งอย่างไร
หลายคนเปรียบเทียบเมืองกับสิ่งมีชีวิต เมืองเปลี่ยนแปลงไปตามเวลา มันขยับและวิวัฒนาการเมื่อผู้อยู่อาศัยใช้งานมันในรูปแบบที่ต่างกัน หรือเมื่อแรงภายนอกเข้ามาปั้นแต่งมัน นักผังเมืองพยายามอย่างเต็มที่ที่จะคาดการณ์การเปลี่ยนแปลงเหล่านี้ แต่ก็ยอมรับว่าการพยายามควบคุมทุกแง่มุมของสิ่งที่เกิดขึ้นโดยตรงนั้นไร้ประโยชน์ ดังนั้นสถาปนิกของเราในฐานะนักผังเมืองจึงต้องกำหนดทิศทางแบบกว้างๆ และเข้าไปมีส่วนร่วมในรายละเอียดการทำงานเฉพาะเจาะจงเฉพาะกรณีที่จำกัดเท่านั้น พวกเขาต้องมั่นใจว่าระบบเหมาะสมกับวัตถุประสงค์ในปัจจุบัน แต่ก็เป็นแพลตฟอร์มสำหรับอนาคตด้วย
การเปรียบเทียบกับซอฟต์แวร์นั้นชัดเจนอยู่แล้ว เมื่อผู้ใช้ของเราใช้งานซอฟต์แวร์ เราต้องตอบสนองและเปลี่ยนแปลง เราไม่สามารถคาดการณ์ทุกสิ่งที่จะเกิดขึ้นได้ ดังนั้นแทนที่จะวางแผนสำหรับทุกความเป็นไปได้ เราควรวางแผนที่จะเปิดทางให้เกิดการเปลี่ยนแปลง โดยหลีกเลี่ยงความอยากที่จะกำหนดรายละเอียดทุกอย่างมากเกินไป เมือง หรือระบบของเรา ต้องเป็นที่ที่ดีและน่าอยู่สำหรับทุกคนที่ใช้งานมัน