본문 바로가기
Homo Ware

문자 문화와 구술 문화 : SW 구현 관점

by javauser 2009. 1. 8.
그 사회 혹은 집단이 합리성이나 객관적인 사실을 중요하게 생각한다면 문자[텍스트]를 기반으로 하는 문화가 지배하고, 감정이나 집단적인 사상을 강조하는 사회는 입을 통해 전달되는 내용을 기반으로 하는 문화가 지배한다고 본다. 전자를 문자 문화라고 한다면, 후자는 구술 문화라고 말할 수 있다. 과학이나 수학과 같은 객관적인 사실을 기반으로 내용을 증명하는 분야가 문자 문화에 가깝다고 할 수 있다면, 보는 사람의 심금을 울리거나 말초신경을 자극하는 시각적인 영상이나 청각적인 음향, 촉각적인 느낌을 전달하는 영상 매체를 통한 컨텐츠들은 구술 문화에 가깝다고 말할 수 있을 것이다. (물론, 매개체가 어떤 것인가가 문자 문화와 구술 문화를 나누는 기준이 아니라 그 안에 담겨진 컨텐츠에 따라 성격이 달라진다.)

문자 문화는 객관적인 사실만을 담고 있기 때문에 그 내용이 상당히 건조하고, 딱딱하다는 느낌을 받을 수 있다. (사실 이러한 느낌 자체도 구술적인 성격이겠지만...) 또한, 그 내용을 읽는 이는 정감이나 감정이 없기 때문에 이기적으로 들리거나 혹은 감정이 몰입되는 상황이 거의 발생되지 않는다. 문화를 흑백논리처럼 이분화시켜 보는 것은 옳은 생각은 아니지만, 흔히들 말하기를 합리적이고 객관적인 사실들을 강조하는 서양 문화가 문자 문화에 가깝다고 얘기한다. 반면에 구술 문화는 컨텐츠를 작성하는 이의 감정이 상당히 이입이 되기 때문에 듣거나 보는 사람으로 하여금 내용을 전달하는 사람의 감정에 같이 편입되는 경우가 많다. 심지어는 개인적인 영역까지도 침범하는 경우도 많이 있으며, 그러한 현상들은 사생활을 중시하는 서양보다는 동양에서 나타나는 경우가 많다. 우리말에 '정(情)' 이라는 말이 있듯이 이 단어에 어울리는 문화가 바로 구술 문화라고 볼 수 있다. 이 두가지 대립되는 문화는 결코 어느 것이 더 낫다고 표현하기가 어려우며 각각의 문화에 별도의 특징들이 있기 때문에 밖에서 그 문화를 바라보는 입장이나 그 문화 내부 속에 서있는 입장은 어쩔 수 없이 충돌하는게 당연하다.

시각을 돌려 현재 국내에서 보편적으로 일어나는 SW 업계 상황을 여기에 비추어 현상들을 분석할 수 있을 것이다. 물론, 문자 문화와 구술 문화만의 잣대를 가지고 어떤 현상을 말한다는 것이 편협한 생각일 수도 있지만, 때로는 이러한 분석을 통해 좀 더 나은 방향으로 발전하기 위한 노력으로 생각해볼 수 있을 것이다. 국내의 SW 개발 현황은 외국의 SW 개발 현황에 비교해 많이 얘기되며, 그러한 내용들이 종종 SW 업계의 발전 방향과 같이 거론되기도 한다. 사실, SW는 과학적인 매개체와 인간의 컨텐츠를 같이 결합하여 표현되는 분야이기 때문에 컨텐츠에 따라서 SW의 성격이 달라지기도 한다. 하지만, 컨텐츠를 담기 위해 개발되는 과정 또한 어떠한 문화를 지배받는 사람들이 개발하냐에 따라 SW 개발 방법 자체가 차이가 날 수도 있을 것 같다. 국내의 SW 개발은 IT 강국답게 상당한 기술력을 기반으로 많은 인력을 투입하여 해외에서도 찾아볼 수 없는 전무후무한 SW를 만들어내기도 한다. 개발 과정이야 규모가 적건 크건 간에 크게 보면 분석/설계를 거쳐 코딩, 테스팅, 배포/운영 이라는 단계들을 거친다.

