2005년 11월 29일

초보 팀장을 위한 조언 10

계속적인 개선이, 지연되는 완벽함보다 낫다. - 마크 트웨인

완벽주의를 추구하는 사람들이 있다. 실무자 시절에 꼼꼼하게 일을 잘 하여 성공했던 사람들에게서 흔히 볼 수 있는 증상이다.

하지만 팀장은 실무자가 아니다. 팀장은 주로, 자신이 일을 한다기 보다는 팀원에게 일을 지시하고, 팀원을 세심하게 케어하고, 문제가 발생하였을 때 즉각 트러블 슈팅을 하는 사람이다.

이 지침에는 두가지 관점이 있다.

첫째는 사람의 관점. 팀원들에게까지 완벽성을 요구해서는 안된다. 당신을 만족시킬 수 있는 사람은 결코 없을 것이다.

둘째는 성과의 관점. 완벽하게 하려고 한 나머지 아무것도 못해서는 안된다. 중요한 부분이 명백히 준비되었다면 일단 시작해야 한다. 만일 일부의 결과라도 나온다면, 아무 것도 없었던 때와는 많은 것이 달라져 있을 것이다.

대개의 경우 똑똑함보다는, 행동이 보다 중요하다. 물론 똑똑한 행동이 가장 좋지만.

2005년 11월 28일

구글의 식당과 먹을 것들: 음식으로 브랜드를 관리하는 기법

[참고] 구글 한국 블로그에 포스트된 식당 이야기

사실은.. 지난 4월 구글 본사에 업무상 방문할 일이 있었는데, 하필이면 그때 Microsoft MVP Asia Summit이 싱가폴에 있어서 거기를 가느라고 부하직원을 대신 보냈었다.

글쎄, MS 서밋이야 하두 많이 가보아서 별 감흥이 없었는데..

나중에 부하 직원에게 구글에 다녀온 소감을 물어보니 "사무실 분위기가 무슨 테마파크 같아요. 그리고 래리 페이지와 세르게이 브린 방이 오픈되어 있어서 들어가 보았어요.." 등등 호기심을 유발하는 말을!

얼마전 구글 한국 블로그에 포스트된 구글 식당 이야기를 보니 이런 생각이 든다. 이런, 음식으로 브랜드 관리를 하는 기법을.

"음, 역시 사람에게는 먹을 것이 중요해."

일종의 감성 경영인가? 비교적 적은 돈으로 직원들의 로얄티를 극대화하고 있는 것이다. 더불어 이렇듯 입소문 마케팅으로 인한 엄청난 홍보 효과도 함께.

참으로 스마트하군.. 허허

2005년 11월 27일

소프트웨어 품질 향상에 있어, 가장 가치있는 행위는 '셀프 코드 리뷰'

이것은 필자의 굳은 믿음이다.

나는 1990년대 초반에 주로 백화점, 호텔 등에서 사용되는 POS 소프트웨어 개발을 했었는데, 그것은 금전을 다루는 것이었다. 바코드를 읽어 상품 가격을 조회하고, 그것들을 모아서 고객의 거래액을 계산하고, 집계된 거래 내역을 서버로 전송하고.

사소한 UI 버그가 아니라, 로직 버그가 발생하게 되면 결국 돈 계산이 잘못된다. 필자의 생각에 가장 품질이 중요한 소프트웨어는 사람의 인명과 관계된 것이고(예를 들면, 국방 또는 의료 소프트웨어), 다음이 돈을 다루는 것이라고 생각한다.

나는 돈을 다루는 소프트웨어 개발을 했기 때문에, 언제나 고객에게 인도되는 소프트웨어의 품질에 대해 많은 신경을 썼다. 그리고 당연하게도 1980년대 초반 중학생때 혼자 프로그래밍을 하면서 깨달은 "셀프 코드 리뷰" 기법을 백분 활용하였는데, 놀라운 점은 해당 작업을 마치고 나면 언제나 첫번째 테스트 케이스를 실행시키기도 전에 버그의 90% 이상을 제거할 수 있었다는 점이다. (사실은 100%였던 적이 거의 대부분이다)

셀프 코드 리뷰(self code review, 또는 self code inspection)란 오류를 찾기 위해 자신의 소스 코드를 엄격하게 검사하는 것이다. 쉽게 말해, 자신의 코드를 계속 읽는 것이다. 아주 단순하다.

이것의 가치는 로버트 L. 글래스도 자신의 저서에서 언급한 바 있다. 필자와 동일한 주장을 하는 것을 보고, 무척이나 반가웠던 기억이 난다.

모니터 상에서 계속 코드를 읽는 것에 불과하지만, 이것은 사실 엄청난 집중력을 요하기 때문에 무척 피곤한 작업이기도 하다. 하지만 그러한 집중력이야말로 소프트웨어스러운 것이며, 자신이 만든 코드와의 깊은 교감을 의미한다. 그러한 과정을 거치면 코드에 내재된 문제점들이 대부분 발견되며, 첫번째 테스트 케이스를 실행하기도 전에 거의 완벽한 코드가 완성되는 것이다.

