Architectural Significance (ความสำคัญเชิง Architecture)
สถาปนิกจำนวนมากเชื่อว่าถ้าการตัดสินใจเกี่ยวข้องกับเทคโนโลยีใดเทคโนโลยีหนึ่งโดยเฉพาะ มันก็ไม่ใช่การ ตัดสินใจด้าน architecture แต่เป็นการตัดสินใจเชิงเทคนิคแทน สิ่งนี้ไม่ได้เป็นจริงเสมอไป ถ้าสถาปนิกตัดสินใจ ใช้เทคโนโลยีหนึ่งโดยเฉพาะ เพราะมันสนับสนุน architecture characteristic บางอย่างโดยตรง (เช่น performance หรือ scalability) มันก็ยังคงเป็นการตัดสินใจด้าน architecture อยู่ดี
Michael Nygard สถาปนิกซอฟต์แวร์ที่มีชื่อเสียงและผู้เขียนหนังสือ Release It! ฉบับพิมพ์ครั้งที่สอง (Pragmatic Bookshelf, 2018) ได้พูดถึงปัญหาว่าสถาปนิกควรรับผิดชอบการตัดสินใจแบบไหน (และดังนั้นอะไรจึงถือเป็นการตัดสินใจด้าน architecture) โดยการบัญญัติศัพท์คำว่า architecturally significant ขึ้นมา ตามที่ Nygard ระบุไว้ การตัดสินใจที่ architecturally significant คือการตัดสินใจที่ส่งผลต่อ โครงสร้างของระบบ, non-functional characteristic, dependency, interface หรือ construction technique
Structure ในบริบทนี้ หมายถึงการตัดสินใจที่ส่งผลต่อ architecture pattern หรือ style ที่ใช้อยู่ ตัวอย่างเช่น การ ตัดสินใจของสถาปนิกที่จะแชร์ code ระหว่าง microservices กลุ่มหนึ่ง จะส่งผลต่อ bounded context ของ microservice นั้น และจึงส่งผลต่อโครงสร้างของระบบ
non-functional characteristic ของระบบ คือ architectural characteristic ที่สำคัญต่อระบบที่กำลังพัฒนาหรือดูแลรักษาอยู่ ตัวอย่างเช่น ถ้าการเลือกเทคโนโลยีส่งผลต่อ performance และ performance เป็นแง่มุมสำคัญของ application ทางเลือกนั้น จะกลายเป็นการตัดสินใจด้าน architecture แม้ว่ามันจะระบุถึงผลิตภัณฑ์, framework หรือเทคโนโลยีเฉพาะเจาะจง ก็ตาม
Dependencies หมายถึงจุด coupling ระหว่าง component และ/หรือ service ต่าง ๆ ภายในระบบ dependency สามารถส่งผลต่อ architecture characteristic เช่น scalability, modularity, agility, testability, reliability และอื่น ๆ ดังนั้นการตัดสินใจเกี่ยวกับ dependency จึงกลายเป็นการตัดสินใจด้าน architecture
Interfaces หมายถึงวิธีที่ service และ component ถูกเข้าถึงและประสานงานกัน ซึ่งโดยปกติจะผ่าน gateway, integration hub, service bus, adapter หรือ API proxy การตัดสินใจเกี่ยวกับ interface มักเกี่ยวข้องกับการกำหนด contract รวมถึง versioning และ deprecation strategy interface ส่งผลกระทบต่อผู้อื่นที่ใช้ระบบ จึงถือว่า architecturally significant
สุดท้าย construction technique หมายถึงการตัดสินใจเกี่ยวกับ platform, framework, เครื่องมือ และแม้แต่กระบวนการต่าง ๆ ซึ่งแม้จะมีลักษณะ เชิงเทคนิค แต่ก็อาจส่งผลกระทบต่อแง่มุมบางอย่างของ architecture