Priv's Blog
Programming Basics: Introduction to project management and teamwork 본문
Programming Basics: Introduction to project management and teamwork
Priv 2021. 2. 9. 22:43출처
1. 서언
프로젝트 관리 및 팀워크는 종종 디자인과 개발 규칙들을 위한 "소프트 스킬(soft skills)"이라고 불립니다.
비록 프로젝트 관리가 기술적으로 이루어질 수도 있고, 다양한 프로젝트 관리법들이 있지만, 능력 있는 프로젝트 매니저가 되기 위해서는 주로 팀워크가 필요합니다. - 커뮤니케이션 능력과 조직력 포함
효과적인 프로젝트 관리 및 팀워크에는 다음과 같은 내용들이 포함됩니다:
-
팀원, 고객, 기타 이해관계자들과의 확실한 커뮤니케이션
-
마감일까지 최종 제품 전달
-
프로젝트에 대한 요구사항들을 만족하고 정의된 목표(들)를 충족하는 최종 제품 또는 결과물
이번 시간에는, 팀 작업과 프로젝트 관리에 대한 몇 가지 모범 사례들을 소개하고 이를 살펴보도록 하겠습니다.
2. 작업 과정 요약
개인, 팀, 회사, 그리고 단체들은 서로 프로젝트 관리를 위한 그들만의 방법들이 있겠지만, 일반적으로 프로젝트는 단계별로 세분화됩니다.
여러분이 real time production cycle에 대한 내용을 공부하셨을 때 보셨다시피, 일반적인 프로덕션 주기는 다음과 같습니다.
-
사전 제작(Pre-production): 전체 규모의 제작을 시작하기에 앞서 진행됩니다. 계획 설정, 프로토타입 제작, 파이프라인 설정, 초기 디자인이 이 단계에 해당됩니다.
-
프로덕션: 최종 2D 이미지 및 3D 모델 제작, 오디오, 라이팅, 사용자 경험을 포함하여 제품과 에셋들을 제작합니다.
-
후반 작업(Post-production): 품질 보증(QA), 편집, 테스트, 버그 수정과 최종 다듬기 작업을 거쳐 최종 제품이 완성됩니다.
-
운영: 제품이 출시된 이후에도 지속적으로 이루어지는 작업으로, 판매, 수익 창출, 업데이트, 유지보수가 이 단계에 해당됩니다.
여러분이 제시간에 예상한 대로 작동하는 프로젝트를 제공해야 할 때, 프로덕션 주기의 개별적인 단계에 대한 적절한 계획은 매우 중요합니다.
3. 프로젝트 계획 개요
프로젝트 작업을 할 때, 여러분은 적당한 스케줄과 시간 관리, 소통, 협력이 필요합니다.
또한 여러분이 프로젝트를 독립적으로 진행하실 때에도, 프로덕션 주기의 어느 단계, 특히 유저 테스트를 진행할 때 다른 사람들과 소통하시게 될 수도 있습니다.
이제 개인 또는 더 큰 규모의 팀의 멤버로서, 성공적으로 프로젝트를 완료하고 전달하기 위한 몇 가지 가이드를 살펴봅시다.
- 문서화 및 추적
문서화 작업은 프로젝트 관리에서 가장 중요한 규칙입니다.
디자인 문서는 여러분이 제작하고 싶은 경험에 대한 특정 요구사항들을 기록할 수 있는 단일 정보 출처 역할을 합니다.
디자인 문서는 프로젝트 매니저와 프로듀서가 개발 과정 및 디자인을 추적하는데 도움이 되기도 합니다.
프로젝트를 관리하실 때, 일관된 디자인 문서를 사용하여 다음과 같은 방법으로 설계 및 개발 프로세스를 안내해주세요:
-
프로젝트의 목적, 청중, 목표를 확인합니다.
-
프로젝트 계획 작성에 필요한 프로젝트 단계를 확인합니다.
-
프로젝트 계획 안에, 특정 결과물과 만기일을 포함한 타임라인을 제작합니다.
-
결과물을 생산하고 마감일을 준수하기 위해 여러분의 마일스톤을 지속적으로 추적합니다.
-
팀에서 작업하실 때는 역할을 분담하고, 여러분과 모든 팀원들을 위해 작업들을 정의하고 우선순위를 설정합니다.
-
여러분과 모든 팀원들이 역할과 책임을 따르고 있고 후속작업을 취하고 있는지 점검합니다.
- 시간 관리
효과적인 시간 관리는 정시 납품 및 프로젝트 완성에 매우 중요한 부분입니다.
프로젝트를 관리할 때는:
-
설계 및 개발 프로세스 각 단계에 대한 시간 범위를 정합니다.
-
여러분의 프로젝트 계획을 매일 리뷰하고, 간단한 일일 상태 보고서를 프로젝트 매니저 또는 프로듀서에게 제공합니다. (흔히 이러한 일일 업데이트 보고서를 "스탠드-업"이라고 부릅니다.)
-
예상치 못한 지연에 대해 비상 계획을 사용합니다. 필요한 경우, 여러분의 프로젝트 계획의 결과물들과 할 일들을 재조정 및 업데이트합니다.
-
여러분 또는 여러분의 팀에 적합한 프로젝트 계획 및 관리 도구들을 찾습니다. 여러분이 도구를 선택하셨다면, 해당 도구를 일관성 있게 사용하세요.
- 커뮤니케이션
명확한 커뮤니케이션 없이는 협업이 어렵고, 최악의 경우에는 불가능합니다.
커뮤니케이션은 어떤 역량을 갖춘 다른 사람들과 협업하기 위한 가장 중요한 스킬 중 하나이며, 효과적인 프로젝트 관리에 필수적입니다.
여러분의 프로젝트에서 다른 사람들과 소통할 때는:
-
여러분의 팀 멤버이든 외부 공동작업자이든 여러분의 진행단계와 다른 사람들의 일에 영향을 미치는 이슈들을 명확히 설명하세요.
-
여러분과 다른 사람들의 시간을 존중하세요.
-
작업에 대한 비판을 할 때는, 상대방의 감정에 건설적이고 민감하게 유지하세요. 여러분의 피드백이 도움이 되고 구체적이며, 존중받을 수 있도록 하는 데 초점을 두세요.
-
피드백을 전달하는 고객 분들에게 적극적으로 의견을 듣고 관계를 맺음으로써 스스로 피드백을 수용하세요. 어떻게 그들의 피드백이 다루어질 수 있는지 솔직하게 반영하세요.
- 존중과 전문성
여러분이 개인 개발 또는 재미를 위한 프로젝트를 완수하기 위해서는 다른 사람들과 함께 작업할 때 그들을 존중하고 여러분의 일에 전문적인 태도를 지니는 것이 중요합니다.
다른 사람들과 프로젝트 협업을 하실 때에는:
-
시간을 엄수하세요.
-
공동 작업자, 동료, 고객들에게 신속하게 응답하세요.
-
다른 분들의 의견과 기여에 귀 기울이세요.
-
협동 작업에 적극적으로 참여하세요.
4. 디자인 문서와 프로젝트 계획
프로젝트를 시작하는 사전 제작 단계에서, 디자인 문서들은 여러분이 무엇을 만들 것인지를 정의하고 방향을 잡는데 도움을 줍니다.
이러한 문서 포함되어야 하는 내용들은 다음과 같습니다:
-
게임 (또는 경험) 디자인 문서 (GDDs)
-
타깃 유저층
-
프로젝트 정의
-
기술 사양
- 디자인 문서
디자인 문서는 여러분의 프로젝트 청사진이 포함되어 있습니다.
다음과 같은 항목을 포함됩니다.
-
개괄적인 개요; 예를 들어, 게임 (또는 경험) 디자인 문서 내의 종합적인 프로젝트 비전
-
요구사항과 프로젝트 내의 특정 파이프라인에 대한 표준
-
특정 기능들을 위한 세부적인 디자인 사항들
여러분의 고급 디자인 문서에는 아래의 사항들을 확인해야 합니다:
-
프로젝트의 목표와 목적
-
대상 사용자와 시청자
-
프로젝트의 핵심 특징
-
최종 인도 양식 (The final form of delivery)
디자인 문서에는 다이어그램, 플로우 차트, 그림, 비슷한 제품의 영감을 주는 이미지, 제품의 모양과 느낌을 잡기 위한 참고 이미지가 포함될 수 있습니다.
만약 여러분이 디자인 문서를 아직 가지고 계시지 않으시다면, 디자인 문서 양식의 PDF 버전을 자료 섹션에서 다운로드하시거나 구글 문서 복사본을 사용해 작업하실 수 있습니다.
- 프로젝트 헌장
디자인 문서가 승인되고 프로젝트 제작이 승인되면, 여러분이 팀에서 작업을 하실 때 프로젝트 헌장가 특히 유용합니다.
이는 프로젝트의 목표, 프로젝트 실행법, 이해관계자를 포함한 프로젝트 전체를 설명하는 공식 문서입니다.
프로젝트 헌장 예시 PDF 파일을 자료 섹션에서 다운로드하시거나, 구글 문서 복사본으로 작업하실 수도 있습니다.
프로젝트 헌장에는 다음과 같은 요소들이 포함됩니다:
-
프로젝트 이유
-
프로젝트의 목표와 제약
-
누가 메인 이해관계자인지
-
확인된 리스크
-
프로젝트의 이점
-
예산 개요
- 부가적인 문서
여러분들의 프로젝트에 따라, 사전 제작 단계에서 여러분의 프로덕션 계획과 초점을 잡는데 도움이 되는 부가적인 문서들을 작성해야 할지도 모릅니다.
필요에 따라 여러분은 사전 제작 단계와 프로덕션 단계에 걸쳐 해당 문서들을 반복하실 수 있습니다.
부가적인 문서에는 다음과 같은 내용을 포함합니다:
-
기술 문서: 이 문서는 프로젝트의 기술 파트의 특정 아키텍처와 기능들을 포함합니다.
-
회의 노트: 팀과 함께 작업하신다면, 팀이 작업 중인 내용, 진행 상황, 블로커 등을 기록하기 위해 회의 노트를 캡처하는 것이 유용합니다.
-
제안서 또는 투자 문서: 만약 여러분이 여러분의 회사로부터 결제를 받아야 하거나, 여러분이 투자자들에게 프로젝트 자금을 요청해야 하는 경우, 공식 제안서 또는 투자 문서가 필요합니다.
5. 프로젝트 관리 및 진행 단계 추적
여러분의 프로젝트 범위가 명확하게 지정되었다면, 이제 프로젝트 계획을 관리하고, 적절한 스케줄을 세움으로써, 프로젝트 관리 방법을 계획할 단계입니다.
프로젝트 계획은 일반적으로 사전 제작 단계에서 만들어지지만, 프로젝트의 진행도를 추적하기 위해 프로덕션 단계 내내 사용되고 반복됩니다.
프로젝트 계획은 디자인 문서와 프로젝트 헌장에서 확인된 요소들을 취합하고 구체적인 작업 및 제품 인도 날짜를 설정합니다.
프로듀서 또는 프로젝트 매니저는 종종 이러한 계획을 작성하고 수정이 필요할 때마다 계획을 업데이트합니다.
또한 이들은 정의한 작업들과 필요한 결과물에 대한 진행률을 판단하기 위해, 계획의 일부 또는 별도로 제작되는 프로젝트 트래커를 작성합니다.
만약 여러분이 프로젝트 계획을 만들고 따르지 않을 경우, 대개 스코프 크리프로 이어집니다. - 새로운 아이디어나 기능들을 여러분의 계획에 무분별하게 추가함으로써, 프로젝트 실패, 지연, 예산 초과 등의 문제를 야기하는 것.
개인과 팀 모두를 위한 성공적인 프로젝트 추적 가이드라인은 다음과 같습니다:
-
필요한 프로젝트 단계들을 파악합니다.
-
팀에서 작업하실 경우에는, 특정 프로젝트 역할과 책임을 파악하고 할당합니다.
-
특정 결과물과 마감일을 포함한 타임라인을 제작합니다.
-
스코프 크리프와 지나치게 킨 규모의 디자인 계획, 빡빡한 시간 계획 등 프로젝트 관리에서 흔히 발생하는 문제와 이슈들을 파악합니다.
-
프로젝트가 완료되어야 하는 마감일을 설정합니다.
-
전체 프로젝트를 구축할 프로젝트의 작은 부분에 대한 개별적인 마감일을 설정합니다.
-
개별적인 프로젝트 단계에 대해 적합한 기간을 설정합니다.
-
팀에서 작업하실 경우에는, 리스트의 개별적인 작업에 대한 작업 소유자들을 지정합니다.
- 고객들을 위한 프로젝트 제작
만약 여러분이 고객을 위한 프로젝트를 제작하신다면, 보다 효과적인 프로젝트 관리를 도와줄 수 있는 추가적인 고려사항이 몇 가지 있습니다.
-
명확한 프로젝트 역할 파악 - 여기에는 고객과 그룹 사이의 연락을 담당하는 분들과 프로젝트의 여러 요소들에 대한 이해관계자들을 파악하는 것이 포함됩니다.
-
고객의 요구사항들을 이해하고 명확히 합니다.
-
고객과의 명확한 커뮤니케이션을 지원하기 위한 계획을 세웁니다. - 여러분이 여러분의 고객과 소통할 방법과 고객에게 프로젝트를 소개하는 데 필요한 온라인 협업 도구를 파악합니다.
6. 연습: 프로젝트 관리 및 진행 단계 추적에 도움이 되는 도구들 찾아보기
프로젝트의 모든 단계를 계획하고 파악할 수 있도록 도와주는 다양한 프로젝트 관리 도구들이 있습니다.
Trello, Favro, Airtable, Monday.com, Google Apps, Jira, GitHub와 같은 제품들은 개인과 팀의 업무 흐름을 계획하고 추적하여 적시에 실행 및 제공할 수 있는 다양한 기능들을 제공합니다.
이러한 다양한 프로젝트 관리 도구들은 여러분들의 특정 프로젝트의 필요한 부분에 맞춰 용도를 바꿀 수 있는 템플릿들을 가지고 있습니다.
만약 여러분이 이러한 도구들 중 하나를 아직 사용해보신 적이 없으시다면, 시간을 내서 여러분이 사용하실 수 있는 것들을 조사해보시고, 여러분의 다음 프로젝트에서 사용해볼 도구를 파악해보세요.
만약 도구들 중 하나를 이미 사용해보셨지만, 여러분에게 적합하지 않으셨다면, 이번이 여러분에게 더 도움이 되는 적합한 새로운 옵션이나 기능들이 있는지 조사해보는 좋은 기회가 될 것입니다.
- 여러분의 경험 공유하기
만약 어느 도구에 대한 좋은 경험이 있거나, 여러분이 검색하면서 찾은 유용한 도구가 있으시다면, 다른 학습자 분들을 지원하기 위해 여러분의 통찰력을 공유해주세요!
7. 퍼블리싱 준비하기
후반 작업 단계에서는, 여러분의 프로젝트 퍼블리싱을 준비합니다.
여러분의 프로젝트 계획에는 품질 보증(QA) 테스트, 콘텐츠 편집 및 수정, 버그 수정, 최종 결과물 폴리싱을 고려해야 합니다.
이제 품질 보증 테스트에 대해 조금 더 자세히 살펴보도록 하겠습니다.
- 품질 보증 테스트
QA 테스트 과정 동안, 중요한 두 가지 프로젝트 관리 고려사항이 있습니다: QA 테스트 스크립트와 버그 리포팅 프로세스입니다.
테스트 스크립트
QA 테스트 스크립트는 테스터가 관찰한 내용을 따르고 기록하는 일련의 단계입니다.
이러한 스크립트들은 일반적으로 공식 테스트가 시작되기 이전에 작성되며, 특정 프로젝트 요구 사항들과 사용 사례들에 관하여 결과물을 평가하는 데 사용됩니다.
또한 제품에 대한 사용자들의 경험에 대한 팀의 가정을 테스트하는 데 사용되기도 합니다.
버그 리포트 추적
버그 추적 및 해결은 인도할 제품의 폴리싱 과정에서 가장 중요한 부분입니다.
버그 리포트를 추적하는 데 사용되는 도구는 다양합니다. - Jira와 Github가 보편적인 선택지이지만, 많은 개인과 팀이 스프레드 시트를 사용하기도 합니다.
일반적인 버그 보고서에 포함되는 내용은 다음과 같습니다:
-
제목 / 간단 개요: 버그를 설명하는 간략한 제목을 적습니다.
-
확인된 빈도: 버그가 얼마나 자주 발생하는지를 적습니다. (매번, 자주, 무작위로, 드물게)
-
재현 단계: 해당 버그를 재현하기 위한 명확한 단계를 적습니다.
-
상세한 설명: 버그의 보다 상세한 요악과 버그가 사용자 경험에 미치는 영향에 대해 적습니다.
-
관찰된 기타 사항들: 해당 항목에는 버그가 발생하는 원인으로 추정되는 것과 기타 세부 사항들을 적습니다.
(예: "오류가 일관성 없이 발생하나, 낮 시간보다 밤에 더 자주 발생함")
버그 리포트에 대해 더 많은 내용을 공부하고 싶으시다면, The Art Of The Bug Report at the Ministry of Testing 항목을 참고하세요.
8. 프로젝트 출시하기
여러분의 프로젝트가 테스트, 수정, 검증 작업을 거쳤다면, 이제 프로젝트 출시 준비가 모두 끝났습니다.
여러분의 프로젝트 계획에는 언제, 어디서 여러분의 제품을 출시할 것인지를 고려해야 합니다. - 여러분이 처음 목표로 삼았던 제품 인도일과 프로젝트 출시일에 맞춰 출시하는 것이 가장 이상적입니다.
사전 제작 단계에서 여러분이 확인한 정확한 일정을 맞추지 못하셨다고 해도, 프로젝트 계획을 제대로 따르고 개발 과정에서 일정을 조율해나가며, 여러분의 기존 출시 일정의 합리적인 범위 내에 프로젝트가 진행되도록 하셔야 합니다.
9. 운영 활동 및 회고
- 운영 활동
프로덕션 주기의 마지막 단계, 운영 단계는 일반적으로 제품을 출시하고 나서 해당 제품을 지속적으로 운영하기 위한 일들을 포함합니다.
운영 활동이 일반적으로 출시일까지는 시작되지 않지만, 사전 제작 단계에서부터 파악 및 계획되어야 합니다.
이러한 활동들은 지속적인 판매, 수익 창출, 업데이트, 지속적인 유지보수를 포함합니다.
- 프로젝트 회고
마지막으로, 프로젝트가 출시되면 여러분 (그리고 팀이 있다면, 여러분의 팀)이 개발 과정과 디자인을 돌아볼 수 있도록 회고를 계획해야 합니다.
회고는 여러분이 잘 진행된 부분과 그렇지 않은 부분, 그리고 향후 프로젝트를 위해 개선해야 하는 부분들을 파악하도록 도와줍니다.
회고를 진행하기 위한 한 가지 간단한 방법은 3개의 열이 있는 차트를 만들고, 다음과 같이 여러분이 해야 한다고 생각하는 것들을 확인하는 것입니다:
-
시작해야 하는 것
-
멈춰야 하는 것
-
계속해야 하는 것
여러분의 특정 프로젝트에 가장 적합한 조금 다른 방안을 찾고 싶으시다면, 회고 작업을 준비하고 편성하는 데 사용할 수 있는 다양한 도구와 프레임워크들도 있습니다.
10. 요약
이번 시간에는 프로젝트 관리의 기본에 대해서 살펴보았습니다.
이 내용은 여러분이 어떤 프로젝트를 작업하실 때에도 적용하실 수 있습니다: 큰 프로젝트든 작은 프로젝트든, 실시간 경험 제작을 위한 프로젝트나 다른 어떠한 종류의 프로젝트이든지 모두 가능합니다!
여러분이 다음 프로젝트를 시작하실 때, 이러한 권장 사항을 사용해 제시간에 제대로 일을 수행하고 정보를 제공할 수 있습니다.
여러분의 다음 포트폴리오 프로젝트를 위해 몇 가지 문서와 간단한 프로젝트 계획이나 트래커를 설정하는 것은 어떨까요?