경험이 많지 않는 사람이라면 이것이 무척 신기하게 생각될 수도 있을 것이다. 신기할 거 없다. 자신이 집중하고 애정을 쏟은 만큼 보상받는, 당연한 진리일 뿐이다.

그래서 필자는 어차피 완벽할 수 없는 테스트 케이스보다, 코드를 만든 프로그래머의 집중력과 영성(靈性)을 우선시하는 '셀프 코드 리뷰'를 강력 추천한다. 그리고 셀프 코드 리뷰후 '피어(peer) 코드 리뷰'를 한다면, 그 또한 도움이 될 것이다. 물론 코드 리뷰 후에 테스트 케이스를 실행하는 것은 당연히 필요하다. 코드 리뷰를 통해 걸러지지 않는 버그가 발견될 수도 있고, 또한 코드 리뷰의 성과를 검증해야하지 않는가? ^^

그 중요성에도 불구하고 코드 리뷰가 강조되지 않는 이유는, 벤더가 이것을 제품화할 수 없고 수행 과정이 가시화되기 힘들기 때문이다. 하지만 제대로 해 본다면, 반드시 그것의 가치와 재미를 발견하게 될 것이다.

무엇보다 중요한 것은, 자신이 만든 코드와의 깊은 교감이 아니겠는가.
프로그래머인 당신은 창조자로서 자신의 피조물을 통제할 수 있다. 창조자로서의 권리를 듬뿍 누리기를.

그의 자화자찬이 역하게 느껴졌다

남들에게 인정받기 위해 자신을 자랑하는 사람들이 많다. 필자도 그렇다. 그것에는 두가지 측면이 있다.

첫째. 경쟁 사회에서 자신을 자랑하지 않고서, 어떻게 자신의 가치를 증명할 것인가? 그것은 필수적인 것이다.

둘째. 자화자찬은 자신을 정당화하는 대신, 자신의 품위를 떨어뜨린다. 프랑스의 사상가인 볼테르가 이와 비슷한 얘기를 했었다.

왜 스스로를 자랑해야만 하는 걸까?

그것은 아마도 욕심, 열등감, 불안감 때문일 것이다. 자신을 자랑하는 것은 저급함의 발로이며, 또한 인간 본성이기도 하다. 자신을 자랑함으로써, 인간은 스스로의 존재감을 확인하려고 한다.

도시의 꼭대기에서 사람들을 내려다보면, 모든 사람들은 그러한 공허한 메아리를 일방적으로 소리쳐 외쳐대고 있는 것이다. 잡음이 난무한다.

나 또한 마찬가지이다. 나는 그러한 스스로의 통속성과 추함에 눈물을 흘리며, 그 언젠가 욕심과 열등감과 불안감을 떨쳐낼 그 날을 위해 열심히 기원하며 수양을 쌓지만..

점점 더 통속화 되어가는 모습에 가련함을 느낄 뿐이다.

398달러짜리 노트북


[CNET News.com] 홀리데이 시즌을 위한 하이테크 선물들

사진은 월마트에서 파는 398달러짜리 HP노트북이다.

위의 News.com 링크로 들어가면 추천된 여러 선물들을 볼 수 있다. 아이팟 나노부터 시작해서 XBOX 360, PSP, 모토롤라의 Razr V3i, 캐논의 PowerShot S80, 파이오니아의 DVR, XM 위성 Radio 등이 추천되어 있다.

호홋. 여러분은 해당 목록 중 몇 개나 갖고 계신지? (참고는 저는 2개 -.-)

2005년 11월 24일

MS Word 1.0 (1989년)과 MS Word 12 (2006년)의 스크린샷 비교

[그림] Word for Windows 1.0 (1989년)

[그림] Microsoft Word 12 (2006년 출시 예정)

워드 1.0에서는 툴바가 2개였으나, 1994년의 6.0에 와서는 툴바가 8개로 늘었고, 1996년의 워드 97에서는 18개로, 워드 2002에서는 30개로, 워드 2003에서는 31개로 늘었다. 결국 메뉴 항목 개수도 250개를 훌쩍 넘어 300개에 육박하게 되었다.

허허. 그 많은 명령들을 도대체 그 누가 사용한다는 말인가? 그것을 모두 사용할 만큼 숙련되어서, 얻을 수 있는 이익이란 무엇인가?

대세는 Simple is beautiful.

그것을 "드디어" 캐치한 MS는 오피스 12에서는 대대적인 UI의 손질에 들어가게 되었다. 컨셉은 뷰티와 사용성의 밸런스! 즉 매력적이고도 편리한 UI.

현재 사용자의 작업 내용에 따라서, 향후 작업을 예측하여 필요한 항목만을 보여준다. 사용자가 사용하지도 않을 항목들을 쭉~ 펼쳐놓는 미련한 짓을 더 이상 하지 않는 것이다.

오피스 2003으로 업그레이드한 유저가 많지 않은 상태이지만, 과연 오피스 12의 유혹을 뿌리칠 수 있을지 궁금하다.

그리고 이것이 MS의 성과만은 아니다.

아름답고 단순한 무엇. 애플과 구글이 미친 여러가지 영향 중 하나로 평가할 수 있을 것이다.

