블로그 이미지
Arbor, Silva, Montis / Nextrian / Java Programmer / OO Human / Enterprise System Designer & Implementer / Instructor / SW Consultant / SW Architect / If you want to learn over me, connect twitter (@javauser)

카테고리

Homo Programming (198)
Homo Coding (15)
Homo Design (8)
Homo Architect (55)
Homo Ware (62)
Homo Faber (54)
Just Links (4)
Total175,409
Today7
Yesterday38
크리에이티브 커먼즈 라이선스
Creative Commons License

시스템을 만들때에 사용자(user)의 요구를 충족시키는 것이 제일 목적이라고 말한다. 보통 사용자라고 함은 시스템이 제공하는 서비스를 직접 사용해서 원하는 것(가치)을 얻는 행위를 하는 액터를 일컫는다. 이러한 사용자는 불특정 다수가 될 수도 있겠지만, 업무 시스템과 같이 특정 업무를 위한 시스템의 경우에는 명확한 업무 사용자가 정의된다. 어떠한 사용자이든 이들은 시스템을 직접 다루거나 처리하는 형태가 아닌 그저 수동적으로 시스템이 일방적으로 제공하는 서비스를 사용할 뿐이다.


하지만, 최근의 시스템들은 사용자들에게 어느정도는 능동적인 행위를 부여하는 형태로 서비스를 제공하기 시작한다. 예전에는 HTML을 그저 브라우저를 통해 화면에 보여지는 요소를 만드는 형태로만 쳐다보았다면, 지금의 사용자들은 직접 자신만의 HTML을 조작하기를 원하고 많은 시스템들이 그러한 서비스들을 제공하고 있다. HTML 조작이 어려운 사용자들에게는 단순한 형태의 템플릿에서부터 복잡한 조합을 할 수 있는 템플릿까지 제공하여 사용자들의 입맛에 맞게 구성하라고 내어준다. 더 나아간다면 사용자들의 행위나 형태를 분석하여 자동으로 짐작하여 다양한 화면을 보여주기도 한다.



James, I think your cover's blown!
James, I think your cover's blown! by laverrue 저작자 표시



이러한 사용자에 대한 관점(viewpoint)은 점점 시스템을 조작할 수 있는 뷰(view)까지도 확대되고 있는 것이다. 이해관계자(stakeholder)는 이러한 사용자들을 포함하여 시스템을 둘러싸고 있는 다양한 이해관계(interest)와 관심사(concern)를 가지는 모든 사람(요즘에 사람 뿐만 아니라, 여러 시스템이 연계되고 외부에 서비스들을 오픈해주기 때문에 이러한 범주까지도 포괄하는 형태이다.)을 통칭한다. 시스템을 사용하는 사람만 보더라도 단순히 서비스를 제공하는 수동적인 형태가 아닌 능동적으로 시스템을 조작할 수 있는 기능까지도 부여하는 추세로 본다면 그보다 범주가 더 큰 이해관계자들이 원하는 시스템에서의 기능까지를 고려한다면 너무나도 많은 기능들을 시스템에서 제공되어야 할 상황이다.


시스템을 운영하는 사람들은 일일히 그 많은 서버를 관리하지 않고, 한번의 클릭으로 수십, 수백, 수천대의 서비를 관리하기 원한다. 시스템에서 문제가 발생되면 어떤 문제인지, 그리고 누가 해결해야 하는지, 얼마나 빨리 복구될 수 있는지에 대해서 통지받기 원한다. 심지어 시스템의 하드웨어에 대한 수명이나 상태까지도 자동으로 납품업자에게까지 알려주어 구매 프로세스가 자동으로 발생되기까지도 원하는 경우도 있다.


이제 시스템은 가만히 두면 사람들이 알아서 모이는 그러한 서비스를 제공해서는 더 이상 그 가치를 발휘하지 못한 상태까지 진화한 것이다. 이러한 상황에서 시스템을 만드는 아키텍트에게도 여러모로 고민거리들이 점차 늘어가기만 한다. 점점 늘어만 가는 이해관계자들과 이들의 요구는 그 끝을 알기가 점점 힘들어진다.


