야근이 과연 절대 악인가?

Memory 2010/08/30 04:18

월요일 새벽 4시.
현재 월요일 오후 고객사 사업팀장님 시연때문에 금욜 오후부터 토욜, 일욜 (특히 오늘은 철야모드) 버닝중이다.
문득 버닝중에 과연 철야 또는 야근이 절대악인지를 묻고 싶어 졌다.

예전의 내 포스팅을 보면 야근에 관련된 이야기가 많이 나온다.
애자일 용어로 Sprint 즉, 스스로 치열하게 일하는 것에 대한 이야기가 많이 나오고 있다.

그럼 꺼꾸로 한번 스스로에게 되물어 보도록 하자.
철야 또는 야근은 절대 악인가?
그리고 프로젝트 기간동안 제일 기억남았던 좋던가 싫은 기억은 무엇인가?

대부분의 개발자는 야근, 철야, 주말근무를 떠올릴 것이다.

그럼 우리가 알고 있는 야근, 철야, 주말근무는 왜 나쁜것일까?

첫째, 개발자 스스로의 건강을 깨트린다. 나역시 아침에 일어나기 힘들고 주말에는 퍼지기 일수이다.
거기다 고칼로리 야식으로 인해 살이 비둥비둥 쪄간다.
둘째, 능률 저하가 발생한다. 어차피 야근하는 문화라면 뭐하러 근무시간내에 일을 마치려 바둥바둥 하겠는가?
어차피 야근이라면 근무시간에 일에 집중하기보다 놀기바빠지기 마련이다. 그리고 이런게 습관화 되면 습관으로 인해 스스로의 인생조차 장담 할 수 없게 된다.

즉, 상시 야근 및 철야, 주말근무는 결국 개발자 나아가 개발팀 더나아가 회사의 장기적 손해를 끼친다.
그래서 나쁜것이 바로 야근, 철야, 주말근무인 것이다.

그럼 왜 이런 좋게 말해 필요악이 발생하는가?
가장 큰 이유는 일정이다.
일정 계획이 무계획, 무기준으로 짜여져서 결국 프로젝트를 지옥으로 빠트리는 상황이 가장 많을 것이다.
그다음이 원가 절감이다.
갑또는 을의 원가 절감으로 인해 절대적 업무량이 많은 경우이다.

그런데 야근, 철야, 주말근무가 반드시 나쁜것일까?
내 생각에는 리더인 PM이 직접 하는 야근, 철야, 주말근무는 필요악이다. 스스로 희생양으로 삼아 고객에게 좋은 점수를 딴다면 그가 이끌고 있는 팀은 어찌됐건 차기 프로젝트를 수주할 확률이 올라간다.
문제는 무능력한 PM이 이끌고 있는 팀은 PM스스로 업무를 처리할 수 없기에 물귀신 처럼 밑에 팀원들 데리고 자폭하는데 그 문제의 심각성이 있다.

이제 야근의 장점을 이야기해보자.
야근을 함으로써 얻을 수 있는 것은 팀원간의 친밀도와 팀웤이다.
짧고 강렬한 경험을 공유하면 그 경험으로 인해 팀원의 팀웤을 일시적으로 상승시킬수 있다.
군에서 고생을 같이 하고나면 전우애가 생기듯이 사회도 똑같은 원리로 이러한 효과를 기대할 수 있는 것이다.

현명한 PM이라면 이를 적절하게 활용해야만 한다.
모든 품질은 정량화에서 부터 시작된다는 이야기를 많이 하였다. 업무가 70% 정량화되어 팀원들에게 할당되면 70% 예측이 가능할 것이다. 즉, 업무를 세부적인 메소드 수준까지 정량화시키고 이를 팀원들에게 할당하면 업무의 우선순위를 정하고 일정기간 그것을 완성하기위해 Sprint하고 그 보상으로 1~2일의 휴가 또는 오후 3시 이전에 조기 퇴근할 수 있는 권한을 준다면 업무의 효율성을 재고할 수 있다.
이건 경험적인 것으로 이러한 보상을 통해 팀웤을 끌어올리면서 업무 효율성을 재고하는 2마리의 토끼를 다 잡을 수 있는 기회이기도 하다.

따라서, 무조건 절대 악이라는 것도 절대 선이라는 것도 없다는 것이다.
최선은 그 사이에 있기 마련인 것이다.

정리하자면
1. 야근, 철야, 주말근무해야 한다면 PM이 직접하라. (리더일수록 팀원에 비해 근무시간이 더 늘어나는것은 당연하다)
2. Sprint 기간을 설정하고 Sprint한 후 그 몇배의 시간 만큼은 정시 출퇴근 혹은 쉴 수 있는 시간을 부여하라.
3. 현재 팀원이라면 자신의 환경적, 신체적, 가정 컨디션을 팀 리더에게 수시로 알려라. (최소한 이메일정도는 남겨야 한다)
4. 이유없는 야근은 하더라도 2주 혹은 3주에 한번 정도로 제한하고 어쩔수 없이 야근하는 경우는 그 자체를 즐겨라.
5. 왠만하면 퇴근할 시간에는 집으로가서 재택을 하자.
가 되겠다.

2010/08/30 04:18 2010/08/30 04:18

애자일 경험담 18

Developer 2010/05/27 22:13
이번주부터 팀 재건 차원에서 몇가지 일들을 수행하고 있는데 이를 소개 할까 한다.
먼저 오전에 일일 이슈회의를 진행하고 있다.