경쟁은 즐겁다.

2005년 11월 23일

Xbox 360 판매 개시 현장!

미국에서의 Xbox 360 판매 개시 현장 (동영상)

물론 미국의 얘기이다. 11/22 드디어 판매 개시되었는데, 동영상을 보면 알 수 있듯이 거의 "쇼" 스럽다. 무슨 무기라도 싣고오는 듯한 거대 트럭, Best Buy 브랜드가 난무하고, 열광하는 소비자들~

Xbox 360. 완전하게 HD 화질과 음향을 지원하는 게임기, 하드웨어/소프트웨어/컨텐츠의 컨버전스로 디지털 홈을 장악하려는 MS의 야심작.

게임 관점에서 보자면, 드디어 소규모 게임업체들은 게임을 만들기가 아주 힘든 시대가 온 것이다. 마치 헐리우드처럼.

이제 게임업계도 영화 산업처럼, 독립 게임이 나오고, 또한 선댄스 영화제 같은 공간이 확보될 수 있으려나..

A/V 위주가 아니라, 진정으로 게임성을 갖춘 게임을 기대하며 ^^

2005년 11월 22일

초보 팀장을 위한 조언 9

모든 실수는 남들이 저지르면 굉장히 멍청해 보인다. - 게오르크 크리스토프 리히텐베르크


타인의 실수와 잘못만큼 쉽게 발견되는 것도 없다. 그렇다면 자신의 실수와 잘못은? 사람들은 자신에게는 너무나 관대하다.

타인의 결함이 쉽게 발견되는 이유는, 그 결함을 자신이 갖고 있어 너무나도 익숙하기 때문이라는 말이 있다. 너무나도 잘 알기 때문에 너무나도 잘 찾아낼 수 있는 것이다. 이 말이 언제나 맞는 것은 아닐 지라도, 자신의 모습을 돌아보는데 "조금은" 도움이 될 수 있을 것이다.

물론 비난받을 사람들은 많다. 하지만 자신 또한 누군가에게 비난받을 사람일 수 있다. 그래서 우리는 누군가를 무시하고 비난하기 전에, 자신을 먼저 성찰해야 한다. 그것을 잊을 때, 우리는 "남을 탓함으로써 자신의 무능을 감추는 기술"을 습득하게 될 것이다.

2005년 11월 19일

초보 팀장을 위한 조언 8

당신의 상사의 상사가, 당신의 상사를 괴롭히지 못하게 하라.


두 말할 필요가 없는 얘기. 이 말에 대해 생각해 본 적이 없거나, 또는 읽어도 그 뜻이 확 와닿지 않는다면, 아마도 상사에게 사랑받고 있지 않을 가능성이 99.9%다.

또한 이해하되 그러고 싶지 않다면 반골정신이 너무 강하다는 증거. 상사의 사랑은 커녕 미움받고 있을 가능성이 99.9%다.

어느 가난한 중학생의 자살

“엄마 월급으론 어림없지. 내몫 누나 줄려구…” 유서 (신문 기사)

임군은 “예고? 우리 집안 형편에…어림도 없지.…울 엄마 식당일하면서 그 얼마 안되는 월급으로 우리 먹여 살리는 것도 바쁜데…그래서 난 결심했어.…내몫까지 우리 누나 줄려구…그럼 우리 불쌍한 누나, 좀 더 행복하게 해줄려구”라고 썼다.. (하략)

얼마전 지인으로부터, 부모의 지원으로 그 비싼 민족사관고에 다니며 미국 유학을 준비하는 어느 고등학생의 얘기를 들었다. 대학 진학을 위해 커리어 관리가 필요하다며, 방학때 해외 로펌에서 인터쉽을 받기위해 수천만원의 뇌물(?)을 해당 로펌의 변호사에게 주었다고 한다.

이런이런. 몹시 서글프다.

그런 부유한 집안의 학생도 있는데.. 도대체 임군의 삶은 무어란 말인가?

나 또한 생활고에 힘들어 학교 중퇴나 자살을 생각해 본 적이 있는 사람으로서, 또한 누나를 몹시 사랑하는 사람으로서, 정말 가슴 절절하게 눈물이 나는 사연이다.

임군아..
후세에는 반드시 부유한 집안에서 태어나서, 네 맘껏 그림을 그리려므나. 그리고 꼭 화가가 되렴.
누나를 위하는 네 마음이 너무나 예쁘고도 슬펐단다. (그치만 네 누나는 너로 인해 몹시 울었을거야)

너의 가련하고 순결한 영혼을 위해 진심으로 기도한다.

2005년 11월 18일

블로그는 '생각과 마음의 덤프(dump)'

나는 비록 뒤늦게 블로거 대열에 합류하기는 했지만, 블로그에 대해 큰 애정을 갖고 있다. 올브로그에서 블로그의 정의에 대한 주제 토론이 있어, 즉흥적으로 한번 적어보면..

피플웨어가 생각하는, 블로그의 정의