아키텍트에게 이해관계자들의 관심사는 시스템을 만드는 가장 중요한 요소가 된다. 이해관계자들이 많아지고, 이들이 관심을 갖는 분야가 다양할수록 신경써야 하는 (혹은 만들어야 하는) 아키텍처 요소들이 늘어난다는 것이다. 사실 얼마나 많은 이해관계자들을 만족시킬 것인가에 대한 정답은 없다. 하지만, 이 물음을 역으로 생각해본다면 이해관계자들은 어떠한 시스템에 만족을 하는가로 바꿔볼 수 있을 것이다. 즉, 이해관계자들이 만족하는 시스템을 찾아서 그 속성을 분석해야 됨을 의미한다. 이해관계자들이 만족하는 시스템은 자신들이 예전에 직접 경험했던 것일 수도 있고, 혹은 광고나 컨퍼런스 같은 곳에서 마케팅 요소가 가미된 시스템일 수도 있다. 혹은 최근에 유행하는 트렌드일 수도 있고, 때로는 스스로의 상상에 의해서 만들어낸 것일 수도 있다.


그러나, 무엇보다도 이해관계자들이 만족하는 시스템은 시스템을 사용함으로 인해서 자신의 가치가 더 돋보이게 만드는 것일게다. 즉, 해당 시스템을 사용함으로써 남들보다 돋보이고 더 효과적이고 효율적인 정보를 사용하고 있다는 느낌을 받는 시스템이 이해관계자 입장에서 비용을 들인 가치를 얻게 된다. 개발자 입장에서 시스템을 다루어야 하는데 여러가지 감시 체계나 복잡한 절차를 통해 자신의 작업을 다른 이에게 잘하고 있는지를 증명하게 만든다면 그 스스로 시스템을 다룬다는 자부심보다 남의 물건에 흠집이 나지 않게 조심스럽게 다루어야 한다는 강박관념을 더 받을 것이다. 웹페이지 어디 구석에 쳐박혀 있는 정보를 보기 위해서 다양한 인증 체계와 수많은 브라우저의 종료를 거치고 나서야 원하는 것을 얻는다면 사람을 위한 시스템이 아닌 시스템을 위한 사람으로 만든다는 감정으로 스스로의 자존감에 훼손이 발생되었다는 느낌을 받을 것이다.


시스템의 아키텍처를 만드는 아키텍트로써 이해관계자들의 요구를 충족시키는 것이 가장 큰 임무이다. 그러한 임무는 결국에는 이해관계자의 자존감을 높여줄 수 있는 시스템을 만드는 일이다. 이제 기술의 한계(혹은 기술을 구현할 수 있는 당사자의 한계)를 넘어서 다시 인간답게 살기 원하는 질을 제공하는게 시스템의 목적이 되었다. 얼마나 많은 이해관계자를 만족시켜야 하는지에 대한 물음은 아키텍트 스스로 인간에게 가치를 높여주는 시스템을 만들었는가로 다시 자문하게 만든다.


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by javauser

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License

최동원. 1958년 5월 24일 생, 2011년 9월 14일 대장암으로 54세로 타계. 꼭 일년 전 쯤 한국 야구의 레전드는 우리 곁을 떠나갔다. 최동원이 타계했다는 소식을 듣고, 그의 전기나 관련 책을 읽어보고 싶은 마음에 '거인의 추억'(실크캐슬, 정범준)이라는 책을 집어 들었다. 위키피디아에서는 최동원을 '무쇠팔' 이라는 별병을 싣고 있다. 그가 한국의 대표 간판 투수라는 사실 만큼은 어느 누구도 부인할 수 없을 것이다.


 

사실 남자들은 야구를 좀 해보고, 즐겨본다고는 하지만, 사회/결혼 생활에 야구팬이나 광처럼 지켜보지는 못하는게 현실인 것 같다. 늘 야구장 한번 가봐야겠다라는 마음만 가진채 올 한해도 코리안 시리즈나 WBC같은 경기에 누가 나가는가 정도의 관심만 보일 정도이다.


그런 내가 스스로 이 책을 선택한 이유는 '정범준'이라는 저자의 영향도 있다. 그는 이 책을 쓰고, 이후에 '마흔, 마운드에 서다'라는 책을 출간하는데, 이 책에서 저자는 야구를 하고 싶었던 어릴 적 꿈을 사회인이 되어서 아마 야구를 도전하면서 겪었던 내용을 솔직하게 쓰고 있다. 저자는 아주 평범한 일반 직장인임에도 불구하고 나름대로 더 나은 목표(책을 쓰겠다는 생각과 야구를 해보겠다는 포부)를 하나씩 이루어가나는 모습에 살짝 반한 것도 있다. 이책에 자주 언급되는 이전 책인 최동원의 자칭 전기라고 하는 '거인의 추억'이 작년 최선수의 사망 소식으로 순간 머리에 떠올랐던 것이다.


