2013년 8월 30일 금요일

2013-11 <경제경영연구> ①빚의 습격

들어가는 글: 프로그래밍만큼이나 난 경제/경영에 관심이 많다. 언젠가는 경제/경영에 관한 글을 써보리라 생각을 했는데.. 이제야 실천에 옮기는 것 같다.

0. 경영학 입문 

내가 경영학을 처음 배우게 된 것은 3년간의 병역특례기간에서 그 필요성을 느꼈기 때문이다. 내가 다니던 회사는 순수하게 엔지니어들이 창업한 회사로 , 내가 다니던 내내 소위 '갑'에게 맨날 무언가 휘말려드는 느낌을 지울 수 없었던 것이다.

울 회사 부사장님은 일본 동경대 박사님이고 서울소재 oo대학교의 교수님이신데 막상 실무에서는 계속 밀리는 거다.

음.. 공학이 전부가 아니구나! 복학하면 경영학을 배워보자!
그리고 30학점 쯤 듣고 부전공을 하게 되었는데 아직까지도 그 흥미는 여전하다.

1. 빚이란 무엇일까? 

역사적으로 우리는 필요에 의해 화폐(money)를 발명하였다. 최초의 목적은 편리한 물물교환의 도구(tool)였다. 화폐의 기능에는 지불기능, 물물교환기능, 가치척도의 기능 등등이 있다. 경제학 원론 교과서에 보면 잘 설명되어 있다.

이번엔 돈에 사회를 붙여보자.

자본주의 사회에서 화폐는 상품이다. 화폐는 자산(asset)이다. 왜냐?

돈이 누군가에게 빌려지는 순간 그것은 이자(interest)를 만들어내고 상대방(채권자)에게는 빚(debt)이 되고 갚아야 할 의무(liability)가 생기는 것이다.

    "빚은 상품으로서의 화폐의 활용이다."
    "Debt is sales of the money as a product"  by 유동환


2. 빚의 우월성 

빚은 일반 상품보다 우월하다. 빚에는 물리적인 감가 상각이 없기 때문이다. 자동차의 경우 사고나서 중고로 팔게되면 그 가치의 30~40%는 즉시 할인된다. 하지만 빚은 그런 것이 없다. 단, 물가가 오르게 되면 그 만큼 진짜 가치가 떨어지게 된다.

소위 말에 명목 가치(nominal value)와 실질 가치(real value)에 대한 이야기다.

매년 물가가 5% 오른다고 가정하면,
오늘의 100만원은
내년의 95만원 만큼의 가치(real value)를 가지는 것이다.
같은 금액(nominal value)인데 말이다.

3. 빚의 습격

앞서 경제학 용어가 자꾸 나와서 미안한 생각이 들지만,
경제/경영에서 돈에 관련된 용어는 알아두면 생각보다 유용하게 쓰인다. 하다못해 경제 신문을 봐도 위의 개념은 기본적으로 깔고 간다고 생각하면 좋겠다. 양해를 바랍니다.

가끔 뉴스를 보면 이른바 '빚의 습격'을 목격할 수 있다.

   가계부채 959조원 (2012년 말, 한국은행)

"지난해 연간 소득에서 세금과 공적보험료, 이자비용 등을 제외하고 실제 쓸 수 있는 돈이 1000만원인 가계라면 빚은 1356만원으로 더 많다."[1]

생각만 해도 무시무시한 일이다.

   한국 국가 부채 1000조원 (2013년) .. GDP 30% 수준

우리나라 대한민국의 부채도 1,000조원이다. 가계 부채는 별도로 하고 말이다. 이중 절반인 500조는 공공기관의 부채라고 한다[2]

  서울시 채무는 총18조5468억원 (2013년) [3]

여기저기 빚의 흔적을 쉽게 찾아볼 수 있다.

  한때 미국 4대 도시, 디트로이트 무너졌다 T_T 



4. 빚의 습격 vs 경기 불황


난 경제학을 공부하면서 이런 생각을 했다. 과거 30~40년전에 경제가 호황이고 활황인 이유는 인류가 발생시키는 경제적 가치가 아마도 화폐가치의 총량보다 더 컸기 때문이다.

   인류의 경제적 가치 > 화폐가치의 총량 => 경기 활황