그날 또는 전날 또는 그 이전에 고객 또는 Risk 를 나열하고 토론하며 팀원들과 업무우선순위를 재조정하는 일들을 진행하는 것이 그 첫단계이다.

나의 일은 서두에 몇가지 생각하고 있는 구두상 요청사항이나 프로젝트 범위나 변경에 영향을 미칠 만한 것들을 찾아 키워드로 화두를 던지면 나머지 팀원들의 이야기를 들어주는 것이 전부이다.

몇주간 방치되었던 팀에서 이런 저런 이야기가 나오고 고객에 대한 불만 등이 쏟아져 나오면 가만히 듣고만 있는 상황이다.
속으로는 "참 내가 못났다"라는 생각과 함께 "내가 지금 잘 듣고 있는가?"와 "팀원들의 감정이 어떠할까?"라는 생각을 한다.

거의 모든 서비스업이 마찬가지겠지만 사람과 사람사이에서 받는 스트레스와 에너지 소모가 생각보다 매우 크다는 생각을 다시하게 되는 계기가 되고 있다.

마지막으로 하는 일은 모든것을 조합해서 오늘저녁 퇴근전까지는 이런일 이런일을 해야 한다라는 합의를 거치고는 다 함께 밖으로 나가서 못다한 이야기 등을 하고 있는데 한 4일정도 지속적인 의견을 교환하면서 팀원들의 생각과 나의 생각을 서로 맞추는 일을 하다보니 근무 의욕이 소폭 상승한 느낌이다.

그리고 또하나 하고 있는것은 USE CASE로만 정의되어 있었던 요구사항의 정의를 User Story라는 이름의 Chart로 재작성하고 있는 일이다.

처음에는 UX관점에서 조금더 Customer Value를 어떻게 올릴까 고민하다가 챠트를 만들었는데 생각지도 못했던 추가 업무들이 나타나고 있다.
차기 프로젝트에서는 초기부터 도입해야 할 듯 싶다.
간단히 예를 들면 이렇게 진행중이다.
Step User Experience System Message Exception/Caution Exception Message
제품수령 철수는 X폰을 수령하였습니다.
거금 80만원이나 준 최신 스마트 폰입니다.
제품을 수령하고 기쁜 마음으로 포장을 해체합니다.
n/a 포장 해체가 잘안된다.
매뉴얼, 충전기, 소켓 중 하나가 빠져 있다.
n/a
매뉴얼에 고객상담실 연락처를 적어놓는다.
중간생략
앱스다운로드 철수는 앱을 다운로드 받기위해 XXX 버튼을 누릅니다. 환영합니다. 철수님 네트워크가 연결되어 있지 않다.
서버가 죽어있다.
네트워크가 연결되어 있지 않습니다. CDMA통신망으로 연결할까요?
서버가 연결되지 않습니다.
계속 연결되지 않으면 고객상담센터 555-5555번으로 전화주십시오.

* 위의 챠트는 현재 제가 하는 업무와 관계가 없습니다.


먼저 최종소비자의 행동을 묘사하는 순서가 Step 항목이다.
최종 소비자가 제품을 인수받고 설치하고 사용하고 전원을 끄는 등의 시나리오를 주루루룩 기재한다.
그리고 고객의 상황을 소설을 쓴다. 즉, 고객이 경험할 일을 기재하는 것이다.
그리고 정상적인 고객경험에서의 반응을 기록하고
예외사항 또는 에러사항 등의 부정적인 상황을 기록한다.
이후에 어떻게 부정적인 상황에 반응할지를 기록한다.

이렇게 단순한 Chart인데 여러 팀원들과 같이 작성해 나가면서 생각지도 못했던 업무들이 발견되었다.

그리고 이번주의 하일라이트는 시계를 켜놓고 알람을 설정한 일이다.
짧고 퀵하게 하기위해 중간 중간에 몇분 남았다고 주지시키고 완벽하지 않더라고 일단 끝까지 가보자라고 독려하였다.

그결과 합의 과정이 굉장히 빨라졌다.
총 49개의 Step을 점검하는데 4:20분경부터 시작해서 5:10까지 약 50분만에 한바퀴 도는데 성공한 것이다.
내일 또 오늘의 기록을 바탕으로 2차 브레인 스토밍을 진행할 생각인데 내일도 알람 시계를 맞춰놓고 Quick하게 한바퀴 돌아 보고자 한다.

2010/05/27 22:13 2010/05/27 22:13

근황... -_-;;

Memory 2010/05/27 02:29
2007년인가?
햇수로 3년이라는 세월을 지방 대학교에 파견나가 있다가 복귀한 시점이었다.
그때 눈에 띈것이 영상 프로세싱이었고...
이미지 검색이 눈에 띄어 간단한 히스토그램 분석을 매칭하여 이미지 검색 엔진을 만들었나? 그랬었다.
그뒤로 계속 뒤지다 보니 결국 Augmented Reality 당시에는 Mixed Reality라는 기술을 접하게 되었고 Marker 기반의 AR Toolkit으로 서비스 Prototyping 정도 진행하다가 된통 혼나고 (쓸데 없는 것 한다는 이유로...)
특허만 냈나? 그랬다.
쇼핑몰에서 실재 이미지와 제품 체험하는 그런 서비스였나?

그뒤로 몇년뒤에 우연찮게 그냥 내돈 쓰면서 프로젝트 해도 전혀 안아깝고 힘들지도 않은 그런 AR관련 서포팅 업무를 맡았으며 본인의 업무에 충실하게 쇠톱과 사포와 알루미늄 파이프, 자바라 등과 친숙해지면서 오랜만에 일하면서 행복하다는 생각을 했었다.

