14 คะแนน โดย kunggom 2020-08-31 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

Martin Fowler ได้บรรยายเป็นเวลา 14 นาทีเกี่ยวกับความสำคัญของสถาปัตยกรรมซอฟต์แวร์ในวันที่สองของงานประชุม OSCON 2015 และนี่คือวิดีโอที่นำมาใส่ซับไตเติลพร้อมแปลไว้ (ซับไตเติลภาษาเกาหลี)

Martin Fowler ได้แบ่งปันเนื้อหาที่เขาแลกเปลี่ยนทางอีเมลกับ Ralph Johnson ซึ่งเป็นหนึ่งใน GoF และวิจารณ์การเหมารวมมากเกินไปของแนวคิด [สถาปัตยกรรมซอฟต์แวร์] ที่ใช้กันมาแต่เดิม พร้อมทั้งชี้ให้เห็นว่า เมื่อพิจารณาว่าความลึกของความรู้ที่นักพัฒนาในโครงการนั้นมีร่วมกันเกี่ยวกับตัวโครงการมีความสำคัญ และการตัดสินใจด้านสถาปัตยกรรมก็เปลี่ยนแปลงได้ยาก สิ่งที่สำคัญที่สุดในการออกแบบสถาปัตยกรรมจึงคือบรรดาการตัดสินใจต่างๆ เพื่อคุณค่าหลักของโครงการ

เขายังชี้ให้เห็นอีกด้วยว่า ในโครงการต่างๆ มักมีแนวโน้มที่จะให้ความสำคัญกับคุณภาพของโค้ดเป็นเรื่องรอง ซึ่งถ้ามองอีกมุมก็เป็นเรื่องธรรมดา เพราะจากมุมมองของลูกค้าที่จ่ายเงินจริงให้ซอฟต์แวร์นั้น คุณภาพของโค้ดย่อมไม่ใช่สิ่งที่มองเห็นได้ Martin Fowler อธิบายว่าคุณภาพของซอฟต์แวร์แบ่งได้เป็นคุณภาพภายนอก (External Quality) และคุณภาพภายใน (Internal Quality) โดยข้อบกพร่องอย่าง UX ที่ผู้ใช้สัมผัสได้หรือบั๊กต่างๆ คือคุณภาพภายนอก ส่วนคุณภาพของโค้ดคือคุณภาพภายในที่ผู้ใช้มองไม่เห็น สถาปัตยกรรมซอฟต์แวร์เกี่ยวข้องกับคุณภาพภายใน และเพราะมันไม่ใช่สิ่งที่มองเห็นได้โดยตรง จึงเป็นธรรมดาที่ในมุมผู้ใช้ หากฟังก์ชันเหมือนกันก็ย่อมเลือกตัวที่ถูกกว่า แต่ซอฟต์แวร์ที่มีคุณภาพภายในไม่ดีจะมีต้นทุนสูงมากเมื่อต้องเพิ่มฟีเจอร์หรือปรับปรุงให้ก้าวหน้า ตรงกันข้าม ซอฟต์แวร์ที่มีคุณภาพภายในดีจะทำให้ซอร์สโค้ดกลายเป็นแพลตฟอร์ม จึงทำให้ในระยะยาวสามารถเพิ่มฟีเจอร์ได้ง่ายและรวดเร็วกว่า Martin Fowler เรียกสิ่งนี้ว่า ‘สมมติฐานความอึดของการออกแบบ’ (design stamina hypothesis) และยืนยันว่านี่เองคือเหตุผลที่สถาปัตยกรรมซอฟต์แวร์มีความสำคัญ เพราะการเพิ่มฟีเจอร์อย่างต่อเนื่องคือหัวใจสำคัญนั่นเอง

ไฟล์ PDF ของคอลัมน์ที่ถูกกล่าวถึงระหว่างการบรรยาย:

https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

บทความในช่วงงาน OSCON 2015:

https://opensource.com/life/15/…

4 ความคิดเห็น

 
kunggom 2020-09-01

อ้างอิง - เหตุผลที่ควรเขียน ADR:

https://th.news.hada.io/topic?id=2665

 
verysatisfying 2020-08-31

Uncle Bob คือ Robert C. Martin

 
kunggom 2020-08-31

จริงหรือครับ? ถ้าอย่างนั้นผมคงเข้าใจผิดไปเอง

 
a12345 2020-09-01

สู้ๆ นะ