본문 바로가기
Homo Architect

아키텍처와 철학 (철학이 있는 아키텍처)

by javauser 2011. 10. 6.
오늘 스티브 잡스가 세상을 떠나면서 그의 추모가 인터넷에서 활발하다. 개인적으로도 그와 같이 동시대에 살았다는 것이 그리고, 그의 작품인 아이폰과 아이패드를 사용할 수 있었다는 것인 행운이었지 않았나 싶다. (사실, 맥도 사용하고 싶지만 경제적인 여력이 없어 그가 가지고 있는 SW에 대한 생각이나 열정을 고스란히 느끼기에는 한계가 있을 것이라고 생각한다.) 스티브 잡스는 IT 업종에 속해 새로운 길을 제시했을 뿐만 아니라, 그는 대중에서 뛰어난 연설을 했던 연설가로도 손색이 없다. 혹자는 스티브가 최고의 프로그래머라고 말하는 사람도 있지만, 실은 그가 프로그래머는 아니었다. 어느 자료나 문서를 보더라도 스티브가 코드를 작성한 프로그래머라는 이야기를 들어본 적은 없다.



하지만, 그에게서 IT를 이끄는 힘을 느낄 수 있는 것은 어찌 보면 그의 철학이라는 생각이 든다. 그는 그가 속한 프로그래머들에게 자기가 생각하고 있는 SW가 가질 수 있는 모든 것들을 강요하거나 때로는 설득하고 이끌었다. 초기 애플을 만들 때도 그랬고, 그 다음에 애플을 떠나 다른 것을 할 때도 그랬고, 다시 애플에 돌아와서도 그랬다. 물론, 상세한 그의 사상들은 바뀌었는지 몰라도 그가 꿈꾸고 그가 생각하는 것들을 고스란히 SW에 녹이기를 원했고, 그러한 사상은 결국 애플이 만든 SW에 고스란히 녹아들어갔다. 그가 생각하는 기술들은 사실 그가 최초로 고안한 것들도 아니고, 직접 만든 것들도 아니다. 이미 SW 업계에서는 여기 저기서 사용되거나 실용화된 것들이다. 그럼에도 불구하고, 그를 위대하다고 말할 수 있는 사실은 그가 만들고자 했던, 그리고 만들었던 SW들에는 나름의 애플과 스티브의 철학이 있기 때문이다.

철학이 있는 아키텍처는 사실 어떠한 공식적인 표현이나 문서로 말할 수 있는 성질이 아닐 수도 있다. 스티브의 아키텍처라고 할 수 있는 애플이 만든 SW의 아키텍처들은 사용성의 강점과 더불어서 간단성(simplicity)의 묘미를 맛볼 수 있는 것들이다. 이를 표현할 수 있는 산출물이 어떠한 것들이 있는지 지금의 개발 프로세스에서 매핑시켜보면 알 것이다. 어떠한 산출물이 이러한 성질을 표현할 수 있을 것인가. 하지만, 우리의 SW 개발은 산출물로 대변되는 기성품과 같이 찍어대는 형태로 만들어낸다는 생각을 한다. 거기에는 어떠한 아키텍트의 사상이나 철학이 녹아들어가기를 원하지 않는 마치 감정이 없는 문서만을 만들기를 강요하는 것 같다.

가장 많이 사용되고, 검증되고, 최고의 성능과 품질을 보장하는 SW만을 조립하는 것이 아키텍처일까. 그리고, 그러한 아키텍처가 가장 최고의 아키텍처라고 생각하는가. 이에 대한 대답은 물론 아니다라는 것이다. 아키텍처는 기본적으로 가지는 성질과 품질이 있으며, 여기에 철학을 더해서 품격이라고 말하고 싶다. 즉, SW 아키텍처에는 품격이 있으며, 그 품격은 기본적인 SW 아키텍처가 가지는 요소 이외에 해당 아키텍트가 SW에 가미하고 싶은 철학(사상)이 존재해야지만 품격이 완성된다고 본다.

스티브도 그랬던 것처럼(스티브를 SW 아키텍트로 바라본다면) 본인이 추구하던 SW 아키텍처는 때로는 그 당시에 혁신이라고 말할 만큼 고객들에게 흠뻑 빠질만하게 잘 만들어진 것일 수도 있었지만, 때로는 대중의 외면을 받을 만큼 시대를 너무나 앞서는 현실 가능성이 없는 형태일 수도 있다. 그러나, 스티브는 이러한 자신만의 철학을 결코 포기하지 않고, 나름대로 현실과의 타협과 설득을 통해서 결국 스트브의 아키텍처를 완성했다. (적어도 난 스티브 잡스의 아키텍처는 존재한다고 보고 그러한 아키텍처가 애플을 성장하게 만든다고 본다.)

우리나라의 수많은 SW 중에서 '누구'의, 혹은 '어떠한 조직'의 아키텍처라고 불릴 수 있는 것들이 있을까. 아니, 그렇게 불리는 것을 허용하는가. SW 아키텍처는 이를 만든 사람의 특성이 나타날 수 있어야 하며, 이게 SW 아키텍처의 품격이지 아닐까. 
반응형