이후 경제성장율이라는 기대심리를 충족시키기 위해 각국은 돈을 열심히 찍어낸다. 아쉽게도 인류의 경제적 가치는 그 만큼 쉽게 늘어나는 것이 아니다. 기술 개발이니 이노베이션이니 해도 팍팍 늘어나는게 아닌 것 같다.

  인류의 경제적 가치 < 화폐가치의 총량 => 장기적 불황 


어떤 근거가 있는 내용은 아니고 혼자서 상상해본 결과이다.

내 생각에 전셰게적으로 빚이 팍팍 늘어가는 상황에서는 예전 같은 경기 호황은 기대하기 어려울 것 같다. 어쩌면 경제불황은 이미 우리의 일상 환경이 된 듯 하다.


5. 그러면 어떻게 할 것인가?

조금은 우울한 결론이지만,
앞으로의 경제는 지속적으로 불황일 것이고, 빚의 습격은 도처에 널려있다.

한명의 가장으로서, 한명의 사회인으로서 빚을 절대 우습게 보면 안된다.

빚과 그림자(?)인 이자.. 에 대한 리스크 분석을 면밀히 해서
이자를 넘어서는 가치를 창출할 수 있을 때만 빚을 사용해야 하는 것이다.
절약하면 더 좋은 것이고..

과거의 기업은 적극적인 투자를 통해서 수요 및 일자리를 창출해왔다면
현재의 기업은 영업이익 및 현금보유고를 늘리고 '고용없는 성장'을 추구하는 경향이 있다는 사실을 간과하지 않았으면 좋겠다. 특히 국내 주요 대기업 및 상장사에서도 예외는 아니라고 들었다.

빚의 습격은 계속 되고 있다.


Reference: 

[1] 연 가처분소득 1000만원인데 빚이 1356만원 가계부채 비율 역대 최고  (한계래신문)
     http://www.hani.co.kr/arti/economy/economy_general/584460.html

[2] 공공기관 부채 500조·나랏빚 1천조
     http://weekly.hankooki.com/lpage/sisa/201305/wk20130503153015121210.htm

[3] 朴시장 취임 이후 서울시 채무 1조4405억원 감축
    http://news1.kr/articles/1228308
   

2013년 8월 21일 수요일

2013-10: 집중 vs 탐색


0. 개념의 모호함

어제 올린 이루는 법[1]이라는 글을 쓰면서 나는 살짝 의문이 들었다. 하루의 시간을 집중하는 시간, 탐색(대화, 의사소통)하는 시간 등으로 분류하였는데 그의 구분이 모호해서이다.

집중하면서 탐색할 수 있고,
탐색하면서 집중할 수 있다.

이게 문제다. 어떻게 하지?


1. 다시 풀어보기

집중하는 시간은 남들에게 방해받지 않고 온전히 자기가 가진 전력을 다해서 어떤 목표를 달성하는 행위를 의미한다. 일점 집중하여 주어진 목표를 향해 나아가는 시간이다. 다른 사람과 의사소통은 거의 하지 않는 시간이다. 오히려 주의가 산만해질 수 있다.

탐색하는 시간은 다른 사람과 대화를 하거나 의견(정보) 교환을 하는 시간이다. 중요한 포인트는 어떤 외부의 대상이 존재해야 한다는 것이다.

이렇게 길게 풀어보면 어느정도 구분이 되지만.. 여전히 의문점은 남는다.

몰입(Flow)라는 책에서 저자는 하루의 시간을 아래과 같이 분류하였다.

생산 활동: 근무나 공부 등 .. 24~60%
유지 활동: 기사, 식사 등 .. 20~42%
여가 활동: TV, 취미 등 ..   20~43%

위의 분류는 너무나 일반적이서 그걸 가지고 새로운 생각을 이끌어내기는 어렵다.

2. 시간의 주체

집중하는 시간은 스스로 창조해야 하는 시간이다. 업무시간중이건 아니면 퇴근 후 여가시간이건 외부의 인터럽트를 차단하고 온전히 주어진 목표를 향해 달려가는 시간이다.

탐색하는 시간은 상대적으로 자신의 의하기 보다는 타인에 의해 요청받는 시간이다.

직업에 따라 집중하는 시간이 많을 수도 있고 탐색하는 시간이 많을 수도 있다. 예를 들어 영업, 관리 직군의 경우 탐색하고 대화하고 회의하는 시간이 많을 것이다. 하지만 연구개발직군의 경우는 그 반대다.

