본문 바로가기
Homo Architect/Things Every SW Architect Should Know

한번에 딱 맞는 해결책은 없다.

by javauser 2009. 4. 1.

- Randy Stafford

아키텍트는 “영역에 맞는 감각(contextual sense)”을 지속적으로 개발하고 연습해야 한다 – 왜냐하면 범용적으로 발생될 수 있는 문제에 한번에 들어맞는 해결책이 없기 때문이다.

“영역에 맞는 감각”이라는 예리한 단어는 Eberhardt Rechtin에 의해서 처음 사용되었으며, 통찰력 있는 의미가 1991년 그가 쓴 System Architecting: Creating & Building Complex Systems (Prentice Hall)에 다음과 같이 기술되어 있다.

[복잡한 시스템에 대한 아키텍처 설계를 하는 ‘경험적인 방법’의 주요 생각은] 매우 복잡한 문제에 직면할 때 숙련된 아키텍트들이 무엇을 하는지를 물음으로써 얻게 된다. 숙련된 아키텍트와 설계자는 ‘단지 상식만을 사용한다’ 라고 대부분이 대답할 것이다. [A] ‘상식’ 보다 더 좋은 표현방법은 영역에 맞는 감각이다. – 주어진 영역 내에서 합리적인 지식. 교육, 경험, 실전으로 통해 아키텍트가 적용하는 것은 보통 10년 동안 시스템 차원의 문제를 통해 수행하는 시간으로 영역에 맞는 감각의 상당한 내용을 축적한다는 것이다.

내 생각에는 소프트웨어 업계에서 큰 문제는 사람들이 종종 축적된 것보다 더 많은 영역에 맞는 감각을 요하는 문제를 해결하는데 담당한다는 것이다. 아마도 이는 소프트웨어 업계가 2세대 정도 되었고 폭발적으로 성장하기 때문일 것이다. 이러한 문제가 더 이상 나타나지 않는다는 것은 소프트웨어 업계가 성숙도가 있다라는 의미일 것이다.

나는 컨설팅 작업에서 자주 이러한 문제의 예를 접한다. 전형적인 예가 실용적인 관점에서 벗어나서 핵심적으로 필요해서 소프트웨어 해결책을 과도한 설계를 해서, 성능 최적화 고비 동안 관련이 없거나 납득하기 어려운 제시를 만들어내어 적당한 시기에 도메인 지향 설계를 적용하는데 실패하는 것이다.

에릭 에반스의 Domain-Driven Design: Tackling Complexity in the Heart of Software 책의 다음 내용을 살펴보자.

소프트웨어 패턴에 대한 가장 중요한 지식은 패턴을 언제 적용하고 언제 적용하지 말아야 하는지에 대한 지식이며 문제 분석 동안에 서로 다른 근본 원인 가설과 관련 교정 행위 역시 마찬가지이다. 두가지 행위 – 시스템 아키텍팅과 문제 분석 – 모두에서 한번에 딱 들어맞는 해결책이 없다는 것은 자명하다. 아키텍트는 자신들이 만든 아키텍처를 발전시키고 문제를 해결하는데 영역에 맞는 감각을 개발시키고 사용해야 한다.


원문 : 모든 아키텍트가 알아야 하는 97가지 사실 - There is no one-size-fits-all solution

반응형