프로젝트 중에 왠지 산으로 갈거 같은 분위기에 고민 하고 있었는데 동생이 책하나 추천해 줘서 읽고 있는중..
어렵운 내용도 없고 좀 광범위하게 쉽게 씌여진 내용이라 편하게 읽을 수 있는중..
읽던 중 몇몇 글의 기록...
프로세스 기반 개발(Process oriented)
잘짜여진 계획 , 잘 정의된 프로세스 , 효율적인 시간사용, 오랜 경험을 통해 좋다고 판명된 소프트웨어 공학 기법들을 적용해 프로젝트를 성공 시키는것이다.
책임기반 개발 : 영웅 중심 개발 , 개별 권한 부여
해당 분야의 최고인재를 고용한 다음 , 그 사람에게 특정 프로젝트를 맡아 주도록 요청 , 프로젝트의 전권을 위임
프로세스 사칭 조직(project imposter) : 관료조직
소프트웨어 프로세스의 형태를 그 본질 보다 중요시 여긴다.
책임 사칭(commitment imposter)
어떻게 하면 밤늦게 까지 좀 더 일 할 수 있는가에 골몰한다.
결과(긴 근무시간)와 원인(높은 동기부여)을 혼동.
이런 사칭 조직들은 성공한 조직들을 그저 흉내만 내려고 하고 성공의 원인에 대한 실질적인 분석을 하려 하지 않는다.
이런 흉내내기는 결국 프로젝트의 실패를 야기하게 된다.
소프트웨어 프로젝트가 잘 굴러가기 위해서는 아래에 나열된 목표(product objective)들을 만족 시키도록 관리 해야 한다.
1. 최소한의 결함(minimal defects)
2. 최대한의 사용자 만족도(maximum user sastisfaction)
3. 응답시간의 최소화(minimal response time)
4. 운영성(good mainitainability)
5. 확장성(giid extensibility)
6. 어떤 상황에도 다운되지 않을것(high robustness)
7. 정확한 결과(high correctness)
위의 우선순위를 명확히 정의.
프로젝트 목표의 최적화
1. 짦은 일정
2. 예측가능한 납품기한
3. 저비용
4. 소규모 팀
5. 프로젝트 도중 변화 할 수 있는 유연성
*한 분야의 전문가는 50,000여의 지식을 알아야 하고 이것은 서로 연관성이 없이 따로 기억해야 하는 성질의 것
프란시스 베이컨의 "노붐 오르가늄(novum organum)"에서의 과학적 방법
- 과학적 귀납법
1. 마음속의 편견(우상)을 제거하라
2. 조직적으로 관찰과 경험을 축적하라
3. 일단 작업을 중지하고 자신이 본것을 개관한 후 초기결론(첫째 수확)을 내린다.
최상과 최악의 소프트웨어 조직간의 수준차를 고려해 본다면 , 현재 우리가 해야 할 일은 최신 소프트웨어 공학 기법들을 만들어 내는게 아니라, 평균적인 SW 실무 수준을 향상 시키는 것에 있을 것이다.
반대하거나 논쟁하기위해 독서하지 마라. 내용을 그대로 믿거나 화술의 밑천으로 삼기위해 독서 하지 말라. 다만 생각하고 생활 하기 위해 읽어라
- 프란시스 베이컨