14P by kunggom 2020-08-31 | favorite | 댓글 4개

마틴 파울러(Martin Fowler)가 OSCON 2015 컨퍼런스의 둘쨋날에 소프트웨어 아키텍쳐의 중요성을 14분간 강연하였는데, 여기에 자막을 붙여 번역한 영상입니다. (자막 한국어)

마틴 파울러는 GoF 중 1명인 랄프 존슨(Ralph Johnson)과 이메일로 토의한 내용을 공유하며, 기존에 통용되던 [소프트웨어 아키텍쳐] 개념의 지나친 일반화를 비판합니다. 그리고 소프트웨어 프로젝트에서 개발자들이 해당 프로젝트에 관해 공유하는 지식의 깊이가 중요하다는 점과 아키텍쳐에 관한 결정은 변경하기 어렵다는 점을 고려할 때, 아키텍쳐 설계에서 가장 중요한 것은 프로젝트의 핵심 가치를 위한 여러 결정사항들임을 지적합니다.

그리고 또 하나, 프로젝트에서 코드의 품질이 뒷전이 되는 경향에 대해서도 지적합니다. 이는 어찌 보면 당연한 것인데, 그 이유는 실제로 그 소프트웨어에 돈을 내는 고객의 입장에서는 코드의 질이 눈에 보일 리가 없기 때문이지요. 마틴 파울러는 소프트웨어의 품질은 외적 품질(External Quality)과 내적 품질(Internal Quality)로 나뉜다며, 사용자에게 노출되는 UX나 버그 같은 결함은 외적 품질이고 코드의 품질은 사용자가 볼 수 없는 내적 품질이라고 말합니다. 소프트웨어 아키텍쳐는 내적 품질과 관련된 것인데, 이는 직접 보이는 것이 아니므로 사용자 입장에서는 같은 기능이면 더 싼 쪽을 택하는 것이 당연하다는 것입니다. 하지만 내적 품질이 좋지 않은 소프트웨어는 기능 추가나 개선 등 고도화에 그만큼 큰 비용이 들게 됩니다. 반면 내적 품질이 좋은 소프트웨어는 소스 코드가 플랫폼화하기 때문에 장기적으로 볼수록 기능 추가가 쉽고 빠르게 가능하게 되지요. 마틴 파울러는 이를 ‘디자인 스태미너 가설’이라고 이름붙였습니다. 지속적인 기능 추가야말로 바로 소프트웨어 아키텍쳐가 중요한 이유라는 것이 그의 주장입니다.

강연 중간에 나왔던 칼럼의 PDF 파일:
https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

OSCON 2015 당시의 기사:
https://opensource.com/life/15/…

Uncle Bob은 Robert C. Martin이에요

그런가요? 그럼 제가 잘못 알고 있었나 봅니다.