1. 내용적 관점: 개인의 생각(brain)과 마음(heart)의 덤프(dump: 와르르 쏟아 버리다)
2. 기술적 관점: HTML과 자바스크립트를 몰라도 만들고 관리할 수 있는, 서로서로 연계된 개인 홈페이지
3. 언론적 관점: 전문 기자 시대의 종식을 가져온 새로운 매체
4. 사회적 관점: 불평불만을 표출하는 가장 최신 기법. 지지자 또는 적(안티)을 만드는 가장 빠른 방법
5. 놀이적 관점: 최근에 발견된 놀이 중, 가장 흥미로운 형태의 지적 유희


블로그가 한때의 유행이 아니기를 기원하며.

PS: 꽁트가 말하기를, "사랑의 본질은 개인을 보편화하는데 있다"고 했다.
사실 블로그야말로 개인을 보편화하는 최고의 도구인데..

그렇다면 "블로그 = 사랑"??? ^^

2005년 11월 16일

POS(Point of Service)와 나


MS의 POS for .NET 관련 자료를 보다가 상념에 사로잡혀 적어본다. 예전에는 Point of Sale이라고 했는데, 요즘에는 Point of Service라고 한다.

가장 손쉬운 예로 이마트 계산대를 생각하면 된다. 한 매장에 수십대의 POS가 있는데, 그것은 단순한 계산기가 아니라 실시간으로 점포 서버로 데이터를 전송하고 점포 서버는 본사 서버로 데이터를 전송한다. 간단히 얘기했지만 그것은 사실 단순한 전송이 아니라 상호작용이라고 할 수 있으며, 그 외에도 수많은 일들을 한다. 이러한 POS 시스템을 통해, 신세계 이마트 본사에서는 전국 매장의 매출 데이터를 실시간으로 조회할 수 있는 것이다.

내가 첫직장에서 한 일이 POS S/W를 개발하는 것이었는데, 그때는 ROM POS라고 해서 RTOS를 갖춘 기계에 롬을 구워서 끼고 S/W를 동작시켜야 했다. 그후 DOS 기반의 코볼로 S/W를 만들어 사용한 PC POS를 거쳐, 윈도우 기반의 윈POS, 2000년대부터는 웹POS가 등장했다.

이제는 POS for .NET이라고 하여 UPnP, .NET 프레임워크에 기반한 S/W에다, 터미널 서비스와 SMS 클라이언트를 통해 POS 시스템을 관리하고, 보안을 위해 방화벽과 안티바이러스까지 갖추게 되었다. POS도 여전히 계속 진화하고 있다.

나는 비록 1990년대말 이후로는 POS에서 손을 완전히 떼었지만, 여전히 POS에 대한 애정을 갖고 있다. 나에게 분산 시스템과 DB, 통신, 하드웨어 제어 등의 모든 것을 가르쳐준 POS가 아니던가.

언젠가 시간이 되면, POS 개발자였던 시절의 얘기를 적어봐야겠다. 어떤 좌절을 하였는가, 어떻게 성장하였는가, 무엇을 꿈꾸었는가, 왜 울었는가 등등 많은 사연이 있다. ^^

2005년 11월 14일

초보 팀장을 위한 조언 7

이상은 별과 같다. 우리는 결코 거기에 도달하지 못하지만, 바다의 뱃사람들처럼 우리의 갈 길을 거기에 맞춘다. - 칼 슈르츠


꿈이 없는 리더들이 있다. 아무 것도 이룰 수 없고 얻을 수 없는 사람들이다. 자신이 가야 할 길도 모르는데, 어떻게 부하 직원들에게 그 방향을 제시할 수 있겠는가? 물론 어려운 일이다. 우리의 삶이 언제나 그러한 것처럼. 하지만 꿈을 꾸고 또한 그 꿈을 주변 사람들에게까지 동화시키지 못한다면, 그저 우연히 얻어지는 작은 성취에나 만족해야 할 것이다.

100을 꿈꾸어야 50이라도 이루어질 수 있다. 꿈꾸지 못하는 사람은 이룰 게 없고, 간혹 무언가 이루어진다고 하더라도 아무런 의미가 없을 것이다. 왜냐하면 그것이 무언인지조차 알 지 못하므로.

2005년 11월 11일

비난

얼마전 "윈도우 코드 삭제는 소비자의 이익을 위한 것이 아니다"라는 주장을 했는데, 어떤 네티즌으로부터 "그렇게 생각하는 당신이야말로, 온갖 비리와 부조리와 악의 근원"이라는 말을 들었다.

간혹 보면, 스스로가 인류행복과 세계평화를 위한 투사라고 생각하는 사람들이 있다. 자신과 생각이 다른 사람들을 격렬히 비난한다고 해서 인류행복이 이루어지는 것은 아니다.

어쨌든.. 그러한 비난을 들어도 웃을 수 있는 것을 보면, 나도 정말 많이 강해졌다.

나를 강하게 키워준 그들이 고맙다.

2005년 11월 10일

재미있고 가치있는 "머피학"

