새로운 영화다..

역시 끝까지 봤다.

 

 

 


 


'내가 본영화' 카테고리의 다른 글

세인트 빈센트(2015)  (0) 2015.02.22
it boy(2013)  (0) 2014.10.12
월터의 상상은 현실이된다  (0) 2014.02.08
화이  (0) 2014.01.29
어바웃 타임  (0) 2014.01.29

화이




'내가 본영화' 카테고리의 다른 글

세인트 빈센트(2015)  (0) 2015.02.22
it boy(2013)  (0) 2014.10.12
월터의 상상은 현실이된다  (0) 2014.02.08
플립(flipped)  (0) 2014.01.29
어바웃 타임  (0) 2014.01.29


어바웃 타임



'내가 본영화' 카테고리의 다른 글

세인트 빈센트(2015)  (0) 2015.02.22
it boy(2013)  (0) 2014.10.12
월터의 상상은 현실이된다  (0) 2014.02.08
플립(flipped)  (0) 2014.01.29
화이  (0) 2014.01.29



[류한석의 스마트 모델링] 피터의 원리로 살펴본「무능력의 법칙」



사회 생활을 하다보면 우리는 '어떻게 저런 사람이 저 위치까지 올라갔을까?'라는 의문을 갖게 만드는 사람들을 종종 만나게 된다. 그것은 연줄일까? 행운일까? 지금 자신의 주변 사람들을 한번 생각해보자. 마침내 우리는 놀라운 사실을 발견하게 된다. 그런 사람들이 너무나 많은 것이다!

일부 객관적 판단이 결여되어 있는 부분이 있을지라도, 우리가 갖는 타인에 대한 무능력의 느낌이 전혀 근거가 없는 것은 아니다. 우리는 개인적으로 싫어하는 사람과 무능력한 사람을 구별할 정도의 분별력은 있기 때문이다.

연줄이나 행운만으로 그 많은 사람들이 높은 위치에 올라갈 수는 없을 것이다. 그 이유는 쉽게 풀리지 않는 의문이지만, 이렇게 한번 생각해 보자. 만일 그 사람들이 언젠가는 유능했었지만, 승진을 하고 새로운 역할을 부여 받으면서 더 이상 유능할 수 없는 단계에 도달하게 된 것이라면 어떠한가?

로렌스 피터(Laurence J. Peter, 1919-1990)는 1969년 자신의 저서 피터의 원리(The Peter Principle)를 통해 다음과 같은 내용을 주장하였다.

'피터의 원리: 조직 내에서 일하는 모든 사람들은 자신의 무능력 수준에 도달할 때까지 승진하려는 경향이 있다.'

그렇기 때문에 시간이 지남에 따라 조직의 많은 사람들이 임무를 제대로 수행하지 못하는 무능한 사람들로 채워지게 되고, 아직 무능력의 단계에 도달하지 않은 사람들을 통해 과업을 완수하게 된다는 것이다. 물론 현재의 유능한 사람은 성과를 바탕으로 승진하게 될 것이고, 언젠가는 더 이상 승진할 수 없는 마지막 단계인 무능력의 수준에 도달하게 될 것이다. 이러한 원리 또는 원칙을 싫어하는 사람들도 있겠지만(일명 원칙거부주의자), 필자는 인생 선배의 통찰력 있는 조언을 새겨들어야 한다고 생각한다.

위계 질서를 강조하는 조직, 즉 성과에 기반한 승진과 퇴출이 그다지 동적이지 않은 조직의 경우, 많은 사람들이 무능력의 단계에 도달해 있는 경우를 쉽게 발견할 수 있다. 물론 그것은 조직의 문제이므로 개인의 힘으로 조정할 수 있는 것이 아니라고 할 지라도, 이러한 원리를 통해 개인의 의지가 아닌 거시적으로 작용하는 거대한 힘의 정체를 어느 정도 이해할 수 있고, 그에 따라 스스로 각성하고 노력함으로써 현재 자신의 위치와 지향점을 되돌아 볼 수 있는 계기가 될 수 있을 것이다. 또한 그렇게 만드는 것이 중요하다고 생각한다.

처음에는 대부분의 사람들이 유능하거나 유능한 축에 속한다. 그러나 몇 차례의 승진을 통해 자신이 감당할 수 없는, 즉 자신의 능력을 벗어나는 지위에 올라가게 된다. 대부분의 사람들은 그때가 되어서야 비로소 자신이 무능력의 단계에 도달하였다는 것을 알아차리기 때문에(그렇다고 내색을 하지는 않을 것이다), 그것을 감추고 자신의 존재감을 드러내기 위해 이해하기 힘든 일들을 벌이게 된다.

필자의 지인 중 한 명은 대리 시절까지는 정말 괜찮은 엔지니어(개발자)였다. 자신의 맡은 바 임무를 무척 꼼꼼하게 해내었고, 회사의 원칙에도 잘 순응하는 사람이었다. 그에 따라 그는 조직에서 유능한 인력으로 인정받게 되었고, 더 나은 연봉을 받으며 과장으로 승진하였다.

