소프트웨어공학 (Software Engineering)

[Project] 프로젝트 이해

깡또아빠 2022. 2. 13. 22:44

프로젝트는 '고유한 목표 (제품, 서비스 또는 결과)를 산출하기 위해 수행하는 한시적인 노력'을 의미합니다.

A temporary endeavor undertaken to create a unique product, service or result  (from PMBOK)

 

프로젝트로 운영되는 곳이 아닌 곳에서는 어느정도의 정형적이고, 반복적인 업무라는 이름으로 불리는 일들을 수행하게 됩니다. 이를 Operation, 운영이라고 칭하고 부르는 경우가 있는데 사실 운영(Operation)도 처음에는 프로젝트로 시작하여 사업, Business 의 유지 (Sustaining the business)로 이어지는 경우가 대다수일 것입니다. 

 

Difference between Project and Operation 

출처: https://www.iliyanastareva.com/blog/the-difference-between-projects-and-operations

 

간단하게 생각해보면 사업성을 확인하고, 정착시키고, 일정한 모델로 수익성을 가져가기 위해서 초기의 노력들은 프로젝트로 운영되는 것이 많을 것입니다. 요즘 방송사에서 Pilot으로 단기적인 프로그램을 편성하고 시장의 반응성을 확인하고 정규 편성으로 이어지는 것과 같은 흐름으로 이해하시면 될 것 같네요.

 

이런 프로젝트는 몇 가지 특징을 가지고 있는데요. 하나씩 간략하게 살펴봅니다. 

 

1. 고유성 (Unique)

프로젝트는 고유한 목표를 가지고 산출물이 분명한 업무를 의미합니다. 

 

신제품, 신규 서비스, 뮤지컬 제작, ㅁㅁ 광역철도 등의 프로젝트에서,

유형의 제품, 무형의 서비스, 이전보다 좋아진 제품과 서비스, 문서 등의 작업 산출물 등이 나올 수 있습니다.

 

예를 들면, 차량에 장착되는 레이더는 차량의 종류에 따라 다른 성능 또는 다른 요구사항들을 만족해야 합니다. 

이전에 200m의 측정이 가능했다면, 이제는 250m 또는 그 이상을 요구할 수 있습니다. 레이더라는 제품 종류는 같지만 차량의 종류에 따라 레이더 개발은 이전보다 좋아진 제품 또는 신제품으로 개발해야 합니다. 그래서 레이더 개발 시 '프로젝트'라고 말하죠. 또는 ㅁㅁ 차종, OO 차종 등으로 고유한 목표를 가지고 프로젝트를 수행합니다.

 

 

2. 한시성 (Temporary)

프로젝트는 시간의 시작(Start)과 끝(Finish)이 존재합니다.

 

ㅁㅁ 차종은 언제 SOP (Start Of Production, 양산 시작)으로 개발되어지기 때문에 중요 마일스톤에 따라 프로젝트의 개발 진척, 성능, 평가 및 관리가 이뤄져야 합니다. 즉 시작이 있고, (중간 단계가 있고) 끝이 있습니다. ㅁㅁ 차종, OO 차종의 레이더가 개발과정, 여기서 SOP 전까지라고 한다면 이를 프로젝트라고 할 수 있습니다. 

 

그러나 레이더의 양산하고 불량율을 관리하고 루틴한 형태로 이어지는 경우에는 운영, Operation이라고 보는 것이 맞습니다. 물론 초기 양산 시점에서의 운영은 프로젝트로 볼 수 있습니다. 시작과 끝이라는 특성을 가진다라고 이해해주시기 바랍니다. 

 

 

(스페인 사그리다 파밀리아 성당 과 같이 길게 이어지는 프로젝트는... 착공이 1882년 3월 19일이네요)

사그리다 파밀리아 대성당 

출처: https://namu.wiki/w/%EC%82%AC%EA%B7%B8%EB%9D%BC%EB%8B%A4%20%ED%8C%8C%EB%B0%80%EB%A6%AC%EC%95%84%20%EB%8C%80%EC%84%B1%EB%8B%B9

 

 

3. 불확실성 (Uncrtain)

프로젝트는 시간이 흐르면서 점진적 상세화 (Progressive Elaboration) 됩니다. 

 

ㅁㅁ 차종 개발 초기에는 고객 (OEM)의 Sourcing 단계로서, Design goal 인 성능을 제시합니다. 기한, 평가 운영 등에 대해서 제안한대로 프로젝트가 이뤄지면 좋겠지만, 현실에서는 많은 리스크, 이슈가 존재하고 예상치 못한 변수들로 많은 CR (Change Request), IR (Issue Report), ER (Error Report)이 발생하고 이를 관리하게 됩니다. 즉 불확실성을 가지고 시간이 흘러가면서 점진적으로 상세화 되는 것이 자연스러운 것입니다. (그러니 처음에는 노력을 덜 해도 된다. 라는 의미가 아닙니다)

 

Traditional Project Management Lifecycle 

출처: https://pm-training.net/progressive-elaboration-agile/

 

자동차 산업에서는 V Cycle Model 를 기반으로 프로세스적인 접근을 통해 프로젝트를 관리하는 경우가 있습니다. 다른 산업 IT, 건설, 건축, 항공 등의 다른 분야에서는 다른 모델을 기반으로 하기도 합니다. 왜 다른 모델(Model)을 기반으로 프로젝트를 관리하려고 할까요? 산업군의 특징과 기한에 따라 불확실성을 줄이고 점진적 상세화 하는데 맞는 방법이 있기 때문입니다. 

 

자동차 산업은 V Cycle 모델의 프로세스 접근이 맞다. 가 아니라, 그동안 그래왔었다 입니다. 다른 모델, Agile과 같은 방법들, 모델들로도 개발을 할 수 있습니다. 프로젝트의 특성에 따라 전략적인, 도전적인 환경 등 수 많은 변수와 요인들이 있기에 어느 것이 답(correct answer)이라고 정하기는 어렵습니다.

 

 

 

'소프트웨어공학 (Software Engineering)' 카테고리의 다른 글

SW Maintenance  (0) 2022.03.16
Software Process model  (0) 2022.03.16
Time to market, TTM  (0) 2022.03.15
Software engineering definition & necessary  (0) 2022.03.15
Difference between Program and Software  (0) 2022.03.15