그러던 차에 사업이 점차 커지고 올해 초에 사업지원을 계속 하던차에 무엇인가 남기고 싶다는 욕심에 사고쳐서 4월부터 프로젝트 하고 있는 현실이다.

Leader로써 동료들과 고객사 (고객의 범위는 우리팀을 제외한 모든 이해관계자를 포괄하는 의미) 에 출퇴근하면서 업무를 진행하고는 있지만...

점차 지쳐간다고나 할까?

욕심이 과하면 문제가 반드시 터지는데 내가 요즘 그러하다.
하루에도 몇번씩 내가 왜 욕심부렸을까?
혼자서 행복한 프로젝트를 할 수 있었을텐데 하는 생각이 들고 내 욕심때문에 힘들어하는 동료들을 볼때마다 미안한 마음만 가득해진다.

일이라는 것이 돈을 벌자라고 하면 한없이 스스로 초라해지는 법인지라 일을 일처럼 생각하지 않는 마음을 가지려 하지만 간혹 힘들게 하는 무엇인가가 미사일 꽂히듯 꽂히면 "난감"해지는 무엇인가 때문에 스스로 힘들어지고...

Leading하려는 방향은 저쪽인데 그쪽과 약간 방향이 수정되거나 아니라면 예측되는 불편한 상황으로 인해 미리 자라목 움추려 들듯이 움추려 질때면 어떻게 해야 하는지 고민에 휩쌓인다.

나름 개발자라고 생각했지만 지금까지 해오던 서버 클라이언트 환경도 아닐뿐더러 배우고 싶어도 누구에게 물어 보기 어려운 덕에 책상위에는 다급함때문에 쌓여 있는 책만 늘어갈 뿐이다.

그럴때면 담배 한대 피우면서 (사실은 근례에 6가치를 연속 펴본 적도...) 마음을 잡고 그리고 자세를 잡지만 하루를 마치고 버스에 몸을 실을때면 한없이 작아진 그림자만이 나를 따를 뿐이었다.

아직까지는 작년의 일을 하면서 행복했던 기억이 더 많아서 그래서 잘 버틸것이라 생각하지만 이러한 행복들보다 피로와 절망이 커져서 행복한 기억을 덮어 버렸을때 어찌 대처해야 하는지 조금은 아쉬울 뿐이다.

에잇~ 잠이나 자자. T_T
2010/05/27 02:29 2010/05/27 02:29

클라우드 컴퓨팅에 대한 짧은 소개 동영상을 보면서 든 생각

Developer 2010/03/09 13:35

일전에 클라우딩 컴퓨팅에 대해 한번 포스팅한적이 있지만...
이 동영상을 보면서 또한번 생각하게 되는 클라우드에 대해 이야기하자면....

"니 똥이다!"

왜 그러는지 생각좀 해보고 살자.
이 마케팅 용어인 클라우드 컴퓨팅은 Trend 처럼 이야기하고 있지만 실상은 우리가 널리 사용하고 있다.
가령 우리는 중요한 파일을 UBS에 저장하고 있지만 인터넷 웹하드로도 보관한다.
또한 내가 필요한 지식을 로컬에도 저장하지만 우리는 Wiki라는 툴로 저장하기도 한다.

즉, 공유와 참여의 "WEB 2,0"에서 못벗어나고 있는 것이 클라우드 컴퓨팅이다.
기껏 다른 입장에서 바라본다는 것이 OS 클라우드 정도인데... 이것역시 그리 마음에는 들지 않는다.
온라인 오피스 역시 다르지 않다.

이미 KT(가온아이)의 Biz Meka가 MS Office의 ASP모델을 만들어서 인터넷으로 MS Office의 편집도구를 뿌리고 서버에 저장하는 기술을 상용화 한지가 10여년이고 야후역시 이러한 시도를 하였으며 구글도 따라하고 있는상황이다.

즉, 기술적으로 유저입장에서 전혀 새로울게 없다.
그리고 결정적으로 클라우드 컴퓨팅은 꿀벌이라는 작지만 많은 객체를 중심으로 세상을 바라보고 있다면 개인의 욕심은 내가가진 도구가 꿀벌이기 보다 말벌이기를 원한다.

* 우리의 말벌은 최소한 꿀벌 1000마리는 잡아잡숴야 속이 후련해진다!
사용자 삽입 이미지
아무리 좋은 아이디어라도 관련자 모두를 만족시켜야 하는데... 비용 절감만으로 따질수 없는 인간의 욕망은 클라우드 컴퓨팅을 Main으로 들어오는 것을 용납하지 않는다.
다시말해 클라우드 컴퓨팅은 기업과 같은 협업 환경에서는 분명히 맞을수는 있지만 개인에게는 아니라는 생각이다.

스스로 집에 PC를 한번 봐보자.
왜 메인 PC가 ATOM의 넷북급이 아닌가요?

스스로 손에 들고 있는 핸드폰을 봐보자.
왜 핸드폰은 통화만 되는 흑백 액정이 아닌가요?

스스로 PMP/MP3를 봐보자.
왜 Made in China중에서도 최하급품인 이어폰만 꽂는 단자가 아닌가요?

차가 있다면 혹은 집이 있다면 봐보자.
왜 10여년 넘게 탄차가 아니며 왜 시골한켠의 오두막집이 아닐까?

인간은 스스로가 소유한 소유품목에 스스로를 투영하는 습성이 있는것이다.
그래서 그들은 그들이 개인적으로 소유한 제품이 꿀벌이기를 원하지 않는다.