사실 이책은 그냥 최동원의 관련된 자료들을 수집하여 저자 나름대로의 시각으로 정리한 것에 불과하지만, 야구가 기록의 경기인 만큼 그 자료는 최동원이라는 선수를 보여주기에 충분하다고 느꼈다.

우선 70년대 말 80년대 초를 주름잡았던 최동원의 실력은 그가 중학교/고등학교 시절의 기록만으로 대선수가 될 것이라는 믿음을 주기에 충분했다. 최동원이 고등학교 시절, 그러니까 70년대 중후반은 야구에 대한 인프라 역시 많이 부족한 상황이었고, 특히 밤에 경기를 한다는 것은 있을 수도 없기에 무승부가 9회 이후로 발생하는 경우에는 그 다음날에 이어서 계속하는 경우도 있었단다. 그리고, 팀의 에이스였던 최동원은 그 이전의 경기와 그 다음날의 나머지 경기, 그리고, 그날의 남은 경기를 연속해서 던지는 경우도 있다고 한다.


작년 말에 개봉했던 최동원과 선동렬의 맞대결을 그린 '퍼펙트 게임'. 이 경기에서 양팀의 에이스들은 연장 15회 동안 총 441개의 공을 던진다. (최동원 209개, 선동렬 232개) 지금으로써는 투수가 100개 이상의 공만 던져도 많이 던졌다고 교체를 고려해야 한다고 하는 말을 들어보면 많은 차이를 느낀다. 이들의 자존심을 건 승부는 누구라도 한번쯤은 그러한 승부를 해보고 싶다라는 욕망을 품게 만들기도 한다.


최동원에 대한 평가는 그의 선수 생활 이후의 삶을 보고 평가를 하는 경우도 있다. 특히, 프로야구 선수협회를 만드는 과정과 은퇴 이후 정계나 방송계의 외도를 보고 이런 저런 말들이 많다. 그런 과정은 최동원 스스로가 한계라고 느꼈던 부분들을 나름의 방식으로 그 한계를 넘으려고 했었고, 넘어서기를 주저하지 않으려는 면 때문일 것이라고 본다. 그는 스스로를 한계를 뛰어넘기를 주저하지 않은 것 같다.


야구에 관한 또 다른 영화와 책이 비슷한 시기에 나왔다. '머니볼(moneyball)'은 미국 메이저리그의 한 야구팀 구단장 이야기이다. 돈이 많고 화려한 세계의 내용이 아닌, 돈이 없고 실력이 없다고 평판난 팀의 단장 이야기이다. '빌리 빈' 이라는 '오클랜드 애슬래틱스' 팀의 단장은 돈이 없는 구단을 위해서 아주 저렴한 비용의 선수들을 영입하게 된다.


미국의 프로야구는 거액의 몸값이 증명하듯이 최고의 선수를 영입하는 데에 모든 구단이 초점이 쏠리고 있다. 하지만, '빌리 빈'은 그러한 선수를 영입할 돈이 없기에 새로운 방식을 도입한다. 물론, 영화에서 조연으로 등장하는 아비리그 출신의 직원을 고용하여 기존의 선수 기용 방식을 전혀 다른 각도로 보기 시작한다. 즉, 얼마나 홈런을 많이 치고, 얼마나 빠른 공을 던져 삼진을 잡는 소위 인기에 영합하는가보다 얼마나 출루율과 장타율이 좋은지를 평가한 것이다. 예를 들어, 포볼이나 상대팀의 에러에 많은 루수를 기록한 선수를 더 중요시 본 것이다. 그 결과는 애슬래틱스는 많은 야구팀 중에서 승리 확률을 높이면서 플레이오프에도 여러번 진출하기도 한다.