연구개발직군이라고 하더라도 실제 일상을 뜯어보면 스스로 창조해나가는 집중의 시간은 그리 많지 않을 것으로 생각한다. 내 자신을 봐도 그러니 말이다.

집중의 시간은 주어지지 않는다.
집중의 시간은 스스로 창조해야 한다.

창조라는 말이 거창한 것 같지만 create는 없는 것을 만들어낸다는 뜻이다. 업무시간에는 자기에게 주어진 업무를 해야 하는데 이때 집중할 수 없을 정도로 바쁜 시간은 집중의 시간이라기 보다는 탐색의 시간이라고 불러야 할 것이다.

우리에게는 온전히 스스로 만들어낸 시간이 필요하다.

몰입의 시간.. 머 이런 단어는 너무 거창해서 사양하고 싶다.

Reference:

[1] 이루는 법: http://donghwanyu.blogspot.com/2013/08/2013-09.html

2013년 8월 20일 화요일

2013-09: 이루는 법

들어가는 글: 목요일까지 여름 휴가기간인데, 어제 강원도에서 돌아왔다. 오늘 내일은 푹 쉬어야지. 무더위에 샤워를 하는데 문득 이 제목이 떠올랐다. '이루는 법'. 주어가 없네? 하지만 어떤 일을 달성하는데는 어떤 일정한 법칙이 있지 않을까 하여 몇자 적어본다.


0. 의식의 상태

서로 다른 직업을 가지고 있지만 하루동안 얼추 하는 일을 보면

1) 집중하는 시간
2) 탐색하는 시간 (여기서는 여러가지를 찾거나, 다른 사람과 의사소통하는 것 포함)
3) 휴식하는 시간
4) 기타 이도저도 아닌 시간

이정도가 있는 듯 하다.

그리고 어떤 일을 이루는 확률도 숫자에 대략 의미를 부여해보면

1) 90% : 거의 확실
2) 80% : 예외상황이 없으면 확실함
3) 60~70% : 될 것으로 기대함
4) 51~60% : 간당간당
5) 그외 : 확률 낮음

오늘은 적어도 60~70%을 만드는 법을 알아보자


1. 목표 세우기: +15% 

아주 진부한 얘기지만 어떻게 목표가 없이 '이루는 것'이 가능할까?
맨날 나오는 SMART 원칙에 따라 목표를 세워보자. 목표 없이는 이루는 것은 불가능하다.

S(Specific) : 구체적으로
M(Measurable) : 측정할 수 있게
A(Attainable) : 달성가능한 목표만
R(Relevant) : 적절하게^^;; (이건 그냥 붙인 듯 하고)
T(Time bound) : 시간내로

위의 요소를 모두 기술할 필요는 없지만 참고하면 도움이 될 듯 하다.


2. 목표 알리기: +15% 

혼자 세우는 목표는 아무런 구속력이 없기 때문에 아무리 잘 명시를 해놓았더라도 달성할 '이유'가 없다. 또다른 더 중요한(?) 목표가 생기면 언제 그랬냐는 듯이 사라지기 쉽다.

따라서 '이루고' 싶은 목표는 반드시 공개를 해야 한다.

누구에게 어떻게 공개를 하면 좋을까?

내 경우 Facebook같은 SNS를 적극 추천하고 싶다. 다소 오골오골 하지만 자신의 목표를 누구에게 얘기하기도 한국정서에는 좀 민망하고 Twitter가 되었건 Facebook이 되었건, 자신의 블로그가 되었건 일단 공개(publish)를 해보는 거다. 몇번 해보면 전혀 부끄럽지 않다.

그리고 여담이지만 목표 달성에 실패한다고 해도 누가 댓글 다는거 못 봤다.

하지만 공개하지 않는 것보다는
훨씬더 효과적이다.


3. 집중하는 시간을 늘린다: +15% 

하루 종일 우리는 바쁘다. 좀더 정확하게 표현하면 분주하다. 수많은 급하고 중요한(?) 일들이 우리를 괴롭히기 때문이다.

어떤 목표를 달성하기 위해서는 집중할 수 있는 시간을 늘려야 한다.

1시간도 좋다.
2시간이면 더 좋다.

