소프트웨어 개발의 모든 것
 - 김익환, 전규현 저 / 페가수스
 - 읽음: ~ 2011.4.4 (삼성SDS 소장)

소프트웨어 프로젝트 조직
 1. 프로젝트관리자 PM
   sw pjt의 모든 관리업무를 책임지는 사람. 외부 팀과 인터페이스를 담당하고 의견을 조율. 내부의 개발팀을 외부으 폭풍으로부터 보호하는 역할. 개발자가 외부와 자주 직접 대면을 하면 생산성이 급격히 덜러질 수 있다.
 역할과 책임은.
  - 프로젝트 성공에 대한 책임
  - 프로젝트 팀 구성에 대한 권리와 책임
  - 프로젝트의 업무 정의
  - 프로제트 리스크 관리
  - " 일정관리
  - " 외주 관리
  - " 의사소틍 관리
  - 개발팀과 조직의 상층부간 연결고리 역할
 2. 프로젝트 리더 PL
   sw pjt의 기술 분야를 책임지느 사람. 주된 업무는 설계와 구현이지만, 상황에 따라서는 요구분석도 담당. sw pjt는 PM의 책임이지만, sw 자체는 pL의 작품.
  역할과 책임은,
  - 기본 서계와 설계의 무결성에 대한 책임
  - 구현 단계 이끌기
  - 구현 일정 산정을 주도
  - 기능에 대한 우선순위 부여에 협조
  - 스펙문서 작성 (분석가도 겸할 경우)
  - 소스코드도 작성
 PL의 가장 중요한 능력 중의 하나가 문서작성 능력. PL이 작성한 스펙문서(설계서)를 보고 개발자들이 코딩하기 때문.
 3. 개발자(Program Engineer, software engineer, PE)
 4. 테스터
 5. 빌드/릴리즈 팀 (B/R 담당장)
 6. 기술문서 작성자 (Technical Writer)

SRS(Software Requirements Specification)
 만약 소프트웨어 프로젝트에서 문서를 딱 하나밖에 만들 시간이 없다고 하면 SRS를 만드는 것이 좋을 것.\
 SRS는 IEEE에서 만든 가이드와 표준 template이 있다. 회사들마다 사용하는 template이 약간씩 다르지만 문서이름, 목적, 취지는 전세계적으로 표준이라고 보면 된다.
 sw pjt에서 SRS이 위치 : ppt 참고

N/A와 None
 N/A는 Not applicable, '해당 사항 없다'는 뜻
 None은 '해당사항은 있지만 하지 않는다'는 뜻.

코딩 자세
 1. 회사의 코딩 표준을 철저히 지켜야 한다
 2. 버그가 발견되면 그 즉시 버그를 고쳐라
 3. 발견된 버그가 재현이 안 된다고 해서 버그가 사라진 것이 아니다
  - 재현 안되면, 버그롼리시스템에 계속유지하여 최후까지 관리해야 한다
 4. 문제없이 작동하고 있는 코드를 괜히 정리하려고 하지 마라
  - 이미 잘 작동하는 소프트웨어의 소스코드를 건드리지 말라. 그러한 욕구가 있다면 리팩토링이나 리아키텍쳐링 계획을 세워서 하든시 새로 작성하는 소스코드에서 잘하도록 하자.
 5. 문제가 해결될 때까지 이렇게 저렇게 마구 고치지 마라
 6. 코딩 ㅏㄱ업을 작게 나누어서 코딩, 빌드, 테스트를 자주 반복하라
 - 하루종일 코딩을 하고나서 한꺼번에 빌드/테스트가 비효율적
 7. 중요하지 않은 버그는 하나도 없다


Posted by 세모아
,