야구의 기록은 어떠한 관점에서 보는가에 따라서 다양해질 수 있다. 또한, 필드에서 발생하는 모든 내용이 기록되는 것도 아니다. '빌리 빈'은 그러한 기존의 틀과 한계를 다른 시각을 통해서 전혀 새로운 틀을 만들었고, 이는 실제로도 성과가 있었다. '뉴욕 양키스와 같이 하는 것은 이들을 따라잡을 수 없다는 것을 의미한다. 양키스를 이길려면 전혀 다른 룰이 필요하다'라는 신념으로 기존의 다른 팀이 추구하던 방식을 버리고 새로운 게임의 법칙을 만들어낸 것이다.


'빌리 빈'이 만든 방식이 성공을 보장한다고는 할 수 없지만, 자신의 한계를 분명 뛰어넘고자 했고, 또 그렇게 실행했기에 최소한의 좋은 결과를 만들 수 있었다.


한계를 인정하고 느끼는 것은 누구나가 마찬가지이다. 하지만, 한계를 뛰어넘는 사람은 분명 있게 마련이고, 그러한 한계를 뛰어넘은 사람만이 맛볼 수 있는 것이 분명 있다. 하지만, 한계를 뛰어넘는 과정이 상당히 많은 고민과 어려운 과정이 필요로 한다는 것은 사실이다. 그러한 고민과 과정이 설사 한계를 뛰어넘는데 실패했다고 하더라도, 스스로에게는 많은 자산과 경험이 될 것이다. 그리고, 그 다음에 또 다른 한계를 넘을 때에는 분명 그 자산과 경험으로 인해서 이번에는 더 잘 뛰어넘을 수 있을 것이다.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by javauser

댓글을 달아 주세요

크리에이티브 커먼즈 라이선스
Creative Commons License

배를 반으로 갈라서 껍질을 벗겨 일자 형태로 자른 다음, 냄비에 자른 배를 넣고, 설탕, 계피와 같이 배가 잠길 정도로 와인을 넣는다. 그리고, 40~50분 정도로 조리면 먹음직한 와인에 절인 배요리(pera cotta)가 완성된다.


Pera cotta alla bella Helène, con cioccolato belga
Pera cotta alla bella Helène, con cioccolato belga by su-lin 저작자 표시비영리변경 금지


요리법(recipe)은 요리를 모르는 사람에게 먹고 싶은 음식을 먹게 만드는 비법을 적어놓고 있는 것 같다. 방송에서 보는 요리 프로그램 역시 금방이라도 따라하면 먹음직스런 요리를 만드는게 쉬워보인다. 하지만, 막상 그러한 요리법을 따라하다 보면 예상과 다른 맛을 지닌 음식이 탄생하곤 한다. 역시 요리를 하는 것을 보는 것과 요리를 직접 하는 것과는 차이가 있는 것이다.


그럼 요리법에는 어떤 요소들이 빠져있어서 원하는 맛을 내는 요리를 만드는게 힘든 것일까. 대부분의 요리책들은 요리에 들어가는 재료와 도구들(식자재)들이 모두 구비된 상태에서 소개되고 있다. 위의 테라 코따라는 요리를 하려면 무엇보다 배와 와인이라는 재료가 먼저 구비되어 있어야 하는게 당연하다. 그럼, 배는 어떤 것을 골라야할까. 그리고, 그렇게 종류가 많은 와인 중에서 어떤 것을 골라야할까. 이를 아는 것 역시 요리를 하는 과정 중에 하나일 것이다. 이러한 식재료를 선택하는 과정은 요리의 맛에 영향을 주는 아주 중요한 과정 중에 하나이다. 즉, SW를 만드는 과정에서 어떤 요소를 가지고 만들 것인지를 식별하고 정의하는 과정이 궁극적으로 필요한 것이다. 이러한 과정을 아키텍처링이라고 하는데, 어떠한 가이드나 방법론에서도 이러한 내용은 포함되어 있지 않다.


요리법에서 소개하는 내용들이 이러한 식재료를 선택하는 과정을 포함한다면 과연 맛있는 요리가 태어날까. 그리고, 식재료가 많고 복잡하다면 이러한 것들을 글로 표현하는게 의미가 있을까. 설사 글로 표현한다고 하더라도 너무나도 복잡해서 거의 몇 권의 책으로 나타날 것이고, 요리 하나를 위해서 얼마나 많은 지식을 갖추어야 하는지는 배보다 배꼽이 더 큰 상황이 연출될 수도 있다.