결론적으로 나는 클라우드 컴퓨팅의 마켓이슈화를 반대하며 말장난을 반대한다.
WEB 2.0 의 공유와 참여의 철학적 가치와 WEB 3.0의 Real time의 가치하에서 또 다른 마케팅 용어를 만들어 그것으로 장사하여 제2의 밀레니엄 버그와 같은 세기의 사기 사건과 같은 참사가 다시 일어나지 않기를 바랄뿐이다.

기술은 필요한 자를 도와주는 도구여야하지 이처럼 장사를 통해 사기치는 그런 행위를 반대하는 것이다.
2010/03/09 13:35 2010/03/09 13:35

FP 견적방법

Developer 2010/03/08 17:00
Funtion Point 견적서는 2010년 5월부터 지경부 고시로 의무화된다.
기존에 M/M 즉, Head Count 방식은 사라지게 되는것이다.
(물론 공공기관의 이야기다. 민간기업은 ... 에효...)

아무튼 Funtion Point 즉, 기능점수 어떻게 견적을 내야하는지에 대해 Sample Xls 파일하고 같이 떠들어 보고자 한다.

1. 먼저 만들고자 하는 시스템 기능에 대해 목록화해야 한다.
기능의 정의는 다음과 같다.
먼저 데이터와 트랜젝션을 이해해야 한다.
데이터는 그야말로 시스템에 저장된 데이터이며 트랜젝션은 시스템 내외부로 세션이 왔다 갔다 하는것이다.

데이터는 EI, EO, EQ가 있으며
EI는 유저가 시스템의 데이터를 입력하는 것이다.
EO는 유저가 시스템으로 부터 데이터를 받는 것이다.
EQ는 유저가 시스템에 데이터를 입력하여 그 결과를 받는 것이다.
다시말해
EI는 일반적으로 입력, 수정, 삭제 행위이고 EO는 출력기능, EQ는 조회기능이다.

여기서 하나더 나가면 트랜젝션이라는 항목이 있고 시스템 내부라면 ILF, 외부시스템연계라면 EIF로 표현한다.

복잡하지만 쉬우니 한번 봐보도록 하자.
식별할때 유념할 사항은 UML USECASE 식별할때와 유사하니 흟어 보자.
첫째, 자기완결적이어야 한다.
둘째, 유저입장이어야 한다.

사용자 삽입 이미지


또 필요한 사전지식이 바로 지경부에서 2010년 2월 26일에 고시한 지식경제부 고시 제 2010-52호이다.
여기에는 간이 기능점수표라는 것이 포함되어 있는데 다음과 같다.
사용자 삽입 이미지
어차피 SAMPLE에 포함되어 있으니 그려러니 하자.
이제 샘플파일가지고 실습한번 해보자.

보안관련 요구사항이 7개있는데 이걸 표현하면 다음과 같다. (물론 요건이 7개라는 이야기다)
사용자 삽입 이미지
- 로그인은 "내부논리"를 읽는 것으로 "조회" 1개 밖에 없다.
즉, ILF 1개, EQ가 1개이므로 로그인의 FP=7.5X1 + 3.9X1="11.4"이다.
물론 정석으로하면 더 복잡하지만 화면 UI가 안나온 상황에서는 예측에 의한 간이법을 사용하는 것이다.

2. 이제 개발원가를 산정하자.
- 먼저 규모보정 계수를 산정하자. 목록의 총합계가 300FP를 넘는가가 관건인데 안넘는다면 0.65를 적용하고 300FP이상이라면 0.108*log e(FP)+0.2229 를 한다.
사용자 삽입 이미지
- 어플리케이션 유형에 대한 보정을 산정하자.
샘플에서는 일반적인 업무 처리용 S/W이므로 업무처리용에 100%.
사용자 삽입 이미지
합계는 반드시 100%여야 한다.
- 그리고 언어보정계수를 산정하자.
여기서는 웹을 가정하므로 보정계수 0.8에다가 100%~
사용자 삽입 이미지
- 마지막으로 품질/특성 보정계수를 입력한다.
각각의 상황에 맞는 특성을 입력하면 모든 작업이 끝난다.
사용자 삽입 이미지

이제 SAMPLE의 개발원가 산출란을 확인하면 지경부고시에 따른 분석, 설계, 구현, 시험 비용에 의거해 자동 개발원가가 산출된다.
사용자 삽입 이미지
예를 들어 분석 개발원가는 "94511*79.3*0.8*1.0*0.65*1.125"로 "4,384,412원"이다.
그래서 총합이 "23,075,885"원인것이다.
여기에 총괄표에서 보는바와 같이 최고 25%에 이윤을 붙일수 있다.

3. 직접경비를 산출하자.
직접경비는 다음으로 정의된다.
- 필요 컴퓨터 시스템 사용료
- 소프트웨어 도구 사용료
- 선투자 후정산 사업으로 추진되는 사업의 지급이자
- 발주자 요구에 의한 특정기술 도입과 관련된 전문가 비용
- 여비
- 특수자료비
- 인쇄, 청사진비
- 자료조사비
- 기자재시험비
- 위탁비와 현장 운영비 (보조요원의 급여와 현장사무질 임차료 및 운영비)
- 모형제작비
- 기타 당 소프트웨어 사업에 특별히 소요되는 직접비용 일체

여기까지 산출되고나면 최종 견적을 산정되는데
최종 견적가 = 개발원가 + 개발원가의 최대 25%까지의 이익 + 직접비용
이다.

여기서 또 Nego하겠지만...
혹시나 FP때문에 견적 못내고 계신 개발자 분들이 계신다면 참고하시기 바랍니다.
2010/03/08 17:00 2010/03/08 17:00