문자 문화에서의 분석/설계는 문화의 성격답게 대부분이 문서를 기준으로 작업하게 된다. 가까운 일본만 하더라도 문서 기준의 엄격한 요구사항 표현들은 많이들 얘기하고 있다. (일본이 동양 문화이긴 하지만, SW 차원에서는 문자 문화에 더 가까울 수 있다.) 또한, 이러한 문서에는 포함되는 내용에 대한 규칙이나 규정들이 응당 표현되며, 이를 어기는 내용에 대해서 계약 위반이나 의무 위반이라는 명목으로 불명예나 패널티를 부과하기도 한다. 이러한 규칙은 설계 사상에도 그대로 적용되어 '계약에 의한 설계(Design by Contract)'라는 것을 만들어냈다. 서비스를 요청하는 측에서는 서비스를 제공받기 위해 반드시 지켜야할 의무(obligation)가 있으며, 이 의무를 다 수행했다면, 서비스를 제공받는 측으로부터 서비스를 제공받아야할 권리(right)를 얻을 수 있다. 마찬가지로, 서비스를 제공하는 측은 서비스를 요청하는 측이 서비스를 제공받기 위한 의무를 어겼다면, 서비스를 제공할 책임(responsibility)이 없어지게 된다. 이러한 의무/책임/권리는 SW를 설계할 때에 반드시 적용해야할 원리이며, 이러한 원리를 무시하게 되면 그 자체가 에러나 버그로 표현된다. 즉, 서비스를 요청하는 측에서 의무를 수행하지 않았음에도 불구하고, 서비스를 제공하는 측에서 요청하는 측이 의무를 수행했는지를 사전에 점검하지 않고 서비스를 제공한다면, 그건 계약 위반임에도 불구하고 시스템이 작동하게 된다. 이러한 오류나 버그는 당장에 눈에 안보일 수도 있지만, 나중에는 더 큰 문제들을 야기시킬 수 있다. 아무튼 문자 문화에서는 SW 개발단계 초기에서부터 문자를 기록하는 문서를 기준으로 작업이 이루어지며 이는 실제 코딩을 위한 사전 작업으로 대부분 진행된다.
구술 문화에서의 분석/설계 작업도 마찬가지로 문서를 기준으로 작업하게 되지만, 그 내용은 사실 거의 코딩에서는 쓸모없어지는게 대부분의 상황이다. 분석/설계에서의 내용들은 실제 코딩(구현) 작업시에 대부분이 번복되거나 새로운 내용으로 요청을 받게되며 심지어 테스트나 운영시점에서도 전혀 다른 요구사항을 처리하는 경우도 많다. 물론, 분석/설계에서의 문서들에서는 제약사항이나 규칙에 대한 부분들도 거의 표기되지도 않으며 이러한 부분들이 코딩에서 대부분을 차지함에도 불구하고 별도의 문서로 작성되는 일도 거의 없다. 이러한 형태의 작업은 당연히 요구사항을 전달하고자 하는 측과 그 요구사항을 구현하고자 하는 측과 충돌이 발생될 수 밖에 없으며, 그러한 충돌은 갑과 을이라는 관계라는 또 다른 관계를 끄집어 내어서 강요라는 명목으로 논리를 전개시키게 된다. 최근의 어느 공무원과 개발자간의 무력 충돌 사태는 이러한 상황을 단적으로 보여주는 예라고 할 수 있다. 즉, 구술 문화의 영향이 제일 선진화되었다고 자부하는 국내 SW 개발 단계에까지 깊게 침투하고 있는 상태이다. 동일한 시각이지만, 이러한 현상이 그렇게 나쁜 결과를 초래하지 않고 오히려 좋은 방향으로 전개되기도 한다. 만일 요구사항을 전달하는 측과 이를 구현하는 측이 서로 좋은 관계를 유지하고 서로의 입장을 충분히 공유하고 있는 상태라면 처음에 분석/설계된 문서에 표기하지 않았던 내용을 당사자 간의 간단한 의사소통 만으로도 서로 만족스럽게 문제를 해결할 수도 있을 것이다. 좋은 감정을 가지고 있는 상태를 유지시켜야만 이러한 결과가 가능하다는 전제조건이 있지만, 칼로 무자르듯이 증명이나 근거를 남기는 번거로운 절차없이 빨리 일을 처리할 수 있다는 장점을 가질 수 있다.

문자 문화에서 SW 테스팅은 분석/설계에서와 마찬가지로 요구한 내용을 성실하게 이행했는지에 대한 점검이라고 볼 수 있다. 따라서, SW 테스팅에 대한 시나리오는 분석단계에서 만들어진 산출물로부터 이끌어낼 수 있다. 이 단계를 좀 더 적극적으로 효율을 높이는 방향으로 접근했을 때 분석 단계에서부터 테스팅을 진행하는 형태인 Agile 이나 TDD 방식의 개발 접근방법을 생각해볼 수 있다. 어쨌든 이러한 형태의 SW 개발이 가능하기 위한 전제 조건은 어디까지나 구현하고자 하는 내용이 모두 문서화되고 오프라인상으로 간접적으로 전달되어서는 안된다는 것이다.
구술 문화에서의 SW 테스팅은 당연히 분석/설계에서의 문서가 희박하다는 사실로 인해 테스팅에 대한 시나리오의 근거를 찾아볼 수 없다. 따라서, 테스팅은 새로 만들어지는 시나리오를 기반으로 진행될 수 밖에 없으며, 이는 또 다른 요구사항을 낳게 된다. 즉, 이 단계에서조차 새로운 요구사항을 만들어내어서 새로운 개발을 해야하는 웃지못할 고통스러운 단계를 거쳐야 된다. 기능이 그리 크지 않거나 중요한 기능이 아닌 경우에는 이러한 단계는 간혹 생략되기도 한다. 즉, 사용자는 화면을 가지고 조작함으로써 대략적인 기능 구현 내용을 확인하고 테스팅 단계를 과감하게 생략하는 형태로 양측은 협의할 수도 있다. 이 또한 구술 문화가 지배하는 사회에서나 가능한 상황일 것이다.

