프로젝트가 얼어 붙었을 때-사람들에게 무엇을 남겨야합니까?


14

제가 작업했던 프로젝트는 이제 무기한 동결 될 것입니다. 프로젝트가 다시 정지되면 프로젝트가 나 또는 현재 팀의 다른 사람에게 할당되지 않을 수 있습니다. 실제로 우리는 이전에 프로젝트가 중단 된 후에도 프로젝트를 물려 받았지만, 프로젝트의 기본 요구 사항을 이해하는 데 도움을주기 위해 이전 팀이 남긴 것은 없었으므로 프로젝트를 잘 아는 데 많은 시간을 낭비했습니다. 우리의 질문은 우리의 사람들이 프로젝트의 요구, 우리가 한 일, 우리가 한 이유 등을 가장 잘 이해하도록 돕기 위해 무엇을해야한다고 생각 하는가. 나는 우리가 떠나야하는 이유에 대한 다른 아이디어에 개방적이다. 이 프로젝트에서 작동하는 다른 트랙도 추적합니다.

우리가 이미 취한 몇 가지 단계 :

  • 기술 문서 (완전하지는 않지만 적어도 일부는 있음);
  • 소스 제어 시스템 이력;
  • 프로젝트의 어느 부분에 개선이 필요한지, 왜 그렇게 생각하는지에 대한 추정;
  • 많은 단위 테스트.
  • 우리가 한 모든 티켓과 이슈 트래커 ( 편집 )

우리가 이미 준비한 것과 다른 무엇을 할 수 있다고 생각하십니까?


2
프로젝트와 관련된 이슈 트래커 에서 검색하기 쉬운 티켓 목록을 고려 하십시오
gnat

1
README.TXT에서 "Why?"가 가능한 한 많은 프로젝트 소스와 함께 답변되었습니다 .

아이디어를 주셔서 감사합니다. 그것은 내가 그것을 언급하는 것을 잊었다는 것을 상기시켰다. 모든 티켓에 이슈 트래커를 사용합니다. 목록에 추가하겠습니다.
nyxz

1
버려진 코드 기반에 대한 단결의 눈물을 흘리고 있습니다. zdnet.com/blog/projectfailures/…
Ben DeMott

답변:


9

고려해야 할 몇 가지 더

  • 프로젝트 디렉토리 구조가 정상입니까? 코드 주석을 수정 했습니까? 커밋 로그가 어떻게 표시됩니까?
  • 일반 목적 개요 (시작한 기술과 반대), 프로젝트에 대한 조언 읽기, 프로젝트 기록 (개발주기, 이전 프로젝트 관리자, 직원 목록, 요구 사항 / 기능 사양)
  • UML 다이어그램, 클래스 다이어그램, 워크 플로우 다이어그램!
  • 프로젝트가 정지 된 이유는 항상 좋습니다.
  • 개발 환경, 사용 된 IDE, 빌드 도구 등 기술 문서에서 다루고 있습니까?

방금 최근에 물려받은 프로젝트에서보고 싶었던 것들 중 일부만 생각했습니다. 당신이 이미 제공 한 것은 내가 가진 것보다 훨씬 더 많은 것입니다. 다음 팀을 돕기 위해 주요 카르마 포인트를 받게됩니다. :)


8

다른 사람이 내려 놓은 프로젝트를 집어들 때 내가 갖고 싶은 것은 다음과 같습니다.

툴체인에있는 모든 도구의 마지막 알려진 작업 버전을 포함하여 지침을 작성하십시오. 컴파일러, IDE 등은 시간이 지남에 따라 변경되며 이전 개발자가 시작하고 실행하는 방법에 대한 지침을 남겨두면 작업하기가 훨씬 쉽습니다.

실행 환경 지침-이 작업을 실행하려면 무엇이 필요합니까? 어떤 버전이 다시 도움이되는지에 대한 언급. 나는 최근에 특정 파일 세트가 특정 장소에 있어야하는 것을 골 랐고 다른 개발자들에게 퀴즈를 풀어야했습니다. 다른 개발자가 있었기 때문에 큰 문제는 아니었지만 아직 없었다면 문제가 있었을 것입니다.