개인적으로 정리해버리는 UX에 대한 잡설

Developer 2010/02/22 09:17

한 몇년전부터 UX(User eXperience)가 화두가 되었다.
마침 미국쪽 다시말해 UX라는 개념을 소프트웨어 개발 산업에 적용했던 그 사람들과 간접적으로 일한적이 있었고 거기서 나온 산출물을 뜯어볼 기회가 있었다.

결론적으로 충격이었다.
대부분의 한국쪽 UX전문가가 Rich Client 즉, 기술적 접근을 하고 있을때
양키넘들은 유저가 겪게 되는 경험에 대해 이야기 하며 약간은 철학적 접근을 하고 있었다.

그속에 기술이라는 것은 없었다.
단지 기술을 담을수 있는 푸대(?)를 만들어 놓고 접근하고 있었다.

실례를 들어보면
UX전문가라고 하시는 분들을 만나서 인터뷰할때는 이론상에 있는 모습을 보여주지만 실제 산출물을 보면 UX 설계서라는 예전의 UI설계서와 다를바 없는 산출물을 내놓는다.

그러나 본토의 산출물을 보니 "User Story Telling" 을 거쳐 "User에게 줄수 있는 가치"를 찾아내는 과정이 UX설계 과정이었다.
즉, 이전에 UI설계나 Screen 설계도 나름대로의 의미를 가지고 진행된다.

먼저 USER Strory가 작성된다.
가상으로 USER가 우리의 Product를 이용할때 얻을 려는 가치를 가상의 Storyline을 설정하는 것으로 Baseline이 되는 가상의 소설이 작성된다.
유저가 가입할때부터 활동, 탈퇴 또는 다른 친구에게 추천 등등등 모든 경우수가 적용된다.
Story가 정해지면 몇가지 시나리오별 화면 UI가 도출된다.
UI의 컬러, 폰트까지 Story에 맞게 설정되며 그중에서 가장 Simple한 안이 제시된다.
그속에 어떤 기술을 넣을지는 전적으로 개발자가 결정한다.
단지 UX전문가들이 제시하는 고객이 경험해야할 가치를 실제로 구현하는 것은 개발자의 몫이고 고객의 경험 가치를 기획할 뿐이다.

이속에는 Rich Client든, SOAP이든, Linux든, Java든 이런것은 없다.
기술을 부어줄 큰 틀을 UX전문가들이 만들고 나면 거기에 어떻게 구현할 것인지에 대한 질문만 남게 된다.
그럼 개발자들은 어떻게 구현할 것인가를 결정하면 되는것이다.

최근 아직도 논쟁되고 있는 Java와 C#의 성능 논쟁이나 Linux, Windows에 관련된 논쟁을 바라보며 아쉬운 생각이 들어서 이런 글을 포스팅한다.

왜 이런것이 짜증나는가?
Java는 Java가 아주 잘할 수 있는 영역이 있다.
IBM계열의 Cobol과 같은 기간계 시스템을 웹으로 올리는데 있어 Java 는 매우 탁월한 솔루션이며 기 구축된 Java based의 시스템에도 아주 잘 맞는 솔루션이다.
또한 Oracle과의 환상의 궁합도 잊으면 안되는 부분이다.
C#은 Windows서버에서의 궁합이 최상이며 다른 계열에 적용하는것은 아직은 생각할 수 없다.
DB도 당근 MSSQL계열과 최상이고 더 최상의 쓰임새는 Windows Application을 만드는 것 자체이다.
우리가 쓰고 있는 수많은 Windows Application 중에 많은 것이 .NET계열로 코딩된다.

이처럼 서로 사용하는 성능만으로 무엇인가를 이야기 하기 어려운 부분이 있다.
나름대로의 쓰임새를 보고 결정하면 될일을 기술이라는 틀만 가지고 무엇인가를 하려하는 습성이 한국 개발자들에게 개발팀에게 너무 많이 남아 있는 것 같아 씁쓸할 따름이다.
기술에 맞추다 보니 결국 고객의 경험 가치는 무시되기 때문에 더욱 더 짜증나는 것이다.

2010/02/22 09:17 2010/02/22 09:17

Miku Dance Animation Tool

Memory 2010/02/01 17:49
3D 애니메이션의 작은 혁신!




제작자 사이트 : http://www.geocities.jp/higuchuu4/index.htm
2010/02/01 17:49 2010/02/01 17:49

요즘 개발하고 싶은 소프트웨어 목록

Developer 2010/01/28 00:37
천성이 개발자이니... 요즘 짜증나게 시리 기획이니 뭐니 하고 있기는 하지만... 쩝...
요즘 개발하고 싶은 어떻게 보면 개발자가 아닌 사람들 입장에서는 쇼핑 목록 정도?

1. 웹기반의 소셜 게임
소셜 네트워크가 근례에 정말 많이 퍼져있는데 특히 트위터와 매쉬업하여 인적 네트워크를 확보하고 팀대항 많이 운동하기 게임을 하는 것이다.
대항해 시대에 유럽에서 인도까지 누가 먼저 가느냐의 내기를 했던것 처럼 팀이 보유하고 있는 Nike+의 데이터로 배의 속도를 팀원이 달린 거리를 합산하여 계산하고 누가 먼저 인도까지 갔다가 엔트워프항구에 도착하는지 하는 내기를 거는 것이다.
가는길에 다른배의 공격을 받을수 있고 (아마도 거리가 5km 이내로 좁혀지면?) 공격받은시점에서 따라잡히면 그 배는 표류하는 신세가 되고 선장을 제외한 나머지 팀원은 공격한 배가 뺐어가는 시스템이라면 재미 있지 않을까?