어떤 책에서 보니 퇴근 후 하루에 3시간을 집중하는 시간으로 확보할 수 있으면 인생이 바뀐다고 한다. 하루 3시간 * 333 = 1,000시간 확보할 수 있고 그것이 10년이 쌓이면 10,000시간을 확보할 수 있다는 것이다.

말이야 쉽지.. 현대 직장인에게 하루 3시간의 집중하는 시간을 따로 내라는 것은..
음.. 칼퇴할 수 있는 직장에서나 가능한 일일 것이다.

아련한 칼퇴의 추억..

하지만 매일 칼퇴할 수 있다고 하더라도 끈기있게 하루 3시간을 확보할 수 있는 사람은 정말 무언가 이뤄낼 것이라고 확신할 수 있겠다. 나도 그런 사람을 꿈꾼다.


4. 과정을 기록한다: +10% 

기록에는 힘이 있는 듯 하다. 특히 어떤 목표를 이루어가는 과정을 적는 것은 그 자체로도 '교정'의 효과가 있는 듯 하다.

맨처음 2006년에 독서 목록을 적기 시작했다. 일년을 해보니

2006년 : 30권 돌파
2009년 : 40권 돌파
2011년 : 50권 돌파

할 수 있었다. 책 권수에 욕심을 낸 적은 없었고 단지 적었다. 한권 읽을 때 마다 , 장르 , 제목 , 페이지 수 , 출판연도 정도를 적었다. 그리고 매년 그 양식을 조금씩 개선해 나갔다.

과정을 기록하는 것은 그 자체로 교정의 효과가 있고,
누적적으로 그 과정을 개선해가는 효과가 있다.

과정기록의 교정 및 누적개선 효과라고 부르겠다.


5. 긍정적인 결과를 상상한다: +10% 

만화 슬램덩크에 보면 서태웅은 매일 잠들기전

'나는 최고다. 나는 최고다'

하는 말을 웅얼거리고 잠든다.

그리고 내가 읽었던 꽤 많은 책들을 보면 내가 바라는 성공의 모습, 목표가 달성된 모습을 매일밤 상상하는 것을 강조한다. [카르마 경영, 시크릿, 생명전자, 두뇌가동률을 높여라 외]

솔직히 상상하는 것만으로 내가 원하는 바가 이루어진다는 것은 비합리적이다. 하지만 위의 1~4번이라는 노력을 어느정도 해놓은 상태에서 내가 원하는 바를 머리속으로 상상하고 잘 되었으면 좋겠다라고 지속적으로 그게 맞게 행동하는 것은 이루는 확률을 확실하게 끌어올려 줄 것이다.

최근의 나를 예로 들어보면 Tasks라는 app을 새롭게 담당하면서 아래 3가지를 지속적으로 상상하고 있다.

1) 버전 branch가 줄었으면 좋겠다.(당시 5개)
2) 기획팀과 UI팀과의 마찰이 줄었으면 좋겠다.  
3) 한사람에 집중된 업무가 분산되었으면 좋겠다.

내가 파악한 Tasks팀의 취약점이었고 그것만 해결되면 현재의 과부하 상태를 크게 개선할 수 있을 것이고 확신했다.

약 2개월이 지난 지금

1) 버전 branch는 5개 -> 3개로..
2) UI팀과의 원활한 협조가능해짐: 담당자를 1명 -> 2명으로 변경 및 인원교체
3) 업무 분산: 1명이 담당하던 업무 -> 각 branch별로 분담시킴

적어도 한명이 빠지게 되면 큰 문제가 발생하는 single-point failure상태는 벗어났다.

내가 원하는 상태를 속으로 생각하는 것 뿐만 아니라 주변인들에게도 지속적으로 그 생각을 전파시켜야 한다.


결론. 65% 성공 가능성을 확보했다. 

아주 단순한 논리로 내가 원하는 목표를 이루는 법을 알아봤다.

1) 목표 세우기: +15%
2) 목표 알리기: +15%
3) 집중 늘리기: +15%
4) 과정 기록하기: +10%
5) 결과 상상하기: +10%
------------------------
합계 : 65%

당연한 얘기지만 원하는 바를 이루기 위해서는 열심히 해야 한다.
그것은 누가 모르겠는가?

하지만 열심히 하는 것만으로는 목표가 잘 달성되지 않는 것 같았다.
왜? 내가 어떤 것을 해야하고 , 왜 해야 하는지 모르니까.