과장으로 승진한 그는 생애 처음으로 소프트웨어 프로젝트 관리를 맡게 되었는데, 그러한 그에게 결국 피터의 원리가 작용하게 된다. 원래 개발 팀에는 능력과 생산성에 있어 격차가 나는 팀원들이 존재할 수 밖에 없다. 그리고 리더의 입장에서는, 능력이 부족해 보이는 사람들이 못마땅하게 느껴질 수도 있을 것이다. 하지만 그는 완벽주의적 성향을 갖고 있었고, 그로 인해 자신이 보기에 못 마땅한 부분들에 대해 일일이 간섭하기 시작했다.

그의 역할은 분명히 프로젝트 관리자였음에도, 심지어는 어느 개발자의 코드를 자신이 밤 새워 직접 수정함으로써 그 사실을 사전에 알지 못한 해당 개발자를 완전히 무력하게 만드는 정신적 공황 상태에 도달하게 했으며, 언젠가는 직접 공통 모듈에 손을 대었는데 오히려 문제가 발생하여 많은 개발자들에게 혼란을 주기도 하였다. 또한 개발 자체에만 너무 신경을 쓴 나머지, 프로젝트의 핵심 이해관계자들(스폰서, 사업부서, 고객 등)의 관리에 소홀함으로써, 이해관계자들의 불만 또한 증폭되었다. 이해관계자들의 불만은 개발자에게 곧바로 영향을 미치는 경우가 많다.

결국 그는 개발자들의 반발로 인해 프로젝트 관리자 임무를 더 이상 맡을 수 없게 되어, 강제로 중도 하차하게 되었다. 그가 몸 담은 조직은 과장 이상의 간부는 프로젝트 관리를 맡아야 한다는 원칙을 갖고 있었기 때문에, 그 후 그는 자신감 상실 상태에 빠져 이직을 고려하고 있다.

참고로 설명하면, 아주 소규모의 프로젝트에서는 프로젝트 관리자가 아키텍트 또는 수석 개발자의 역할을 겸할 수도 있겠지만, 일반적으로 프로젝트 관리의 사명과 개발의 사명은 다르다. 그것을 혼돈하는 사람들에게 소프트웨어 프로젝트는 재앙이 되곤 한다. 프로젝트 관리에 있어서는, 신뢰를 바탕으로 한 프로젝트 구성원 각자의 역할 존중만이 최선의 프로젝트 성과를 만들어 낸다. 유능한 개발자 출신이었던 그는 개발 자체에 너무 집착함으로써, 자신의 핵심 역할을 제대로 수행하지 못했고 결국 무능한 사람으로 평가 받게 된 것이다.

사람이란 자신이 잘 할 수 있는 일에 집중함으로써 높은 성과를 낼 수 있다. 자신이 감당할 수 없는 요소가 늘어나는 순간, 인생은 통제할 수 없는 혼란에 빠져들게 된다. 그것을 이해하고 행동에 반영하는 사람이 똑똑한 사람이겠지만, 양적 팽창을 추구하는 인간의 욕심을 버리는 것이 쉬운 일은 아니다.

그렇다고 그러한 사례가 없지는 않다. 필자의 지인 중 한 명은 부장의 자리에서 10년째 이사로의 승진을 거부하고 있기도 하다. 물론 그의 성과는 언제나 좋은 편이다. 그리고 높지 않는 지위에서 놀라운 성과를 내는 사람들을 종종 볼 수 있는데, 그것은 피터의 원리를 회피한 사람들의 결과라고 볼 수 있다. 

몇 년 전 일본의 일개 회사원(주임)인 다나카씨가 노벨상을 수상한 일은 피터의 원리를 회피한 사람의 사례 중 하나일 것이다. 실제로 다나카씨는 노벨상 수상 후에도 승진을 거부하였는데, 2년이 지난 작년에는 결국 회사의 요청을 받아들여 이사로 승진하였다고 한다. 그는 이사의 위치에서 어떠한 성과를 낼 수 있을까? 그 결과를 지켜보는 것도 흥미로운 일이다.

사실 피터의 원리는 모든 조직의 어디에서나 작용하고 있다. 적어도 타인의 사례라면 너무 많이 보아와서 지겨울 정도일 것이다. 하지만 피터의 원리가 자신의 미래에도 그대로 작용할 것이라고 생각하면 섬찟하지 않는가? 마지막 승진이 바로 유능한 단계에서 무능한 단계로의 이행인 것이다. 그리고 이것은 사람뿐만 아니라, 기업 그 자체에도 그대로 적용된다. 한때는 유능했지만 지금은 무능한 기업들을 쉽게 찾아볼 수 있다.

