Project Planning & Management

이호준·2026년 3월 5일
경희대학교 이성원 교수님의 '오픈소스 SW 개발 방법 및 도구 수업'을 기반으로 본인이 이해한 바로 새롭게 정리한 글입니다.

Man - Month

Man - Month : 사람(man)수를 달(month)수로 계산한 값.
즉, 어떤 업무를 수행함에 있어 필요한 사람의 수에 대한 측정치.
-> 사람들의 실력은 동일하고 노동의 강도는 동일하다는 가정.

  • Man - Month가 높을 수록 프로젝트의 성공률과 속도가 향상되는가?

    • 절대로 아니다. 오히려 악영향을 미칠 수 있다.

    Man - Month의 역설

  • Brooks의 법칙에 따르면 manpower을 추가할 수록 프로젝트는 더 늦게 출시된다.

  • 이유 :

    • 사람을 추가 투입하면 그에 따른 새로 추가 투입된 사람들(개발자)에 필요한 준비과정, 비용 등이 많이 소모되기 때문이다.

    • 공식 : n(n-1)/2 - 그룹간 상호 커뮤니케이션 공식

No silver bullet

  • 한 번에 해결할 수 있는 수단 및 방법은 없다.
  • 지속적인 개발과 유지보수가 필요하다는 의미이다.

The second - system effect

  • 개발자들의 특성에 대한 내용으로, 개발자들은 기존의 시스템을 개선 시킬 때 over-engineering을 한다.

Irreducible number of errors

  • 개발자들은 개발할때 버그에 대한 두려움을 잊어야한다.
  • 개발하면서 버그가 0개일 순 없다. -> 받아들여야할 버그는 받아들여라.

Conceptual integrity

  • 설계 철학을 위배해선 안되고, 모두 일관되게 생각하고 행동하라.
  • 아무리 혁신적인 아이디어가 도출되었다 하더라도, 그것이 전체 프로젝트의 설계 철학에 위배된다면 받아들여서는 안된다.

The manual

  • 최고 설계자는 시스템의 설명사항에 대한 메뉴얼을 만들어놔야한다.
  • 그리고 이러한 메뉴얼은 시스템의 외부 설명도 상세히 명시되어야한다.

The pilot system

  • 본격적인 본 시스템(Final System)을 구축하기 전, 제한된 범위에서 핵심 기능과 구조를 실제와 유사한 환경에서 시험적으로 구축하여 운영해보는 과정이다.
  • 시장에 전시할 상용프로그램을 한 번에 만들 수 없으니, 작은 단계에서 천천히 사용 단계까지 이끌어가자.

Formal documents

  • 모든 프로젝트 매니저는 반드시 작더라도, 핵심적인 공식 문서를 만들어야한다.
  • 이 공식 문서에는 프로젝트 목적, 어떻게 목적을 성취했는지, 누가 성취할 것인지 언제 성취할 것인지, 비용은 얼마나 드느지에 대한 내용을 포함해야한다.

Project estimation

  • 프로젝트를 완성하는데 걸리는 시간 및 비용을 계산하거나, 견적을 낼때 개발자는 최소 3배 이상의 비용과 시간이 걸린다는 것을 감안하고 계획해야한다.

Communication

  • 재앙(불협화음)을 피하기 위해선 팀간의 의사소통은 덧없이 중요하다.
  • 자신의 부족함이 무엇인지 알리고, 팀원 간의 얘기를 많이 해서 서로가 필요한 부분에 적재적소 들어가 도움을 주고 받아라.

The surgical team(소방수 팀)

  • 프로젝트를 진행함에 있어 반드시, 심각한 문제가 발생하는 구간이 있다.
  • 그런 상황에 급히 소방수팀(surgical team)을 투입시켜라. 그들은 일반적인 프로그래머에 비해 실력이 월등히 높은 사람들로 선별하라.
profile
처음이고 서툴지만 방향을 잡아 노력하는 개발자

0개의 댓글