시켜서 하는 일은 알아서 목표도 세워주고(+15%) , 목표도 알려주고(+15%) , 과정도 보고해야 하고(+10%) 해서 기본적인 달성확률(40%)을 가지고 시작한다.

 누가 시켜서 하는 일은 기본확률 40%이다. 

스스로 하는 일은 이런 것 없이 0%에서 시작해야 한다. 그러니 얼마나 성공확률이 낮은가! 그만큼 충분한 인프라를 갖추고 시작해야 하는 것이다.

위에서 제시한 5가지 사항이 원하는 일을 '이루는'데 탄탄한 인프라가 되었으면 좋겠습니다.

감사합니다.

2013.8.21 @Home

Ps. 여름휴가기간 조용하고 좋네요^^
소요시간: 1시간 (12:20 ~ 13:20)

2013년 8월 15일 목요일

2013-08: 고급 SW엔지니어로 가는 길 ②쉬운글쓰기

들어가는 글: 첫번째 글에서 고급 SW엔지니어는 마법사를 비유로 하면 단체 마법(range attack)을 구사하는 특징을 얘기하였다. 오늘은 written communication의 관점에서 쉬운글쓰기에 대해서 알아보자.

0. 내 얘기

10년전쯤 처음 직장생활을 했을때 일이다. 나는 주변에서 이런 평가를 받고 있었다.

"동환이는 글을 잘 쓰는 것 같은데.. 글이 너무 어렵다"

라는 것이다. 음.. 난 그 얘기를 한 5년쯤 후에 이해하게 되었는데, 그 이유는 바로 하나의 문장에 너무 많은 이야기를 담으려고 노력했다는 것이다. 위의 '글을 잘 쓰는 것 같은데..'는 내가 어떤 문장을 쓸 때 꽤나 많은 노력을 한 흔적이 보였다는 것이고.. '글이 너무 어렵다'라는 얘기는 그 문장을 읽었을 때 그 의미가 잘 와닿지 않는다는 얘기이다.


1. 쉬운 글 쓰는 방법 

쉬운 글의 반대말은 어려운 글이다. 즉, 어려운 글을 쓰지 않으면 그것은 상대방에게 '쉬운 글'로 인식이 된다는 것이다.

그렇다면 어려운 글은 무엇일까?

1) 어려운 단어, 전문 용어를 많이 쓴다.
2) 한 문장에서 여러가지 얘기를 한다.
3) 문장을 길게 쓴다.
4) 주어를 생략한다.

오늘은 위의 4가지에 대해서 알아보자. 우리는 SW 엔지니어, 기술자이므로 회사에서 기술에 대해 상사에게 보고하거나 동료에게 이메일을 쓰거나 후배를 위해 기술 문서를 쓰는 경우가 종종 있을 것이다.


2. 전문용어는 최소한으로 쓰자 

전문 용어는 어떤 의미를 명확하게 할 때 쓰이는 것이다. 마구 남발하면 오히려 주의가 분산될 수 있다. 예를 들어 같은 영어 단어이지만 분야에 따라 다르게 쓰이는 단어는 얼마든지 있다.

security

이것을 보안으로 해석을 하면 컴공 분야 종사자일 것이고, 만약에 금융 종사자에게는 '유가 증권(securities)'을 의미한다. 나도 경영학을 처음 배울 때 놀랐다.

frequency

일반적인 문과 학생에게는 '빈도'라는 뜻이지만 전자과 학생에게는 '주파수'라고 해석될 수 있다.

이렇듯이 전문 용어는 그 분야에서만 통용되는 단어로 전문 용어를 많이 쓰면 그 문서는 필요이상으로 어렵게 될 수 있다. 더구나 전문용어(jargon)을 자주 쓰면 본인이 전문가가 된 것 같은 착각 효과를 느끼기 때문에 더욱 주의해야 한다.


3. 한 문장에서는 한가지 얘기만 하자 

우리는 하고 싶은 얘기가 많다. 팀장님께 보고할 때 '두괄식'으로 하는 것이 효율적이겠지만 내가 이러쿵 저러쿵 해서 목표한 바를 현재 요만큼 밖에 달성하지 못했다고 구구절절하게 보고하고 싶은 것이 일반적이기 때문에..