잘못될 가능성이 있는 것은 잘못된다. - 머피의 법칙
잘못될 가능성이 없는 것도 잘못된다. - 슈나털리
어디에선가 잘못되는 일은 어디에서나 잘못되기 쉽다. - 로이스터
잘못될 가능성이 있는 일은 끝이 없다. - NBC
어떤 일이 자꾸 잘못되다 보면 결국 그것이 옳은 일이 되어버린다 - 리히
잘못 되고 있는 일은 따라하지 마라. - 로스만


[출처: 머피의 법칙 2000 - 아더 블로크]

예전에 약속한 것처럼, 내가 좋아하는 머피의 법칙 몇 가지를 적어본다.

모바일 PC를 위한 새로운 네비게이션 버튼: 락킹롤러(rocking roller)


지난 WinHEC 2005에서 공개된 락킹롤러 버튼은 MS가 특허를 갖고 있는 것으로서, 차세대 모바일 PC에 채용될 예정이라고 한다. 특히 Windows Vista와 궁합이 좋다고 하는데, Vista 애플리케이션의 네비게이션을 락킹롤러에 맞출 것으로 생각된다.

물론 애플리케이션이 락킹롤러에 최적화되어야 하겠지만, 그렇게 된다면 MP3 플레이어 같이 PC를 좀 더 편하게 쓸 수 있을 것이다. 생각해보면, 노트북의 하드웨어 사용자 인터페이스는 그간 너무 발전이 없었다. 불편한 터치패드와 퀵실행버튼 또는 볼륨조절 정도?

이제는 아이팟과 같이 편한 인터페이스가 노트북에서도 절실한 것이다. 노트북은 데스크톱의 또다른 버전일 뿐이라는, 상상력의 제한이 그간의 발전을 가로 막았다.

이제 봇물이 터져야 한다. 엔드유저를 위해서.

2005년 11월 9일

초보 팀장을 위한 조언 6

충성심을 발휘하는 것이 영혼을 파는 행동이라고 할 수는 없다. 당신의 회사와 상사는 세상을 나쁜 쪽으로 이끌고 가기 위해 존재하는 것이 아니다. - 로렌 벨커 & 게리 톱치크


이것은 반드시 조언 5와 함께 이해되어야 한다. 두가지에 대한 밸런스가 중요하다.

헌신성과 충성심(loyalty)은 맡은 바 업무를 성공시키기 위해 꼭 필요한 마인드이다. 하지만 부하 직원 또는 동료들과 어울려 회사와 상사의 험담을 일삼고, 자신의 비생산적인 업무 결과를 상사나 환경의 탓으로 돌림으로써 자신의 무능력을 정당화하는 사람들이 있다.

물론, 안타깝게도 무능하거나 불합리한 상사가 있을 수도 있다. 하지만 대부분의 상사는 결코 그렇지 않다. 그들이 그 자리에 도달할 수 있었던 것에는 다 이유가 있는 것이다.

자신의 충성심에 대해 생각해보자. 나는 과연 누구에게 어떤 가치(value)를 제공할 준비가 되어 있는가? 그것이야말로 내가 부하직원에게 언제나 바라던 그것이 아니었던가? 바로 그러한 가치를 당신의 상사에게 제공하여 준다면, 상사는 반드시 그 결실을 당신과 나누어 가질 것이다. 충성심과 함께 하지 못하는 똑똑함이란 언제나 비생산적이다.

2005년 11월 8일

초보 팀장을 위한 조언 5

내 재산을 빼앗되 나의 조직을 남겨두어라. 그러면 5년 안에 나는 그 모든 것을 전부 되찾을 것이다. - 앨프레드 슬론


또한 손자는 "질서냐 무질서냐는 조직에 달려있다"고 말했다. 단지 자신의 보스에게만 충성하고 해바라기를 할 뿐, 부하 직원들에 대한 논공행상(論功行賞, 공을 논하고 상을 줌)을 등한시하는 팀장들이 있다.

부하 직원들이란 팀장의 일을 실제로 수행해주는 소중한 존재이다. 그들이 제대로 일을 하기 때문에 팀장이 존재할 수 있는 것이다. 그렇기 때문에 팀장은 그들을 케어하고 성장할 수 있도록 최대한 지원해야 한다.

자신의 조직을 제대로 케어하고 관리하지 못한 채로 윗사람에게 해바라기만을 한다면, 결코 성공할 수 없을 것이다. 간혹 성공한다고 하더라도 그것은 오래 가지 못하고, 만일 어느 순간 실패하게 되면 다시는 재기하지 못한다.

어쩔 수 없는 경우 프로젝트는 실패하더라도, 조직은 어떻게든 보호해야 한다. 그들이 있어야 다시 한번 도전할 수 있기 때문이다. 사람은 쉽게 얻을 수 없다. 조직을 소중하게 생각하는 자세야말로, 팀장의 미래를 좌우하는 중요한 요소이다.

PS: 팀원들의 노력이 없었다면, 나는 아무 것도 아니었을 것이다.

워크플로우 기반의 개발이 확산될까?


워크플로우란 사람과 소프트웨어를 조화시키는 액티비티의 세트라고 할 수 있으며, 휴먼 워크플로우와 시스템 워크플로우로 구분된다.

