일부 우크라이나 개발자에게 아웃소싱 한 프로젝트를 관리하는 일을 맡았습니다.
회사는 Elance 를 통해 고정 가격으로 고용했습니다 . 그 시점에서 상사는 나를 처리하고 작업을 완료하기 위해 나를 내버려 두었 습니다. 완료해야 할 완전한 일에 대한 자세한 사양을 만들었습니다.
이 프로젝트에는 XMPP, RabbitMQ 및 Database와 같은 것들이 포함되었습니다. 그들과의 첫 만남에서 (항상 IM) 나는 그들이해야 할 일을 철저히 설명했다 . 그들은 그것을 이해하는 것처럼 보였으며, 그것이 쉽게 이루어질 것이라고 확신했습니다.
여태까지는 그런대로 잘됐다. 그러나 일주일 후 다시 만났을 때 그들은해야 할 일에 대한 오해로 가득 차있었습니다. 개발자 중 한 사람에게 XMPP를 알고 있는지 물었을 때 그는 처음으로 XMPP를 사용하고 있다고 말했습니다. 첫 회의에서 프로젝트의 복잡성과 관련된 기술에 대해 구체적으로 언급했습니다. 또한, 나는 그들이 어떻게해야하는지에 대한 기능 사양 을 작성하도록 반복해서 요청했다 . 그러나 그들은 NO라고 말하고 오히려 코드를 작성한다고 주장했다. 나는 말했다.
프로젝트는 3 주 후에 완료되었고 필요한 것을 제공했습니다. 그 시점에서 코드를 검토하기 시작했습니다. 대부분 괜찮 았지만 몇 가지 중요한 문제가 있습니다.
- 그들은 구성 파일로 분리해야 할 것들을 하드 코딩했습니다.
- 하나의 파일로 통합해야 할 여러 구성 파일이 있습니다.
- 그들은 전혀 문서를 작성하지 않았다
- 다른 사소한 변경
나는 그들에게 이러한 변경을 요청했다 (문서를 제외하고)-그리고 우리는 논쟁을했다.
그들은 가격이 고정되어 있기 때문에 작업 코드를 완료하면 변경을 요청하는 것이 불공평하다고 말했다. 그들이 프로젝트에서 불합리한 시간 동안 일했고 지금은 아무것도 요구하는 것이 잘못되었습니다.
마침내 그들은 변경을했고 프로젝트는 끝났습니다. 그러나 그것은 내 마음에 몇 가지 질문을 남깁니다 ...
그들은 필요한 것을 행했지만 제대로 수행 해야 했기 때문에 변경이 필요했습니다 . 정말 불공평 했어?
기능 사양없이 코드를 작성하는 데 동의 한 이유는 무엇입니까?
그들이 처음으로 모든 것을 이해했는지 확인하지 못한 이유는 무엇입니까?
누구나 같은 입장에서 자신을 찾으십니까? 아웃소싱 프로젝트를 관리하는 더 좋은 방법이 있다고 생각하십니까?
-업데이트-
모든 의견에 감사드립니다. 전체 경험을 반영한 후 결론을 내릴 수 있습니다 ...
나는 내 측면에서 사양이 모호하지 않았지만 제안 된대로 분명히 말끔 하게 만들지 않았습니다 . 따라서 가능한 한 구체적으로 설명해야합니다. 사양에서 스펙을 읽고 무언가를 놓쳤는 지 확인하십시오. 적어도 세 번 반복하십시오.
코드가 충분하지 않은 것을 지정하기 만하면됩니다. 코드의 모양을 지정해야합니다. 디렉토리 구조는 무엇인가; 가능한 경우 파일 이름까지도. 이것은 나중에 많은 성가심에서 당신을 구할 것입니다. 코딩 지침, 변수 명명 규칙, 내부 문서 형식 등을 엄격하게 지정하십시오. 해당 지침을 준수하는지 확인하십시오.
기능적 사양을 요구하십시오. 코드보다 먼저 작성해야합니다. 이렇게하면 많은 혼란과 오해가 생길 것입니다.
이상 징후를 조기에 식별하여 수정하기 위해 개발중인 코드를 검토하십시오. 적어도 하루에 한 번 그들과 대화하십시오.
마지막으로 그들과 좋은 관계를 유지하십시오. 그들이 당신의 작업에 감사한다고 느끼게하십시오. 지침에 맞게 과장하지 말고 대신 요청하면 프로젝트를 완료하면 코드를 훨씬 쉽게 유지 관리 할 수 있다고 알려주십시오.