지금의 나처럼 필요이상으로 문장이 길어질 수 있다. 길면 산만해지고 본인이 전달하고 싶은 얘기를 명확하게 전달하기 어렵다.

문장은 단문(simple statement)로 한가지 얘기만 쓰는 것이 좋다. 즉, 긍정적인 얘기와 부정적인 측면을 모두 다루어야 한다면 문단을 분리해야 하는 것이다. 한 문장에서는 한가지의 색깔만 가지는 것이 좋다.

읽는이에게 '이게 지금 하겠다는 거야 말겠다는 거야?' 아니면 '그래서 어쩌라고?'라는 생각이 들도록 문서를 작성하면 안된다.

직장 생활을 하는 프로페셔널은 의사 결정자가 신속하게 판단(decision making)을 할 수 있도록 본인의 의견을 분명하게 적어주는 것이 중요하다.

한문장에서는 한가지 얘기만 하자.


4. 문장은 짧게 쓴다. 

위의 얘기와 크게 다르지 않다. 길수록 논조는 흐려진다. 그리고 접속사는 많이 쓰지 않는 것이 좋다. '그러나'와 같이 강조를 하는 논법이 아니라면 필요한 내용만 적는 습관이 필요하다.

원하는 내용을 짧게 기술하자.
그러면 저절로 쉬워진다.


5. 주어를 생략하지 말자. 

국어의 특성상 서술어가 문장의 중심이 되는 경우가 많기 때문에 주어를 생략하는 경우가 많다. 하지만 회사에서 사용하는 업무상의 문서를 작성할 때는 주어의 여부에 따라 어떤 귀책이 정해지는 경우가 많기 때문에..

주어를 잘 쓰는 것은 전략적으로 매우 중요하다.

필요하다면 강조하고 싶은 주어를 반복적으로 사용하는 것도 좋다. 특허 글을 읽어보면 같은 주어가 수십차례 반복된다. 물론 이렇게 하면 글을 읽는 것이 매우 지루해질 수 있지만 분명한 의사표현을 하는데는 그만한게 없다. 오해의 소지를 줄일 수 있다.

사례를 들어주면 정말 좋겠지만.. 아쉽게도 이 글은 집에서 작성하는 글이고..

추후에 사례를 곁들일 것을 약속한다.

주어를 잘 명시하는 것은 꽤나 중요하다.


6. 쉬운 글을 쓰자 

쉬운 글이라는 것이 정의하기 어렵기 때문에 오늘은 '어려운 글'을 피하는 방식으로 접근하였다. 프로그램을 할 때도 마찬가지지만 내가 작성하는 문서는 결국 다른 사람이 읽고 이해할 수 있도록 하는 것이 중요하다.

본인의 지식을 뽐내는 것이 아니다.

그리고 문서로 전달할 수 있는 것은 생각보다 매우 한정적이어서 진짜 중요한 정보는 직접 마주보고 전수되는 경우가 많다.

하지만 모든 것을 직접 커뮤니케이션에 의존할 수 없을 때 문서의 존재 가치가 발생하는 것이다.  말하고 싶은 것을 '글'로 분명하게 남기어 전달할 수 있는 능력은 고급 SW엔지니어를 지망하는 사람에게 매우 중요하다고 강조하고 싶다.

2013.8.15 @Home

Ps. 오늘은 좀 급조한 면이 있네요. 다음에는 사례를 곁들여 좀더 실감나는 글로 만나뵙도록 하겠습니다.

2013년 8월 9일 금요일

2013-07: 고급 SW엔지니어로 가는 길 ①Scrum

들어가는 글: 최근 부서이동으로 새로운 사람들, 새로운 role 그리고 새로운 기술set을 익혀야 하는 상황이 되었다. 이왕하는 것.. 이번에는 내 단계를 업시키는 기회로 삼아보리라 결심했다. 다소 야심적인 주제인.. 고급 SW엔지니어로 가는 길을 기획하게 되었다.

0. 고급 SW 엔지니어란 무엇일까?

가장 고전적인 방법은 SW진흥원에서 발행하는 SW인력 노임단가에 명시되어 있는 기준을 사용하는 것이다.

 - 고급기술자 : 기사 자격 취득 후 6년 이상의 SW 기술 분야의 업무를 수행한 자

회사에서 말하면 대충 과장(선임연구원)정도 되는 것일 것이다.