2. AR 디스플레이와 핸드폰이 장착된 오토바이 헬맷
AR연구개발하다보니 아무래도 개인화 기술인데 너무 요소기술이 과장되어 있다는 생각이 든다.
인간이 사물을 보고 인지하는 것을 인간-기계-사물 순으로 중간에 무엇인가가 들어오는데 그 중간에서 어떻게 가공해서 인간에게 유익한 무엇인가를 줄것인가? 하는 것이 바로 핵심이라 생각된다.
그런데 아무리 봐도 USN망 또는 GIS가 컨버전스 되지 않으면 곤란...
결국 대한민국의 물류의 한축인 오토바이 기사아저씨들이 쓰고다니는 헬맷이 눈에 안들어온다면 거짓말이다.
헬맷에 핸드폰과 AR 디스플레이를 달아 놓으면 최소한 네비게이션과 DMB를 오토바이 아저씨들에게 줄수 있지 않을까?

3. 지능형 IPTV 디바이스
IPTV 셋톱박스가 너무 멍청하다.
IPTV의 셋톱박스를 가상화하여 그래픽도 서버에서 계산하는 방식으로 바꾼다면 XBOX나 PS3와 같은 게임도 구동할 수 있지 않을까?
그렇다면 게임을 구입할 필요없이 네트워크에서 일정 사용료만 내고 즐길수 있지 않을까 싶다.

4. 모바일 위키
아주 작은 핸드폰과 같은 크기의 흑백 디스플레이라고 생각하면 될듯...
거기에 메모리 넣고 검색하는 것으로 수정하면 Wibro를 통해 Wiki pedia에 저장된다.
이건뭐 너무 간단해서 금방 만들듯...

5. 프로젝트 툴로써 Dokuwiki 패키지화
프로젝트 공유툴을 TRAC에서 Dokuwiki로 바꿨는데 너무 맘에 든다는... T_T
 
6. 보조기억장치
이건 모바일 위키와 비슷한 컨셉의 기기인데 카메라가 달려있고 기억하고 싶은 것이 있다면 그냥 찍어둔다.
GPS좌표로 구글맵과 매쉬업하면 어디서 찍었는지 기억할 수 있고 메모하고 싶을때는 그냥 녹음, 타이핑해 둘수도 있다. 그리고 다른 사람의 디바이스를 만나면 공유해두기로 표시한 메모장이 다른사람에게 자동 전송된다.
그럼 다른사람의 생각과 느낌을 전달 받을 수 있고 나도 다른사람에게 메시지를 전해줄수 있지 않을까?
아날로그의 만남 + 디지털 매체라는 컨셉인데 지하철에서 부딪히는 수많은 사람들중에 어떤 인연이란게 있지 않을까 하는 생각이 들었다. 물론 Spam을 보내는 넘들을 위한 스팸 등록자는 서로 공유해서 퇴출시키는 시스템까지 묶이면 더 좋고...

2010/01/28 00:37 2010/01/28 00:37

실리콘벨리 전쟁에 대해...

Memory 2009/12/29 17:07
얼마전 실리콘밸리 전쟁 (Pirates of Silicon Valley)라는 영화를 보았다.
많은 부분들을 놓치고 있었지만 이영화의 핵심은 MS라는 코딱지가 당시 거대 공룡중 하나였던 Apple을 물먹이는 과정이다.

다른이들은 스티브 잡스에 열광할지 모르겠으나 나는 스티브 개쉐가 어떻게 사업에서 성공했는지 그 내막을 알고 있었기 때문에 정말 싫어했는데 이쉐의 나쁜 짖거리의 50%정도도 안되게 보여준다.
영화에서 나오는 장면은
 - 마약에 취해서 헤롱거리는 장면
 - 여친 임신시키고 유전자 검사까지 받고도 지 딸(리사)이 아니라고 우기는 장면
 - 개발자에게 밤샘 일을 시키고도 애플 문화를 따르라고 윽박지르는 장면
 - 참다 못한 개발자가 학대받기 싫다며 잡스를 줘패는 장면
 - 제록스에 사기쳐서 GUI 라는 혁신적인 인터페이스를 빼오는 장면
 - 사내에 애플과 맥 팀으로 나눠서 싸움 시키는 장면
사실에 비하면 이거는 아주 희석했다는 생각이 든다.
MAC을 개발할 시기에 잡스는 개발팀 전원을 방안에 가두고 문을 잠궈버리고 개발이 끝날때까지 나오지도 못하게 했던 일화에서는 기가 찬다.

아무튼 영화를 보면서 영화 내내 나오는 내용은 빌게이츠는 치졸한 인물이고 잡스는 위대한 인물이며 Windows는 MAC OS의 카피품에 불과하다는 내용을 계속 해서 떠든다.

그러나, 사실은 이와 다르다.

먼저 Windows NT의 개발에 영향을 미친것은 MAC OS가 아니라 정확히는 IBM의 OS/2이기 때문이다.
되짚어 보면 M$사의 IBM PC OS의 원형은 디지털리서치라는 회사의 CP/M이었다.
8비트 OS로써 당시로써는 획기적으로 하드웨어와 소프트웨어를 동시에 판매하였다.
사용자 삽입 이미지
이후에 16비트 IBM PC가 나오자 IBM의 협력업체였던 M$사는 탑재할 OS를 다시 찾게된다.
CP/M은 8bit의 OS로써 16비트의 CP/M 86은 세상에도 나오지 않았다.
결국 M$는 다른 OS를 찾게되는데 시애틀 컴퓨터사의 QDOS이다. 이름이 더욱 가관인데 Quick and Dirty Operating System으로 날림으로 더럽게 만든 OS라는 뜻이다.
M$는 개발이 느린 CP/M 86을 대체하기위해 QDOS를 86-DOS라는 MS-DOS의 원형으로 개발하게된다.
사용자 삽입 이미지