리포지토리에 커밋 된 코드가 실제로 체크 아웃 및 빌드된다는 확신이 있습니다. 예전에는 이전 개발자 (아직도 여전히 주변에 있음)가 Makefiles로 정말 이상한 일을 수행하여 깨끗한 체크 아웃에서 프로젝트를 빌드 할 수없는 프로젝트를 선택했습니다. 말할 것도없이, 나는 실제로 어떤 일을하기 전에 먼저 그것을 수정해야했습니다. 이전 개발자를 사용할 수 없었던 경우 해당 장애물을 극복하는 데 시간이 오래 걸릴 수 있습니다.

프로젝트의 의도에 대한 일반적인 진술. 이 소프트웨어는 무엇입니까? 합리적으로 짧지 만 어떤 종류의 개요가 실제로 도움이 될 수 있습니다.


완전한 툴체인의 경우 +1 소프트웨어를 빌드하고 테스트 할 수없는 경우 전 세계의 모든 문서가 도움이되지 않습니다. 가능하면 모든 도구에 대한 설치 이미지를 포함하고 싶습니다 (현재 요즘은 일종의 VM 이미지를 선택했을 것입니다). 빌드 프로세스를 찾는 것보다 더 나쁜 것은 더 이상 존재하지 않는 회사의 타사 플러그인에 달려 있습니다!
TMN

@TMN-이것이 상용 IDE 플러그인 등과 같은 것들을 멀리하는 경향이있는 이유입니다. 나중에 환경을 재현 할 수 있다고 믿지 않습니다. 그리고 20 년 이상 된 소프트웨어 작업을 해본 결과 결코 사라질 것이라고 생각하지 않습니다.
Michael Kohne

4

스크린 캐스트

내가 마지막 직장을 떠났을 때 나는 실제로 편집되지 않은 스크린 캐스트를했는데, 내가 들었던 것에서 새로운 사람들을 온 보딩하는 데 매우 도움이되었습니다. 나는 팀을 방에 데려 가서 콘덴서 마이크를 설치하고 오디오와 화면을 녹음하면서 프로젝트에 대해 알고있는 모든 것을 설명했다. 그런 다음 그들에게 질문을하게했습니다. 하루 종일 가능한 한 빨리 타이핑하려고했을 때보 다 더 많은 정보를 기록 할 수있었습니다.


+1 이것은 매우 간단하지만 매우 의미가 있습니다.
lwm

2

해당 정보를 알고 있다면 비즈니스 요구 사항을 추가하십시오.

  1. 고객이 원하는 것은 무엇입니까?
  2. 변화가 어떻게 그렇게 되었습니까?
  3. 고객의 요구를 충족시키는 데 어떤 어려움이 있었습니까?
  4. 어떤 요구가 충족되지 않았으며 그 이유는 무엇입니까?

1

독립형 개발 시스템의 가상 머신 이미지 (예 : vm-ware)는 매우 유용 할 수 있습니다.

작년에 vb3 코드를 수정하라는 요청을 받았습니다. vb3, windows95 및 많은 ole-control이 설치된 실행중인 시스템을 다시 만드는 것은 상당히 어려웠습니다. 일주일 후 나는 포기했다 :-(

[업데이트] 오래된 가상 머신 이미지를 새로운 가상 머신 플레이어에서 재생할 수 있도록 변환하는 경험이 있습니까?

또한 최신 하드웨어 / 게스트 OS에서 아주 오래된 이미지를 실행하는 것이 더 이상 불가능할 수도 있다는 점도 고려해야합니다.


가상 머신 업그레이드에 대한 새로운 질문을 고려하십시오.

@ Thorbjørn Ravn Andersen. 네 말이 맞아 나는 대답의 마지막 부분을 재구성했다.
k3b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.