하지만 바꾸어서 말하면 과장이면 고급 엔지니어인가?에 대해서는 누구도 시원하게 대답을 못할 것이다. 차장이면 특급 엔지니어인가? 는 더더욱..

SW엔지니어의 등급을 RPG 게임의 마법사라고 가정해보자.

 - 초급 마법사 : 약한 마법(에니지소모 low , 데미지 low) 구사
 - 중급 마법사 : 강력한 마법(에너지 소모 mid , 데미지 high) 구사 ex) 물계열 , 불계열
 - 고급 마법사 : 단체 마법(에너지 소모 high , 데미지 mid ~ high) 구사

내가 정의하는 고급 SW 엔지니어는

 - 고급 SW 엔지니어 : 자신이 담당하는 개별 SW 뿐만 아니라 좀더 넓은 범위에 파급력을 줄 수 있는 SW 엔지니어, (기술적인) 의사소통 전문가, 코치 , 분석가 , 아키텍트 등.

(기술적인) 의사소통 전문가가 들어간 것은 특히 대기업에서 적용되는 기준일 것이다. 만약 본인이 기술적인 topic을 가지고 수많은 이해관계자 부서와 Project Leader 혹은 Sub-Leader로서 활동하고 있다면 이미 고급 SW엔지니어라고 할 수 있다.

어떻게 단체 마법을 걸 수 있을까? 동시에 파급효과는 low 아니고 mid ~ high로..말이다.
그것이 어렵다.


1. 고급 SW 엔지니어 vs 스크럼 


스크럼은 Agile 방법론에서 사용하는 개발 방식으로 당연히 모든 개발에 해당하는 것은 아니다. 스크럼이 효과적인 프로젝트는 상대적으로 BSP, Device drivers 보다는 UI , 기획들과 자주 상대하게 되는 Application이 더 적절하다.

스크럼은 단순하다. 스크럼의 구성요소는 아래와 같다.

 - Product Owner(PO) : SW제품의 총 책임자 (not 파트장, 팀장, 조직책임자)
 - Scrum Master(SM)  : 스크럼 진행자. 외부 공격으로 부터 개발팀을 지켜야 한다.
 - Scrum 팀원 : 개발자들
 - Product Backlog : 개발할 항목들
 - Sprint : 스크럼은 2주 ~ 3주 단위의 시간을 스프린트(전력질주)라고 부른다.
 - Velocity : 팀의 집중도 (자세한 얘기는 아래서..)
 - Burndown chart : 우리가 잘 일하고 있는지 보여주는 차트

더이상 뺄수 없을 만큼 diet을 했을 때 스크럼에서는 위의 7가지가 남는다.


2, 스크럼은 무엇인가? 


실컷 구성요소를 얘기해놓고 이제와서 스크럼이 무엇이냐 느냐? 라고 얘기할 수도 있겠지만 사실 스크럼이 무엇인지 정의를 내려놓고 하면 오히려 더 햇갈릴 거 같다. 왜냐?

정의(definition)라는 것은 함축되어 있기 때문에 오히려 더 어려울 수 있기 때문이다.

수많은 SW엔지니어들은 자기 업무에 뚱뚱한 개발 방법론이 적용되는 것을 본능적으로 거부한다. 왜냐? 그런 것들은 한번 조직에 도입되면 빼기가 정말 힘들기 때문이다. 조직이론에 대한 것으로 어떤 것으로 도입하는 것은 도입자의 실적이 되지만 그것을 도려낸다는 것은 그 사람에 대한 공격으로 생각될 수도 있기 때문이다. (사실 도입자는 그렇지 않을 수도 있다. 어느 정도 시간이 지나면 오히려 그것이 조용히 사라지기를 원할 수도 있다)

스크럼으로 다시 돌아가자.

 - 스크럼 : 2~3주간 외부의 인터럽트를 받지 않고 열라게 BackLog에 나와 있는 내용을 개발하는 활동

좀더 뜯어 보자.
> 2~3주간 : 이것을 스프린트라고 한다. 전력질주
> 외부의 인터럽트를 받지 않고 : 이것을 스프린트라고 한다.
> 열나게 : 이것을 집중도(velocity)라고 한다.
> BackLog : 개발할 내용

이제 조금 이해가 되는가?