이것은 Windows Vista에서 사용될 차세대 API인 WinFX의 Windows Workflow Foundation을 통해 제공되며, 개발자는 프레임워크 및 도구를 이용하여 개발하게 된다.

그렇다면 워크플로우는 과연 어떤 경우에 사용하는가? 간단하게 생각해보자.

은행 대출의 경우: "제출된 서류는 24시간 내에 승인이 되어야하고, 승인될 경우 7일 내에 대출되어야 한다."

위와 같은 실제 업무는 상당히 긴 트랜잭션으로서, 최대 7일 동안 상태 관리를 해야 한다. 이것을 기존의 애플리케이션 방식으로 처리하려면, 모두 "로직"으로서 코딩을 해야 했다. 하지만 워크플로우 기반 개발을 하게 되면, 관련 프레임워크를 사용하여 보다 손쉽게 적은 코드로서 개발이 가능한 것이다.

순차적인 워크플로우 처리뿐만 아니라, 상태 또는 룰(규칙)에 기반한 처리도 가능하므로 활용성이 높다.

하지만 이것이 아무리 개념상으로 좋다고 하더라도, 개발자들이 얼마나 제대로 사용하는가?하는 것은 완전히 별개의 문제일 것이다. 기존의 방식으로 처리가 가능할 경우, 대부분의 보수적인 개발자들은 새로운 방식을 굳이 적용하려 하지 않는다. 확산에는 상당한 시일이 걸릴 것이다.

[그림 출처: Microsoft PDC 2005]

2005년 11월 6일

IT 기업의 캐릭터 진단: 마이크로소프트, 구글, 애플, 야후

어딘가 버스 타고 가다가, 갑자기 생각나서 메모해 보았다.

마이크로소프트 - 도도하고 부유한 엘리트, 마키아벨리주의자
구글 - 멋지고 스마트한 틴에이지 아이돌(idol)
애플 - "나는 이 세상의 모든 것과 다르다", 헝그리정신과 품위의 절묘한 조화, 영원한 청춘
야후 - 화려한 아이돌 시절을 지나, 20대가 된 아이돌 스타. 무엇을 해서 대중의 인가를 다시 얻을까 고민 중

참고: 애플의 "나는 이 세상의 모든 것과 다르다"라는 표현은, 필자가 예전에 쓴 애플 관련 칼럼에 어떤 독자분이 댓글로 달아주신 것임

추천 블로그: 코코마치-디자인 블로거캐스트

코코마치-디자인 블로거캐스트

여러 분야의 다양한 사례를 통하여, 디자인적 영감을 일깨울 수 있다. 지적 자극을 얻고싶다면 방문해 보기를 추천한다.

2005년 11월 5일

초보 팀장을 위한 조언 4

그들은 직관을 '미지의 곳에서 나오는 빛나는 예지'라고 말했다. - 스위스 로잔느의 국제경영연구소가 각국의 최고 경영자들을 대상으로 연구한 결과


직관이란 단순한 감각이 아니다. 당신이 지금까지 살아보면서 쌓아놓은 지식, 성공과 실패의 경험, 기쁨과 고통의 감정 등의 여러 데이터들은 평소에는 머리 속에 흩어져 존재하고 일부는 무의식에 숨어있다.

하지만 중요한 의사결정 및 문제해결의 순간이 오면, 당신의 소중한 그것들은 명령도 하기 전에 0.1초 내에 당신을 위하여 "통합"하여 어떤 형체를 만든다. 그 형체는 놀라웁게도 문제의 해결책을 훌륭하게 제시하고 있다.

초보의 경우, 직관을 느끼지 못하거나 설사 있더라도 잘못된 직관이 대부분이므로 스스로를 그다지 신뢰해서는 안된다. 적어도 어떤 일을 떠맡은 지 "3년" 동안은 스폰지 같이 모든 데이터를 흡수해야 하는 것이다(지식, 경험, 감정 모두). 어설픈 필터링을 한다면 결코 올바른 직관을 가질 수 없을 것이다.

또한 프로의 직관이라고 해서 언제나 올바른 것은 아니다. 그 이유는 지식, 경험, 감정을 올바르게 축적하지 못했기 때문이고, 영감(靈感)을 소중하게 다루지 않았기 때문이다.

직관은 누구에게나 존재하지만, 현자(賢者, wise man)의 단계에 도달해야만 직관의 이득을 맘껏 누릴 수 있다. 현자의 단계에 아무나 도달하는 것은 아니지만, 적어도 그것을 위해 노력하는 사람과 아무 생각이 없는 사람의 격차는 엄청난 것이다.

초보 팀장을 위한 조언 3

프로젝트 매니지먼트에 있어 확실한 한가지 사실은, 잘못된 가능성이 있는 것은 잘못된다는 것이다.


바로 머피의 법칙이다. 필자가 PM 강의를 하면 꼭 언급하는 내용이다.

특히 불확실성이 많고 이해관계자의 이해가 많이 상충되는 프로젝트에 있어서, 잘못된 가능성이 있는 것들은 거의 반드시 잘못된다. 그렇기 때문에 리스크 매니지먼트가 중요한 것이다.