여기에 더욱 가관인것이 시애틀 컴퓨터는 M$사와 86-DOS의 재판매권과 M$ 소프트웨어 일체의 사용권을 교환하게된다. 물론 비용은 M$가 시애틀에 1만달러를 얻어주는 조건이었다.
이후에 일본의 컴퓨터회사들로부터 86-DOS는 구매요청을 받게 되고 빌은 7만 5천달러라는 돈으로 DOS의 사용권과 개발 등 모든 권리를 사들인다.

이후에 GUI시대가 열리면서 잡스가 "리사"라는 MAC의 원형을 개발하며 적용시킨 GUI를 IBM에서는 더욱 발전시켜 OS/2라는 시대의 역작을 만들면서 M$사를 참여시킨다.
(당시 IBM PC의 OS는 M$사가 거의 독점하고 있었으니 당연한 수순이었겠다.)

* IBM의 OS/2 ver 2.0 (1988년)
사용자 삽입 이미지

* Apple의 Lisa OS (1983년)
사용자 삽입 이미지
그러나, M$사는 여기서 배신때리고 나와버린다.
이미 그들에게는 1985년에 출시한 Windows NT라는 GUI OS가 이었던 것이다.

* Windows 1.0 (1985년)
사용자 삽입 이미지

그리고 M$는 IBM과 OS/2를 합작하며 만들었던 개념과 소스가 그들손에 다 들어온 이상 OS시장을 다시 장악하려는 IBM으로부터 도망쳐서 독자노선을 걸을수 밖에 없었던 것이다.
그때 빌의 앞에 서있었던 사람이 바로 DEC라는 거대회사의 OS인 VMS를 만들었던 데이비드 커틀러라는 인물이다. 1980년대 1990년대를 주도할 OS를 DEC소속으로 만들던 그가 프로젝트가 취소되자 바로 M$로 옮겨버린다.
커틀러의 최초의 프로젝트는 OS/2 NT 였고 커틀러는 VMS를 만들었던 경험을 통해 Windows NT를 구현하였다. (일부코드는 Windows 7에서 재사용되었다고 하니 설계를 얼마나 잘했는지 알만한 대목이다.)
하지만 나중에 회자되는 문제는 VMS와 WIN NT의 커널구조 및 관리방식 자체가 똑같았다.
단지 하나 틀린것이 있다면 Win32로 대표되는 내부 API이고 VMS와 다르게 스레드로 관리된다는 차이점 빼면 WIN NT의 커널은 VMS의 버전업이라 불러도 좋을 정도였다고 한다.

다시말해 영화와 실재가 다른점은 다음과 같다.
첫째, 잡스는 더 나쁜넘이다.
둘째, 빌게이츠는 타고난 장사꾼이었다.
셋째, M$가 GUI를 구현한것은 Apple의 GUI구현보다 매우 느린 1985년에서야 GUI를 확보한다.
넷째, 영화의 마지막에 게이츠가 애플에 투자해서 끝나며 화해하는것 같지만 지금도 누가보더라도 앙숙이다.
다섯째, 글뻥은 M$빠다. (니미..)
2009/12/29 17:07 2009/12/29 17:07

3년된 휴대폰을 사용하는 유저가 바라본 "iPhone"

Developer 2009/12/18 13:58

2002년이었나? 2001년이었나?
21세기를 맞이한지 얼마 안되던때에 제주도 사는 친구넘이 전화가 왔다.
"PC통신에 누가 PDA를 올려놨는데 니가 상태보고 좋으면 사줘"

서울사는 내 입장에서 당근빠따루다 부탁을 들어준다. PDA가 뭔지도 궁금하기도했고 내가 들고다니는 전자수첩과 무엇이 많이 다른지도 궁금했다.


사용자 삽입 이미지
위 사진의 IBM Workpad처럼 처음본 PDA는 흑백액정에 아무튼 촌티가 줄줄줄 흐르는 그런 물건이었던 것으로 기억난다.

아무튼 샤프사의 전자수첩을 들고다니던 내 기준에서 크래들이라는 충전거치대도 이해가 안됐고 프로그램을 추가 설치할 수 있다고 했는데 그런것도 별로 안보이고 그냥 그랬던 그런 기억이다.

그 이후에 Compaq(현재는 HP와 합병)의 IPAQ광고를 보고는 덜컥 질러버렸다. (한 20만원 줬나?)
사용자 삽입 이미지
윈도우CE와의 첫만남이었다. 당시에는 윈도우라는 명칭이 아니었고 Pocket PC 2002 뭐 그랬던것 같다. 다른 고급 PDA에 비해 얇은 사양이었지만 그래도 베터리 확장팩에 메모리 확장팩을 달면 도저히 주머니 속에 넣고 다닐 수 없었고 내가 이녀석을 사용한 목적은 Ebedded VB로 장난치려는 용도외에는 다른 어떤것도 없었다.
(물론 이녀석 가지고 게임도 설치해보고 나름 해볼짓은 다 해본다. 소설도 보고.... 만화도 보고... -_-;;)
그러나 사람을 질려 버리게 만드는 것이 있었으니...
그리고 나서는 할게 없었다. 이녀석을 가지고 프리젠테이션을 할 수 있는 것도 아니었고 그렇다고 매일같이 야근하고 출퇴근하는길에 회사 업무를 본다는 것은 거의 미친 "Work Holic"이나 가능한 일이었다.
거기다가 잦은 멈춤과 다운은 사람을 기가 질리게 만들어 버린다.

