소프트웨어는 하드웨어와 달리 물리적으로 존재하지 않기 때문에 언제든 변경 가능하다가 생각한다.
업무 증가와 일정 지연 등의 이유로 공학 기법 적용을 미룬다.
고려해야 할 요소가 기하급수적으로 증가했다.
개발 목표를 달성하기 위해 요구되는 제반 장비와 환경을 마련하고, 이를 일정하게 유지해주는 것
제반 장비란?
- 개발자의 워크스테이션 및 주변기기
- 빌드, 배포, 운영을 지원하는 서버, 네트워크 인프라
- 협업, 관리, 통제를 가능케 하는 소프트웨어 도구
- 품질, 성능, 보안을 보장하는 테스트, 모니터링 인프라
소프트웨어 개발의 목적, 필요한 자원, 정보의 흐름, 소요 인력, 산출물 등을 정의한다.
계획 단계에서 예측한 다양한 장비 및 시설 확보, 팀 구성 등과 같은 일을 수행하여 실제로 프로젝트가 수행될 여건을 마련한다.
팀원들에 대한 R & R이 지정되어야 한다.
프로젝트 수행 계획서에서 정의한 일정에 따라 소프트웨어 개발 활동을 수행한다.
개발 활동에 대한 진척도를 관리하고 품질 모니터링을 실시한다.
소프트웨어 개발이란 사용자의 요구사항을 가감 없이 소프트웨어 프로그램으로 변환하는 과정이다. 따라서 요구사항이 부정확하다면 소프트웨어 또한 부정확하게 개발될 것이다.
소프트웨어 개발의 궁극적인 필요성을 이해해야 올바른 소프트웨어 개발이 가능하다.
정확한 일정 계획, 발생 가능한 리스크 예측 등을 통해 프로젝트 계획 대비 편차를 줄여야 한다.
프로젝트 수행을 위해 요구되는 자원을 정확히 산정해야 한다.
불필요한 기능의 개발은 리스크 증가 및 개발 기간 연장을 초래한다.
요구사항 변경, 설계 변경 등의 다양한 변경이 전체 프로젝트에서 일관성 있게 관리되어야 한다.
산정한 자원을 적절하게 배분하고 활용해야 한다.
개발 기능의 완성도 부족, 개발 기간 연장 등의 문제가 발생한다.
프로젝트 관리자의 경험과 지식을 바탕으로 계획과의 편차를 대처한다.