전문가(프로)란 미래를 예측하고 준비할 수 있는 사람이다. 미래에 일어날 어떤 일을 쉽게 생각하는, 그런 무모한 낙관주의를 경계해야 한다. 부정적으로 행동하라는 뜻이 아니다. 전문가는 미래를 걱정하고 대응하되, 긍정적으로 행동한다.

그렇듯 상반되어 보이는 두가지를 잘 조화시킬 수 있는 능력에서, 바로 성공이 싹튼다.

PS1 : '매지니먼트(management)'를 일반적으로 '관리'라고 번역을 하고, 과거에 필자도 그렇게 관행적으로 쓴 적이 몇 번 있다. 하지만 아무리 생각해 보아도, 관리라는 단어로는 단어에 담긴 기예(art)적 의미가 표현되지 않는다. 사실 매니지먼트는 관리보다는 경영에 가까운 뜻이다. 하지만 프로젝트 경영자라고 하면 아무래도 어색하지 않은가? 그래서 필자는 그냥 매니지먼트, 매니저라고 쓰기로 결정하고 그렇게 쓰고 있다.

PS2 : 필자가 좋아하는 머피의 응용 법칙 몇 가지를 다음 포스트에 소개할 예정이다.

리눅스 업계에는 비즈니스 통찰력을 가진 슈퍼스타가 언제쯤 나올 것인가?

[ZDNET Korea] 구매 복잡한 리눅스 PC, 기술 지원도 하늘의 별따기

기사를 보고 생각해 보았다. 리눅스 고급 사용자들의 애정은 여전한 반면, 리눅스를 엔드유저 레벨로 확산시키는 것은 여전히 백일몽이다.

현재 대중의 PC 활용 행태를 보면, 데스크톱 애플리케이션에 비해 웹에 대한 의존도가 계속 높아지고 있는 상황이다. 실제로 과거에 사람들은 자질구레한 윈도우용 애플리케이션을 많이 사용하였지만, 지금은 오피스 & 멀티미디어 & 메신저 외에는 거의 대부분 웹에 많은 시간을 투자하고 있다.

아직 IE에 종속된 웹사이트가 많지만 firefox도 점차 힘을 얻어가고 있다. 오픈오피스도 성능이 많이 좋아졌고, 코덱만 잘 지원된다면 멀티미디어쪽도 괜찮을 것이고(윈도우 미디어 컨텐츠가 많고 계속 코덱 버전업이 되고 있어서 쉽지는 않겠지만), 메신저 분야도 국내의 경우 네이트온을 많이 쓰고 해외는 ICQ를 많이 사용하고 있으므로 리눅스화도 무리는 아니다.

추가적으로 게임의 경우도 생각해 볼 수 있는데, 플래시 수준의 미니 게임은 괜찮지만 헤비한 온라인 게임은 재개발하지 않고서는 불가능하다. 하지만 게임은 그리 라이프사이클이 길지 않은 편이고, 게임기라는 대체제가 있고, 어차피 고사양 PC가 필요하므로 일단 논외로 치자.

상대적으로 많은 라이트 유저를 대상으로 생각해 보건대. (그들은 사용하는 S/W가 제한적이고 하드웨어 가격에 민감하다)

현재 존재하는 S/W들을 잘 업데이트하고, 무언가 애정과 영감이 담긴 패키징만 잘 해낸다면 대중적인 리눅스 PC가 불가능해 보이지는 않지만, "비즈니스적으로" 그것을 해낼만한 사람 그리고 업체가 없어 보인다.

언제나 그렇듯이 사람이 문제다. 이 난세에 영웅이 나올까?

MS와 리눅스 업계, 구글, 애플 등의 치열한 경쟁을 보고 싶다. 그것이 MS에게도 좋은 일이다. 거시적으로 대범하게 생각해야 한다.

경쟁을 통한 마인드 각성과 긴장감, 그 결과로 나타나는 놀라운 생산성은 참으로 멋진 일이다!

2005년 11월 3일

Welcome to My World


제 칼럼의 애독자 여러분, 환영합니다.

ZDNET 칼럼을 통해 오셨습니까? 또는 다른 루트를 통해 오셨습니까?

논리적 비판을 열렬히 환영하며, 감정적 인신 공격은 정중히 사양합니다.

간략한 인사말이라도 남겨주신다면, 애정의 증표로서 소중히 간직하겠습니다.

초보 팀장을 위한 조언 2

이성적인 사람은 자신을 세상에 맞춘다. 비이성적인 사람은 세상을 자신에게 맞추려고 고집스럽게 노력한다. 따라서 모든 진보는 비이성적인 사람에 의해 이루어진다. - Shaw's Observation


사회에서 수년동안 다양한 보스와 다양한 조직에서 일해본 사람이라면 위의 말을 절절히 이해할 것이다. "성공한" 보스는 모두 비이성적인 사람이었던 것이다.

그러므로 당신이 이성적인 사람이라면, 스스로 올라갈 수 있는 위치를 잘 가늠해야 할 것이다. 왜냐고 묻는다면, 좁은 문을 통과하기 위해 비이성적인 그들과 치열한 경쟁을 해야 할 것이므로. 그들과의 경쟁에서 이긴 정상인을 거의 본 적이 없다.