이후에 펌웨어업데이트해서 Pocket PC 2003으로 올린 기억은 있지만 여전히 맛이 가는 모습을 보여주며 기억의 뒷편으로 보내버렸다.

그리고나서 현재 모바일 개발로 업무를 할당받고 개발했던 여러가지 업무용 PDA폰들이 있었으며 결정적으로 LG전자의 PDA 폰을 손대게 되었다.
사용자 삽입 이미지
LG전자 연구소에서 시제품을 얻어온 이녀석은 이제는 제품명도 기억이 나지 않지만 2004년 여름부터 겨울까지 나를 노숙자로 만들기에 충분했고 역시 불만스러운 "싱크"기능과 데이터 요금등으로 수많은 민원에 시달리다 퍼져버리게 만들어 버린다.
이후에 지방근무하며 이것저것 만들던 와중에 업체에서 업무를 다 완료하지 못해 손을 댓던 장비가 아마도 블루버드PDA였던것 같다.

사용자 삽입 이미지

본격적으로 Windows Mobile 5.0 이 탑재된 모델이었고 그간 C#으로 뭔가를 해볼까 고민하던 내게 공부의 기회이기도 해서 고객에게 "걍 내가 만들텐데 일정은 보장 못하겠다"고 선언해버리고 자산관리 Application을 만들어 버린다.

이후에 개발할 기회가 또 없었다가 삼성의 옴니아와 애플의 iPhone(미국에서 공기계 공수~)을 2008년 가을부터 손을 대기시작했다.
사용자 삽입 이미지

사용자 삽입 이미지

생긴것은 매우 비슷하지만 퍼포먼스와 안전성은 iPhone이 높았다.
물론 우리의 개발과제에 iPhone OS 2.0은 미흡하여 차후에 제외가 되었으나 월등한 안정성과 조작의 편리함 기존 Windows계열과 다른 큼직큼직한 UI는 옴니아 단말기를 우리 팀원의 관심에서 멀어지게 만들어 버렸다.
그러나 플래쉬가 지원안된다는 점이나 블루투스의 Profile 변경이 안된다던가 몇가지 iPhone SDK에서 지원되는 기능만 써야 한다는 점등이 문제이긴 했지만 우리 입장에서는 다음 프로젝트에서는 iPhone이다! 라고 생각할 만큼 커다란 충격이었다.

더 큰 충격은 우리의 신입사원이 사용하고 있던 iPod Touch 가 iPhone과 같은 UI를 가지고 있었다는 것이다.
다시말해
MS가 지겹게 우려먹는 Windows Mobile은 PDA에서 출발하여 폰과 결합된 형태로 비즈니스맨을 위한 기기라면
Apple의 iPhone은 개인용 엔터테인먼트 기기인 MP3, PMP에서 출발하여 폰과 결합된 엔터테인먼트 기기 인것이다.

그런데 최근에 KT의 iPhone 광풍을 보면서 이상하다는 생각을 떨칠수가 없다.
1주간 10만대가 사전예약되었다는데...
애플의 앱스토어를 통한 컨텐츠 제공으로 제한되는 PMP가 결합된 폰을 구입하는 것이 이해가 안되는 것이다.
왜냐고? 바로 이통사의 고질적인 고액의 데이터 요금때문에 그러하다.

한달에 1만원도 2만원도 아닌 좀만 쓰면 10만원 훌쩍 넘어버리는 데이터 요금을 사용하면서 PC와 연동된 MP3, PMP 그리고 자신의 폰을 버린다는 것이 조금 이해가 안되는 것이다.

물론 이통망의 데이터 요금을 소모하지 않고 Wifi로 접근하는 유저들도 있겠지만 어찌됐건 iPhone의 유저가 늘어날수록 KT의 무선 데이터망은 점령당할 것이 명약하기 때문이다.
(물론 그 통행료는 쌀 한가마니 정도에 육박하는 금액이 나올수도 있고 넘을수도 있을것이지만...)

거기다가 스마트폰의 특징은 유저가 매우 부지런해야 한다. 다시말해 지금까지의 폰은 이통사8, 제조사2로 추천해주는 기능을 사용했다면 iPhone을 포함한 거의 모든 스마트폰은 스스로 디바이스(폰)을 커스텀해서 사용해야 제대로 쓸수 있다는 뜻이다.

iPhone은 Windows Mobile폰에 비해 50보 100보차이일뿐 똑같은 스마트 폰으로 과연 넷북과 비슷한 가격의 제한된 기능으로 사용할 만한 가치가 있을까?

물론 만드는 사람이 비교적 투명한 앱스토어를 통해 수익을 나눠가진다지만 한국에서 글쎄?

일단은 지켜봐야 하는 시장 동향임에는 반론하지 않겠지만... iPhone만 지금 전쟁의 참여자가 아니라 구글의 안드로이드도 있으니 MS, Apple, Google의 3파전을 지켜 보는것도 나쁘지만은 않다.

그리고 마지막으로 ZUNE HD라는 M$사의 MP3 Player 동영상이다.
왜 내가 2010년이 기대되는지 또 3파전이 기대되는지 들뜨게 만드는 그런 것이다.


2009/12/18 13:58 2009/12/18 13:58