피터의 원리를 극복하는 방법은 자신의 능력과 감당할 수 있는 지위를 정확히 이해하고, 능력의 여유를 남겨두는 방법뿐이다. 마지막으로 로렌스 피터의 격언 중 하나를 소개하며, 글을 마친다. 해당 표현 중 일부를 필자가 의역하였음을 밝힌다.

'당신이 슬럼프에 빠지면, 온 세상의 나쁜 것들이 당신과 함께 할 것이다. 그러나 당신이 노력할 경우에는, 오직 혼자 해야 할 것이다' @




1. Er-win으로 ERD를 그려야 하는데 테이블이 너무 많아 사용하는 테이블만 등록하여 ERD를 그릴려고 한다.

TABLE 스크립트를 만들어 ER-WIN에서 IMPORT하여 생성하기를 해 보았다.


테스트로 scott계정으로 테이블 몇개를 올려본다.


table.sql

CREATE TABLE SCOTT.BONUS

(

  ENAME  VARCHAR2(10 BYTE),

  JOB    VARCHAR2(9 BYTE),

  SAL    NUMBER,

  COMM   NUMBER

);

COMMENT ON COLUMN SCOTT.BONUS.ENAME IS '이름';

COMMENT ON COLUMN SCOTT.BONUS.JOB IS '직위';

COMMENT ON COLUMN SCOTT.BONUS.SAL IS '본봉';

COMMENT ON COLUMN SCOTT.BONUS.COMM IS '보너스';



CREATE TABLE SCOTT.DEPT

(

  DEPTNO  NUMBER(2),

  DNAME   VARCHAR2(14 BYTE),

  LOC     VARCHAR2(13 BYTE)

);

COMMENT ON COLUMN SCOTT.DEPT.DEPTNO IS '부서코드';

COMMENT ON COLUMN SCOTT.DEPT.DNAME IS '부서명';

COMMENT ON COLUMN SCOTT.DEPT.LOC IS '위치';

; pk, fk 스크립트가 샘플에는 없이 올렸다. 해당 key생성 스크립트를 넣으면 자동생성해 준다.



-  ER-WIN버전은 7.3 


1) Tools - Reverse Engineer.. 선택


2) Logical/Physical, Database, Version선택


3) 다음화면에서 Script File 선택하고 파일을 선택한다.


4) table.sql파일을 선택하고, 우측에 Primary Keys, Relations,.. 등 해당 옵션들을 체크한다. 필요하다면..


5) Database에 직접 붙어서 가져올수도 있지만 스크립트만으로도 가능하다.

원하는 것만 뽑아서..

생성된 결과물이다. 스크립트상으로 key를 생성하지 않아서 key가 비어있다.




2. 칼럼 comment를 논리명으로 가져오기.


ER WIN에서 논리명을 고치면 물리명도 따라서 변경된다.  논리와 물리를 일치시킬수 있는 좋은기능이긴 한데 자동생성시에는 불편하다. 

이때 논리와 물리를 분리시키는 옵션이 7.# 버전부터 나왔다는데..

버전 4.*를 썼었는데 없었다.



1) 우선 위에서 생성된 화면에서 전체선택을 한다. ctrl + a


2) 전체 선택된 상태에서 바탕화면 우측 마우스 클릭 하여 Harden Physical Names 를 클릭하여 선택한다.


3) 그려면 아래 결과 창에 아래와 같이 나온다. 


4) 열어보면 해당 칼럼이 변경된 내용이 보인다.


5) 결과를 확인하는 방법으로 

  메뉴에 Model - Column으로 이동한다. 


칼럼을 하나 선택하고 아래 Rename을 클릭해 보면 


팝업창이 뜨는데 Attribute 라벨명에 * 표시가 없이 보인다.  이렇게 나오면 반영이 된것이다. 반영이 안되었으면 Attribute* 이렇게 *이 붙어서 보인다. 


6) 빠져나와서 Logical영역으로 이동한다. 


7) 이동 후 Model - Domain Dictionary 이동한다. 


8) 팝업이 뜨는데 우측 Macro Toolbox 버튼을 클릭한다.


아래 트리구조중에서 Attribute Macro를 열어서 

%ColumnComment를 Insert Macro 버튼으로 선택하고 close 버튼으로 화면을 나간다.


아래와 같이 선택된 값이 들어간다. ( 기존에 값이 존재하면 같이 보여질것이다. append되어서. 기존것 지우고 들어가도 되고, 아래것만 남기고 지운다)


9) 화면을 나가고 아래와 같이 Model - Attributes 메뉴로 이동한다.

팝업이 뜨는데 확인을 누른다.


화면이 나오는데 아래 Reset버튼을 선택하면 

속성창이 보이는데 

- Reset all attributes in model를 선택한다.

- Select Properties to Reset 중에서 체크를 Clear All하고 Name만 체크한다. 

- OK하고 나온다.


10) comment로 보인다. 


- 물리창으로 이동해 보면 물리명, 논리창이동하면 comment로 보일것이다.














 





+ Recent posts