좋은 식재료를 구비해놓았다면 본격적으로 요리를 할 것이다. 요리법에는 정확한 양이 기록되어 있는 경우가 있는데, 만일 집에 이러한 양을 측정할 수 있는 기구가 없다면 어떻게 할 것인가. 그냥 눈대중으로 하면 어떨까. 혹은 요리 과정에서 간을 맛보면서 양을 맞춘다면...이러한 내용들 역시 요리법에는 없다. 그냥 요리하는 사람의 경험과 눈대중으로 해야 한다. 물론, 기구를 갖춘다면야 좋지만, 한끼 식사를 위해서 그러한 기구를 일부러 산다는 것은 일반 서민들에게는 어쩌면 사치이기도 할 것이다. 중요하고 거창한 요리가 아닌 이상은 대개 눈대중으로 간을 맞추는 정도일 것이다. 만일, 1인분 요리가 아니라 수십 수백인분의 요리를 한다면 1인분 기준의 양은 그냥 배수로 셈해서 해야 하는가. 이것 역시 그때 그때 달라질 것이다. 세밀하게 측정해서 간을 맛춘다고 정말 맛있는 요리가 만들어진다는 보장도 사실 없다.


SW를 만드는 과정에서 절차와 품질 기준을 상당히 강요하고 강조하는 경우가 있다. 이는 마치 요리법에 소개된 양과 절차를 준수해서 요리하는 것과 같다. 결국 요리란 맛있어야 하며, SW는 궁극적으로 동작해야 한다. 물론, 이러한 절차와 기준들이 맛의 품질을 높여주는데 많은 도움이 되는 것은 사실이다. 하지만, 요리사의 경험으로 기준에 맞지 않게 설탕 한 스푼 더 넣거나 덜 넣었다고 해서 그 요리가 맛이 없을 것이라고 판단하기는 힘들다. SW를 만드는 경험이 있는 사람들은 이러한 사실을 경험치로 알고 있다. 왜 요리에 넣는 양과 기준이 그렇게 나와야 하는지를 설명하라고 한다면 그냥 감각적이라고 밖에 설명할 방법이 없다. 음식의 맛은 음식을 구성하는 식재료들이 전반적으로 균형이 맞추어져셔 음식에 맞는 맛을 내는 것이다. SW는 그 구성요소들이 전체적으로 균형이 이루어져서 사용자의 요구에 맞게 동작할 때 의미가 있다. 때로는 정확한 양과 기준으로 인해서 이상한 맛을 내는 음식과 같이 너무나도 기술적인 냄새나 분위기에 의해서 사용자에게 외면을 받는 경우도 있다. 음식은 배고픈 사람에게 맛있게 먹고 포만감을 주는게 목적이듯이 SW는 이를 필요로 하는 사람에게 문제를 해결해주는게 목적이다. (SW를 필요로 하는 사람들은 음식보다 더 다양할 수 있다.)


책이나 가이드에 있는 SW를 만드는 과정은 음식을 만드는 요리법(recipe)에 비유할 수 있다. 요리법은 요리를 만드는 과정에서 참고하는 용도로만 의미가 있는 것이지, 그 이상의 용도로 사용하려고 한다면 더 이상 음식을 만드는 즐거움을 못느낄 것이다. 요리법으로 요리를 하는게 아니듯이 책이나 가이드, 혹은 표준으로 SW를 만드는게 아니다. 만드는 과정은 그보다 더 많은 보이지 않는 과정과 경험 요소들이 작용하기 때문이다. 고객에게 맛있는 요리를 제공하려면 이러한 보이지 않는 과정과 경험 요소를 더 활용할 수 있어야 한다.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by javauser

댓글을 달아 주세요

  1. 2012.08.31 05:22 신고 Favicon of http://swtest.co.kr BlogIcon 최영목  댓글주소  수정/삭제  댓글쓰기

    요리법(레시피)는 아주 맛있는 요리를 제공할 수는 없겠지만 요리를 모르는 초보자에게는 아주 좋은 수단입니다.
    그런데 이렇게 적고보니 레시피에만 의존하는 수많은 프로젝트들이 있다는 것은 프로젝트를 수행하는 사람들이 스스로가 초보자라는 것을 인증하고 있는 모양세이고, 그 결과물로 어떻게든 돌아는가는 하는 시스템(맛은 없지만 어쩄든 '사람이 먹을수는' 있는 요리)이 나오게 되는 것이라는 생각도 드네요;;; ㅠㅠ

최근에 달린 댓글

글 보관함

티스토리 툴바