PS : "초보 팀장을 위한 조언" 시리즈는 피플웨어 블로그가 존재하는 한 비정기적으로 계속 게재될 예정이다.

초보 팀장을 위한 조언 1

사람들은 자신이 할 수 없는 모든 것을 불가능한 것으로 간주한다. 즉, 그들은 자신들의 결점으로부터 남들의 수행 능력에 관한 견해를 이끌어낸다. - 세네카


그러한 사람들이 많다. 하지만 유능한 팀장은 그렇게 생각하고 행동하지 않는다.

자신의 용량(capacity)을 능가하는 그 무엇을 열등감없이 포용할 수 있을 때, 새로운 세계가 열린다.

2005년 11월 1일

작업 환경은 생산성과 품질에 지대한 영향을 미친다

이것은 로버트 L. 글래스의 명저, 소프트웨어공학의 사실과 오해(Facts and Fallacies of Software Engineering)에서 네번째 FACT로 나오는 말이다.

소프트웨어 개발 등과 같이 사고집약적인 노동을 필요로 하는 업종에서는, 작업 환경이 사고를 촉진하는 곳이어야 한다는 뜻이다. 창조적 에너지의 활용에 방해를 받는 공간에서는 결코 생산적일 수 없을 것이다.

이러한 내용에 대해 겉으로는 많은 사람들이 동의하고 있으며, 이슈가 없어 보인다. 하지만 실제로 그러한 컨셉에 따라 작업 환경이 구성되어 있는가 하면, 실제로는 그렇지 않다.

비용 문제, 직종 또는 직급에 따른 형평성 문제 등을 핑계로 그것을 제대로 실행하지 못하고 있는 것이다. 사고집약적 노동의 생산성은 측정하기에 곤란하다. 그러므로 그것의 효과를 배제한 채로, 절대 근로시간 내지는 뻔한 문서 작업의 성과물 등으로 생산성을 측정하는 경우가 많다.

물론 기업은 복지 단체가 아니다. 모든 지식근로자들이 최고의 대우를 받을 필요는 없고 그래서도 안될 것이다.

하지만 작업 환경에 따라 생산성에 영향을 받는 사람들이 있다는 것을 이해하고(수십배의 생산성 차이가 나기도 한다), 그들을 발견하고 매니지하는 것이야 말로 기업 내 인적자원 관리의 핵심이 아닐까 한다.

그리고 그것은 정말 어려운 것이므로, 경영의 예술(art)이라고 할 만하다.

구글, 마이크로소프트, 어도비. 그것을 해낸 기업들이다.

성격이 팔자를 만든다


사람이란, 타인의 잘못은 쉽게 발견하고 힐책하면서도 자신의 잘못에는 한없이 관대하다. 그래서 사람은 평생동안, (경우는 다르지만 본질적으로는 동일한) 실수를 끝없이 겪는다.

학교에서, 직장에서, 가정에서 우리가 겪은 모든 고통은 어떤 타인이나 환경 탓이 아니라, 자신의 결함 탓이라는 것을 이해하고 인정하는 사람은 많지 않다.

"성격이 팔자를 만든다"는 말이 있다. 무언가 괴로운 일이 있을때면, 내가 언제나 생각하는 말이다.

성격을 바꾸기는 힘들지만, 적어도 무엇이 문제인지 안다면 다른 사람을 원망하는 일도 적을 것이고 또한 자신의 미래를 냉정하게 계획할 수 있을 것이다.

내 성격의 결함 목록을 한번 만들어보면 어떨까?

다음은 필자의 결함목록.

1. 능력에 비해 욕심이 더 많다.
2. 단기간의 집중력은 있지만, 오래가지 못하고 인내심이 부족하다.
3. 사소한 일에 잔신경을 많이 쓰고, 소심하다.
4. 중요한 순간 외에는 대부분 게으르다.
5. 세상 사람들을 똑똑한 사람과 그렇지 못한 사람으로 편가르기하는 경향이 있다.

이렇게 적어놓고 보니, 적나라하다. 내 스스로도 저런 사람이 있다면 피하고 싶다는 느낌이 들 정도이다.

하지만 내가 나의 인생에 있어 참으로 고맙게 생각하는 점이 있다면, 그 과정의 고통을 통해 자신의 결함을 깨닫게 해주었다는 점이다. 사회 생활 13년 동안 이런저런 맘 고생을 많이 하였는데, 결과적으로 크게 성공을 하지는 못했지만.. 무엇이 문제인지 알게 되었다는 것에 감사하게 생각한다.

그러므로 앞으로 그리 성공하지 못한다면 그 이유를 절절히 받아들일 수 있을 것이고, 혹시라도 성공을 하게 된다면 스스로 결함을 극복했다는 것에 대해 커다른 자부심을 느낄 수 있으리라.

자신의 실체를 진정으로 이해하는 것.

자아성찰(自我省察). 그것이 과정이 아니라, 그 자체가 혹시 우리 인생의 중요한 목적이 아닐까?

우리는 그것을 위해 이 순간의 삶을 왔다가 가는 것이다.