문자 문화에서 SW에 담기는 내용은 다분히 화면 상으로 단순한 형태를 띠는게 대부분이다. 화려한 이미지나 동적인 부분이 거의 포함되지 않으며, 사실 그대로를 전달하고자 하는 의도가 명백하게 드러낸다. 세계적인 기업인 Google의 화면은 검색할 내용을 입력하는 부분과 검색 결과를 나타내는 부분만이 있다는 사실이 그 예이다. 기업의 업무 화면 역시 화려한 동적인 기능보다는 내용 중심의 글로 표현되는 경우들이 많다. 이러한 컨텐츠들은 사전에 명확한 개념으로 정의된 언어와 단어를 통해서 표기되며 다른 군더더기를 추가하지 않는다. 어찌보면 무미건조하다는 느낌을 받는 것도 사실이지만, 필요한 내용만을 전달하고자 하는 컨텍츠 작성자의 의도를 엿볼 수가 있다.
구술 문화에서 SW에 담기는 컨텐츠는 우선 시각적으로 자극을 주는 내용이나 이미지들이 많다. 이는 처음에 문자 문화와 구술 문화의 차이를 설명한 것과 같이 먼저 보는 이로 하여금 감정에 호소하지 못한다면 시스템으로써 제 기능을 수행하지 못한다는 얘기를 들을 수 밖에 없다. 그와 같은 요구사항이다 보니 UI기술은 점점 화려해지고 동적인 부분들을 추구하는 형태로 발전될 수 밖에 없으며, 단순한 단어나 글임에도 불구하고 화려한 수사어구나 이미지들을 필요로 할 수 밖에 없어진다. 이러한 볼거리가 풍부한 화면들은 고스란히 기업의 업무 시스템에도 전가되어서 간단한 시스템임에도 불구하고 잘 사용하지도 않는 기능이 들어가는 것이 기본이고, 각각의 화면들은 업무에 맞게 개인화되어서 화려한 볼거리들을 제공하는 형태의 컨텐츠를 포함하게 된다. 이는 보는 이로 하여금 우선 무엇인가 풍부하고 화려하다라는 느낌을 자아내게 하는데 충분하다. 따라서, 구술 문화에서 SW라는 매개체를 통해서 담겨지는 내용은 고객을 감동시킬 수 있는 내용들이 대다수 포함되며 사용자의 편이성을 강조하여 쓰는 이가 무엇보다도 편리하게 느껴지고 대단한 기능들을 사용하고 있다는 자부심까지도 느낄 수 있는 기능들까지도 제공해야 하는 상황이 연출될 수 밖에 없다.

SW는 이를 통해 담아내는 컨텐츠와 그 컨텐츠를 소비하게 되는 사용자들의 조합이 이루어지는 기능의 제공과 활용이 공존하는 영역이 된다. 결국 SW 기술 그 자체만을 가지고 시스템을 만든다는 관점은 빙산의 일각을 보고 접근하는 방식과 동일하다고 말할 수 있다. 또한, 이러한 차원에서 SW 개발 방식이나 적용 방법에는 이를 사용하는 습관 혹은 문화를 고려하여 다양한 측면에서 접근해야 한다. 원론적으로 본다면 SW는 사람에게 편리함을 가져다주는 도구이기 때문에 편리함의 주체가 되는 사람이 어떤 습관 혹은 문화를 가지고 있냐라는 사실이 더 중요한 요소가 될 수 있을 것이다. 문자 문화가 지배적인 사회나 집단에서의 SW와 구술 문화가 지배적인 사회나 집단에서의 SW는 어찌보면 서로 다른 목적을 가지고 발전하는 형태일 것이고, SW의 태생이 문자 문화에서 시작되었다는 한계가 결국 이를 사용하는 구술 문화에서 다시 영향을 줄 수 있다는 차원에서 상호 보완하는 형태의 새로운 SW 발전을 꾀할 수도 있으리라 예상해본다.

반응형

'Homo Ware' 카테고리의 다른 글

1 M/M vs. 1 K/M  (0) 2009.07.26
R & R  (0) 2009.03.27
편향과 지향  (0) 2008.12.09
Meritocracy  (0) 2008.09.19
사소한 것으로부터의 변화  (0) 2008.08.14