Book/『 소프트웨어 공학의 모든 것 』

"소프트웨어 공학의 모든 것" 소프트웨어 프로젝트 시작

kanado 2024. 10. 8. 16:38

지금까지 여러 번의 팀 프로젝트를 해왔고, 배포 및 현재 유지보수중인 웹 서비스 프로젝트도 있다. 이제는 지금까지 해왔던 소프트웨어 프로젝트에 대한 기초 개념부터 대해 배우고 싶어서 '소프트웨어 공학의 모든 것' 책을 읽기 시작했다.


1. 소프트웨어 프로젝트 관리의 기본 활동

책에서는 소프트웨어 프로젝트 관리가 크게 계획, 조직, 모니터링, 조정의 네 가지 활동으로 이루어진다고 설명한다. 이 중에서도 모니터링과 조정이 핵심이라고 강조하고 있고, 프로젝트가 성공적으로 진행되기 위해서는 계획 단계에서부터 이를 염두에 두고 지속적으로 관리해야 한다.

2. 프로젝트 시작 전 고려할 요소

책에서 강조한 프로젝트 시작 여부를 결정하는 두 가지 요인은 다음과 같다.

  1. 프로젝트가 제공할 가치: 이 가치는 프로젝트 결과물이 가져올 수익뿐만 아니라 사회적 환경에 미치는 영향, 이미지 상승, 그리고 기술 습득 등 다양한 측면에서 측정된다.
  2. 프로젝트와 관련된 리스크: 자원의 가용성, 일정, 기술적 난이도 등이 프로젝트 성공에 미칠 영향을 고려해야 한다.

이 두 가지 요소를 바탕으로 타당성 분석이 이루어져야 하며 이를 통해 프로젝트의 목표와 제한 조건이 명확히 기술되어야 한다.

3. 프로젝트 계획과 스케줄링

초기 단계에서 중요한 3가지 요소는 다음과 같다.

  1. 목표 설정
  2. 일정 정의
  3. 비용 추정

이때 중요한 문서는 프로젝트의 문제를 정의하는 SOW(Statement of Work) 문서로 이는 이후 일정 계획과 자원 배분에서 중요한 역할을 한다. 특히 WBS(Work Breakdown Structure) 분석을 통해 작업 간의 의존 관계를 파악하고, 이를 기반으로 작업의 스케줄을 정의한다.

3. 스케줄링의 단계

책에서는 스케줄링을 다음과 같은 순서로 설명한다.

  1. 작업 사이의 의존 관계 파악
  2. CPM 방법을 통한 여유 시간 계산
  3. 소요 자원의 할당과 간트 차트 작성

이 과정을 통해 프로젝트의 전체 일정이 체계적으로 정리되고, 자원 배분도 최적화된다.


내 생각과 정리

소프트웨어 프로젝트 관리는 기술적 문제뿐만 아니라 자원과 인력 관리의 복잡성이 함께 얽혀 있는 매우 어려운 작업임을 다시 한번 깨달았다. 특히 프로젝트의 가치리스크를 정확히 평가하는 과정에서 너무 낙관적이거나 과도한 부담을 지는 것보다 균형 잡힌 시각이 중요하다는 생각이 들었다.

 

끝.