원론적인 스프린트는 '마징가 개발 프로젝트'와 같은 닫혀있는 개발방법으로 BackLog에서 합의된 내용을 정해진 기간동안 그것만 집중하여 개발하는 방법이다.

이렇게만 될 수 있다면 우리는 정말 많은 일을 할 수 있을 것이다.

주말에 나홀로 사무실에 나와 홀연히 코딩을 할때의 그 생산성을 상상해보라!


3, 스크럼은 집중도 싸움


하지만 현실을 보자. 우리는 절대로 100% 집중할 수 없다. 수많은 SW bugs, 고객의 신규 요구사항, 사장님/임원의 긴급 요구사항 등등 매일 수많은 메일에 시달리고 있는 것이다. 

그런데 집중도 100%의 스크럼이 가당키나 한가? 

사장님의 긴급 urgent emergency 요청을 2주간이나 기다리라고 할 수 있는가? 

한두번은 가능하겠지... 
하지만 지속가능하지 않다. 

    "스크럼은 본인 팀의 적절한 집중도를 찾아가는 방법이다."(유동환)  

위에서 언급되지 않았던 PO(Product Owner)와 SM(스크럼 마스터)의 역할은 이때부터 시작된다. 

추가적인 단어를 배워보자. 

   - 스프린트 시작회의: 스프린트를 시작하기 전에 이번 스프린트동안 개발할 BackLog에 대해서 얼마나 시간이 소요되는지 일정 산출. 꼭 해야할 것과 그렇지 않은 option 사항을 결정한다. PO가 먼저 제안하고 회의때 합의한다. 
   - 스프린트 회고: 스프린트 기간이 끝나면 산출물을 데모하고 배운점(Lesson learned)을 서로 회고하고 공유한다. 짤막하게 남겨 놓는다.  


4. 집중도는 작게 시작하자: 25% 부터~ 


책에는 70%정도가 적절하다고 한다. 하지만 70%정도가 되려면 진짜 외부 인터럽트가 다 차단되고 사전에 관리되어 있는 높은 수준에서만 가능한 수치라고 생각한다.


외부 인터럽트는 스프린트 시작회의에서 논의된 것이 아니라면 모두 인터럽트이다. 즉, 집중도를 까먹어야 한다.

외부 인터럽트는 가능한 최대한 협상을 하여 다음 스프린트에 뺄수 있으면 좋겠지만 꼭 필요한 것은 해야 한다. 그것은 다음 스프린트의 집중도를 산출할 때 감안되어야 한다.

부담없이 25%부터 시작하자. 어떤 팀은 100% 인터럽트성 업무만 해야할 시기(period)라면 집중도 0%라고 하자. 스크럼은 개방된 개발 방법론으로서 최대한 모든 사항을 open시키는 것을 원칙으로 하고 있다.


5. 예측하는 것은 누구나 싫어한다. 


어떤 개발 항목이 나왔을 때 그것이 얼마 걸려요~ 하는 것은 가장 난이도가 높은 고도의 심리적인 작업이다.

1) 기술적으로 순수 구현했을 때의 시간  ... 개발자의 가장 잦은 실수
2) 제품 출시나 외부에서 바라보는 요구되는 시간 ... 영업혹은 윗선의 push
3) 내부적으로 투입할 수 있는 집중도 ... 그동안 쌓여있는 업무

위의 3개를 종합적으로 때로는 조직적으로 검토를 해야 합리적인 일정이 산출될 수 있다.

하지만 고급 SW엔지니어는 예측할 수 있어야 한다.


6. 결론 


나는 이번주부터 2개의 Application의 스크럼 마스터를 맡게 되었다. 이론적으로는 위와 같이 장광설을 풀었지만 실전에서는 어떻게 효과를 발휘할지 아직 본인도 예측할 수 없다.

그러니까 고급 SW엔지니어 지망생일 것이다.

나는 그 두개의 App에 대해 전혀 사전 지식이 없으며 순수하게 Scrum Master로서 참여하고 있다.

 > 개발팀 소속의 스크럼 마스터(A형) vs 외부에서 온 스크럼 마스터(B형)

어떻게 달라질까? 내 주변에는 A형이 80% , B형이 나 포함 20%이다. 혼자는 아니다
앞으로 어떻게 발전할지 비교 관찰해보는 것도 흥미로운 일이 될 것이다.

2013.8.10 @Home