너무 마음에 와 닿는 글이라서 퍼왔습니다.
출처 : http://newkoman.mireene.com/tt/1456
- "오늘까지"라는 말은 "내일 아침까지"라는 말이다.
- 프로그램은 내가 원하는대로 움직이지 않는다. 타이핑대로 움직인다.
- 요구 사양은 프로그램을 완성한 후에 추가된다.
기본 사양은 완성품을 고객이 보고 나서 결정된다.
상세 사양은 사용자가 프로그램을 사용해 본 이후에 결정된다. - 소프트웨어 설계에는 두 개의 방법이 있다.
하나는 결함이 있을 수 없을 정도로 단순하게 만드는 방법이다.
다른 하나는, 분명한 결함을 눈치채기 어려울 정도로 복잡하게 만드는 방법이다. - 코드는 개발 현장에서 사용하는 것이 아니라 납품처에서 사용하는 것이다.
디버그는 납기일까지 하는 것이 아니라, 납품된 이후에 하는 것이다. - 프로그래머를 죽이기 위해서는 칼이 필요없다. 프로그램의 요구조건을 3번만 바꾸면 된다.
- 다른 사람을 믿으라. 그 사람이 해결해줄지도 모른다.
주의사항 - 먼저 자신을 의심해라. - 개발에 마지막은 없다. 출시만이 있을 뿐이다.
- 클라이언트의 요구사항이 제 아무리 뒤늦게 추가되어도 납기일은 변하지 않는다.
이것을「납기 불변의 법칙」이라고 한다. - 우리의 고객들은 물과 기능추가를 공짜라고 생각하고 있다.
- 주머니가 짠 고객일수록 잔소리가 많다.
- 개발 스케줄은 산수를 무시하며 짜여진다. 영업과는 1+1=2를 이해하지 못하는 사람의 모임이다.
- 한 명이 쓰러지면 모두가 쓰러진다.
- 버그가 너무 심하다? 걱정마라. 어느 순간 그것은 기본 사양이 될 것이다.
- 좋은 설계는 한 명의 천재보다 세 명의 범재를 요구한다.
나쁜 설계는 백명의 범재보다 한 명의 천재를 요구한다. - 고객에게 시스템 엔지니어는 부하이며, 프로그래머는 가축이다.
시스템 엔지니어에게 고객은 돈이다.
프로그래머에게 고객은 보이지 않는 악성 바이러스다. - 돈과 시간만 있으면, 그 어떤 시스템이라도 만들 수 있다고 생각하는가?
웃어라. 그 기회는 영원히 주어지지 않는다. - 품질은 사양 변경의 수와 규모에 의해, 얼마나 열화될지 결정된다.
- 영업과는 공상이 실현된다고 생각하는 몽상가이다.
시스템 엔지니어는 넘을 수 없는 벽이 없다고 믿는 모험가이다.
프로그래머와는 몽상가와 모험가에 의해 칠흑의 바다에 내던져진 표류자이다. - 유능한 프로그래머가 프로그램 설계개념도를 받아들고 최초로 하는 일은, 프로그램의 목적을 이해하는 것이다.
그리고 그 다음으로 하는 일은, 지정된 방법과 시간 안에는 도저히 그 목적을 완수할 수 없다는 사실을 시스템 엔지니어에게 이해시키는 일이다. - 프로그램이란, 운과 감에 의해서 작성되는 기적이다.
운과 감이 없다면, 그 기간 내에 그러한 목표를 실현될 수 있을 리 없다.
따라서 사양 변경은 기적에 트집을 잡는 건방진 행위이며, 사양 추가는 기적이 두 번 일어날 것으로 믿는 무모한 행위이다. - 시스템 엔지니어는 지구력, 프로그래머는 순발력.
- 정시에 퇴근하면, 일이 늘어난다.
- 완벽한 프로그램은 완벽한 시간과 돈을 필요로 한다.
미국의 국가 예산을 무제한으로 사용하는 NASA마저도, 아직 시간과 돈이 부족하다고 한다. - 눈으로 훑어볼 틈이 있다면 움직여라. 뇌세포보다 CPU가 더 해석이 빠르다. 그리고, 그 사이, 쉴 수 있다.
- 불편함을 버그라고 부를 것인가, 사양 상의 제한 사항이라고 부를 것인가는 남겨진 개발일자와 납기일에 의해 결정된다.
- 정장 대신 캐쥬얼을 입고 출근하는 "캐쥬얼 데이"를 세간에서는 휴일이나 공휴일이라고 부르는 것 같다.
- 프로그램은 머리로 기억하지 않는다. 몸으로 기억한다.
- 내일 쉴 수 있다면 오늘 죽어도 괜찮다.
- 고객은 거짓말을 한다.
영업은 꿈을 말한다.
시스템 엔지니어는 공상을 이야기한다.
프로그래머는 과묵해진다. (혼잣말은 많아진다) - 「네, 할 수 있습니다」라고 말하기 전에 10초만 곰곰히 다시 생각해보라.
- 프로그래머는 1분 생각하고 1일을 코딩에 소비한다.
1시간 생각하고 1시간 코딩하는 대신에 말이다. - 납품 이후의 디버그는 버그를 부른다.
- 세 개의 디버그는 하나의 버그를 낳는다. 이것을 버그의 엔드리스 루프라고 한다.
- 안 좋은 예감은 반드시 적중한다. 그러나 프로그래머는 그 안 좋은 예감에 반응하지 않는다. 그것은 시스템 엔지니어의 일이다.
- 아수라장을 해결할 수 있는 방법은 오직, 고객이 돈을 지불하는 것 뿐이다.
- 아마추어는 버그발견의 천재이다.
- 아, 그건 마이크로소프트에서만 가능한 주문입니다.
- 프로그래머가 불만이라고 생각하는 부분은 고객도 반드시 불만이라고 생각한다.
- 건강하기 때문에, 건강을 해친다.
- 그건, 당신이 말한 요구조건입니다만.
- 개발실의 창문은 안 열립니다. 그 이유는 옛날에 한 프로그래머가 그 창문에서···
- 고객은 최악의 사태를 믿지 않으며, 그 사태에 대한 준비를 악질적인 비용청구라고 생각한다.
시스템 엔지니어는 최악의 사태를 대비하고 준비하려 한다.
프로그래머는 최악의 사태를 누구보다 잘 예상하지만, 무시한다. - 만약 다른 직업을 갖게 된다면, 정시퇴근을「도망」이라고 부르지 않는 직업이 좋을 것 같다.
- 시스템 엔지니어가 프로그래머에게 말하는「상식」은 3시간마다 변한다.
- 최소한 자기가 쓴 시방서는 읽어주세요.
- 고객이 시스템 엔지니어에게 사랑받는 방법은, 시스템 개발에는 시간이 곧 돈이라는 사실을 깨닫고 빨리 최종요구조건을 확정하는 것이다.
SE가 고객에게 사랑받는 방법은, 프로그래머에게 미움받는 것이다. - 납기일이란, 작업현장이 우리 회사에서 고객의 회사로 바뀌는 날을 의미한다.
- 가끔 일어나는 버그는 버그가 아니다. 스펙이다.
- 개발비의 30%는 프로그램의 요구조건을 확정하는데 사용된다.
개발비의 30%는 프로그램의 요구조건을 변경하는데 사용된다.
개발비의 30%는 프로그램의 버그를 잡는데 사용된다.
개발비의 10%만이 프로그램의 개발에 사용된다.


댓글을 달아 주세요