리더십은 기계 구성 및 새로운 개발자 지향에 대한 표준 프로세스에서 가치를 보지 못합니다


9

약 3 개월 전에 우리의 수석 웹 개발자이자 디자이너 (동일한 사람)가 회사를 떠 났는데, 녹색 목초지가 떠나는 이유였습니다. 나는 그들에게 좋습니다. 내 문제는 그의 부서가 완전히 문서화되지 않았다는 것입니다. 남은 리드 이후 상황이 어려웠으며, 새로운 프로젝트를 인용하기 위해 사용하는 이론적 지식과 그의 출발 결과로 잃어버린 기존 제품에 대한 기술 / 구현 지식에 대한 많은 지식이 있습니다. 저의 정상적인 역할은 제품 ​​관리자 (제품 자체) 및 일부 프로젝트 기반 컨설팅 작업의 비즈니스 분석가입니다. 나는 지난 1 년 동안 코드를 작성하도록 가르치고 앞으로 나아 가기위한 노력으로 더 쉬운 기능 요청을 구현하고 티켓팅 시스템에 제출되는 문제가없는 버그를 수정하기 위해 랩톱을 개발 시스템으로 설정하는 작업을 수행했습니다. 그러나 새로운 Windows 시스템을 사용하여 프로덕션 앱과 완벽하게 작동하도록 구성하는 방법을 아는 사람은 없습니다.

나는 아직 떠난 개발자와 연락을하고있는 상사에게 요청하여 새 개발자를 온보드하는 프로세스, 소프트웨어 설치, 필수 패키지, 프로덕션 애플리케이션 서버에 배포하는 프로세스 등을 문서화하고 작성하도록 요청했습니다. 이것은 존재하며 컴퓨터를 기능 개발 시스템으로 작동 시키려고 바퀴를 돌리고 있습니다. 그러나 그녀는 그러한 과정이 존재할 필요성을 이해하지 못하는 것 같습니다. 떠난 사람을 교체 한 새 개발자가 환경에 맞게 사전 구성된 시스템을 사용하고 있었으므로 다른 개발자를 추가 한 경우 새 개발자도 새 시스템을 설정할 수 없었습니다.

내 질문은 두 부분입니다.

  1. 개발 에코 시스템의 일부로 새 컴퓨터를 온보드로 구성하고 구성하는 프로세스가 있다고 가정하는 것이 잘못입니까?

  2. 나는 유쾌한 아기이고 과정을 알아 내고 스스로 문서를 만들어야합니까?


1
이것의 대부분은 사용 된 기술 및 기타 세부 사항에 따라 다릅니다. 일부 기술 스택에서는 몇 가지 구성 파일에 설치해야하는 가장 중요한 종속성을 찾을 수 있으며, 그렇지 않은 경우 문서화해야합니다. 현재 시스템을 사용하는 개발자는 어떤 정보가 절대적으로 중요한지 잘 알고 있어야한다고 생각합니다.
thorsten müller

2
그리고 이것은 인생에서 교훈이되어야합니다. 설정을하는 것은 작업의 절반이며, 떠날 때 모든 것이 무너지지 않도록해야합니다.
MrFox

좌절하기 시작했고, 적극적으로 노력하고 있지만 누락 된 구성 문제가 있습니다. (오버플로에 특정 오류를 게시 할 것입니다) 스택은 다음과 같습니다. MS SQL Server, Visual Studio 2008, Visual Source Safe, IIS 7, ASP.NET 앱 코드
OpenCoderX

1
비주얼 소스 안전 eh? 그 경우에 나는 이전 사람이했던 것이 끔찍하게 훌륭하지 않았다고 생각합니다. 그런 다음 다시 소스 제어가 있습니다.
Wyatt Barnett

1
나는 GIT 다이 열심히입니다. 로컬 버전으로 사이트를 실행하면 GIT를 사용하여 변경 사항을 추적 한 다음 GIT 마스터 분기 만 VSS에 체크인합니다. 소스 제어 내의 소스 제어
OpenCoderX

답변:


5

우선, 개발자가 작업 환경을 설정해야하는 것은 이상합니다. 이 작업은 일반적으로 시스템 관리자를위한 것입니다. 따라서 이것이 당신이해야 할 일이 아니라는 것을 고려하면 다른 사람이 당신을 위해 이것을 할 것을 기대할 권리가 있습니다.

대부분의 회사에는 통지 기간이 있습니다. 보통 일주일에서 한 달입니다. 그러나 어쨌든 그 시간은 회사를 떠나는 사람이 문서를 만들고, 코드에 주석을 추가하고, 아키텍처를 문서화하는 등의 일을하기에 충분한 시간입니다. 다음에 누군가 떠날 때.

새 환경을 설정하기위한 프로세스가 있어야한다고 기대할 수 있습니다. 실제로 회사가 성장하고 더 많은 개발자가 있다면 같은 문제에 직면하게 될 것입니다. _ 이것은 상사를 설득하는 데 큰 논쟁이 될 수 있습니다. 인수를 사용하여 경영진이 그러한 작업을 위해 시스템 관리자를 고용하도록 설득 할 수도 있습니다 (문제가 발생했기 때문에 관리자가없는 것으로 가정합니다). 개발 환경을 설정하는 것 외에도 새로운 컴퓨터를 가지고 있다면 로컬 네트워크 등에 통합해야합니다.


우리는 시스템 관리자를 보유하고 있으며 기본 네트워크 액세스, 사용자 권한 (Active Directory)을 사용하여 컴퓨터를 구성하고 소프트웨어를 설치할 수 있습니다. 예를 들어 Visual Source Safe 및 Visual Studio를 설치하기 위해 네트워크 관리자와 협력해야했지만 설치 후 지식이 끝나는 곳입니다. 이러한 구성을 수행하는 것은 결코 불가능합니다.
OpenCoderX

1
어쩌면 나는 너무 망쳤습니다 ._ sys 관리자는 프로젝트를 게시 할 때 (sql을 알지 않고도) SQL 쿼리를 실행할 수도 있습니다). 이 경우 반드시 문서가 필요합니다.))
superM

많은 회사, 특히 편집증 또는 무능하게 관리되는 회사에서 "통지 기간"은 HR 또는 관리자의 사무실에서 걸어 나가서 사임하기 시작하는 데 걸리는 시간입니다.
jfrankcarr

나는 남은 리드가 몇 주 전에 통지를했다고 생각하지만, 그가 출발을 위해 우리를 준비시키기 위해 무엇을했는지 모르겠다. 나는 그들이 대체 한 훈련을 주로 훈련했다고 생각하지만, 누가 괜찮 았지만, 떠난 사람이 사용하는 기계를 갖추었다. 나는 그들의 출발 프로그래밍이 단지 취미가 될 때까지 상황에서 조금 더 코를 찔렀어야했다. 새로운 개발자가 새로운 시스템을 설정하는 것에 대해 알고있는 것을 알게되면서 다시 돌아 왔습니다.
OpenCoderX

이것은 회사마다 다를 수 있지만 기계 구성 프로세스를 수행 한 모든 곳에서 에스크로 요구 사항으로 문서화해야했습니다.
JohnL

5

개발 에코 시스템의 일부로 새 컴퓨터를 온보드로 구성하고 구성하는 프로세스가 있다고 가정하는 것이 잘못입니까?

아니요. 이러한 프로세스를 수행하면 이미 직면 한 문제를 피할 수 있습니다. 일부 대규모 조직에는 개발자 컴퓨터의 모습에 대한 표준 디스크 이미지가 있습니다. 새 개발자를 고용하면이 "개발자"디스크 이미지를 사용하여 올바른 하드웨어 사양을 가진 사용 가능한 컴퓨터를 지우고 이미지를 다시 만듭니다. 표준 체크리스트 (때로는 이미지에 포함되지 않은 특정 도구에 대한 사후 이미징 소프트웨어 설치가 포함됨) 다음에 모든 개발자 컴퓨터가 동일한 방식으로 시작되도록 사용자가이를 수행합니다 (사용자는 변경 후 수정 및 수정할 수 있음) 그들-자신의 위험에!).

마찬가지로 설정이 매우 복잡한 일부 응용 프로그램 에는 코드를 확인하고 서버를 구성하며 응용 프로그램을 빌드하고 로컬로 배포하는 방법 을 새로운 개발자 에게 설명하는 문서가 있습니다 . 하나의 응용 프로그램에는 워크 스테이션 전용 설정 스크립트가있어이 프로세스를보다 쉽게 ​​수행 할 수 있습니다.

나는 유쾌한 아기이고 과정을 알아 내고 스스로 문서를 만들어야합니까?

당신은 있지만 조금만 있습니다. 이것은 모두 오래 전에 문서화되어야한다고 말한 것이지만, 떠난 개발자는 떠나기 전에 교체 일 (또는 가능한 경우 몇 주)에 완전한 지식 이전을 수행해야했습니다. 그것은 전혀 일어나지 않은 것처럼 들리 며, 어쨌든 과거의 모든 것입니다.

그래서 지금 무엇? 떠난 개발자가 많은 도움이 될지 의심됩니다. 그들은 이미 새로운 직장을 가지고 있으며 자신의 삶에서 바쁘게 무엇을 알고 있는지 알고 있습니다. 관리자가 강제로 도움을 줄 수있는 법적 근거가 있는지 의심됩니다. 그들이 몇 가지 질문에 답하기 위해 몇 시간의 시간이 걸린다면 좋을 것입니다. 대부분 자신을 위해 파악하는 것처럼 보입니다. 이를 통해 적절한 프로세스를 철저히 문서화하고 올바르게 처리 할 수 ​​있습니다. 당신을 따르는 사람들은 이것에 감사합니다! 행운을 빕니다!


1

먼저, Visual SourceSafe를 내려야합니다. 나는 그것이 말할 필요가 있다고 생각합니다. 최소한 TFS로 이동하십시오. 그리고 다른 옵션들도 있습니다.

이제 그 길을 벗어났습니다. 나는 이것이 "당신이 올바르게하고 싶다면 ..."의 경우라고 생각합니다. 궁극적 인 목표는 개발자가 새로 설치 한 머신을 소스에 연결하고, 최신 정보를 얻고, f5를 누르는 것입니다. 응용 프로그램 바로 가기를 실행)하고 작동하는 응용 프로그램이 있습니다.

한 가지 옵션은 작업 환경을 처음부터 구축하여 기본 개발자 이미지로 사용하는 것입니다. 개발자가 탑승하면 해당 이미지를 자신의 컴퓨터에 배포하기 만하면됩니다.

환경을 좀 더 수동적 인 상태로 옮기는 방법에 대한 책이 있습니다. Fowler 시리즈의 Continuous DeliveryContinuous Integration 을 좋아 하지만 다른 옵션이 있습니다.


1

현재 작업을 시작했을 때 개발자 PC 설정을위한 문서화 된 절차가있었습니다.

나는 기존 팀의 "도움"을 피하면서 스스로 절차를 따랐다.

(지식이 가장 오래 된 개발자가 아니라 문서에 구현되어야합니다.)

나는 절차가 잘못되었거나 불완전한 곳에서 레드 라인 변경으로 표시했으며, 일주일 후 두 가지 일이있었습니다.

1 년 후 하드 디스크 오류가 발생한 후 재 구축하는 데 2 ​​일이 걸렸습니다.

상사에게 말하십시오 : 해당 PC에서 하드 드라이브가 고장 나면 개발이 진행되지 않습니다!

나는 이틀이 이틀의 낭비라고 결정했다 ....

이제 각 개발 프로젝트마다 디스크 이미지가있는 가상 머신을 사용합니다.

설정은 VM 이미지를 대상 PC에 복사하고 시작하는 것입니다. "runme"이라는 아이콘이 있습니다. 사용자 이름을 묻는 다음 소스 코드에 액세스하는 데 사용되는 사용자 이름을 자신의 이름으로 변경합니다. 또한 IDE의 빈 문서 작성자 필드를 사용자 이름으로 변경합니다.

(나는 약 2 시간 만에 룬 ​​문자를 썼다. 우리는 개발자이고 문제를 멀리 프로그래밍한다)

개발자 PC는 VM 서버를 제외한 표준 시스템입니다.

우리는 비싸지 않은 virtualbox를 사용하고 있습니다.

가상 머신을 사용하면 머신을 교체하는 것이 20 분의 일이 아닙니다 . 기가비트 이더넷을 사용하여 VM을 복사하면이 작업이 더 빨라집니다.

완전한 공개 : 나는 내가 일하는 팀 리더이며 경영진은 나에게 자유로운 고삐를 준다.


나는 종종 PC에서 모든 것을 설정하는 대신 VM을 수행하는 것에 대해 궁금해했습니다. 개발을 위해 멋지고 깨끗한 VM을 보유하고 IT 직원이 개발 시스템을 망쳐 놓도록 업데이트를 강요했다고 걱정하지 마십시오.
Joel Rondeau

일단 바이러스 백신 업데이트가 실행될 때 많은 시스템 DLL과 상호 작용하는 C ++ 프로그램을 디버깅하고있었습니다. DLL의 일부가 변경되었습니다. 다시는 그 테스트를 다시는하지 않을 것 같아요.
Tim Williscroft

0

응용 프로그램을 컴파일하고 실행하는 데 필요한 소프트웨어에 대한 문서가 있어야합니다.

클라이언트 박스가 응용 프로그램을 실행하는 데 필요한 내용을 설명하는 문서도 있어야합니다.

그들은 같은 목록이 아닙니다.

귀사에서 새로운 개발자를 고용하는 경우 코딩을 시작하는 데 얼마나 걸립니까? 하루? 일주일? 코드를 컴파일하는 데 어떤 소프트웨어가 필요한지 알지 못하면 시간이 걸리는 시행 착오 프로세스가 될 수 있습니다. 그러나 한 번만 수행하면됩니다.

제 질문은 새로운 개발자가 무엇을하고 있습니까? 이것은 당신의 일이 아니라 그의 일이어야합니다. 그는 다른 사람의 대체물입니다. 그렇습니다. 그가 문서없이 환경에 들어간 것은 짜증나지만, 문서를 작성하는 것은 그의 임무 여야합니다. 그를 앉아서 개발 환경이 무엇인지 파악하고 문서화하십시오. 클라이언트 상자에서 앱을 실행하는 데 필요한 사항을 파악하고 문서화하십시오.

이전 개발자에게 연락하는 것에 관해서는 그렇지 않습니다. IMHO는 개발자가 문서 나 지식 이전없이 회사를 떠나면 컨설팅 속도로 업무를 수행하기를 원합니다. 그것은 전문가가 아니며 보상해서는 안됩니다. 그렇습니다. 스스로 알아내는 데 약간의 시간이 걸릴 수 있지만, 귀하 / 팀은 그 과정에서 무언가를 배우게되며 생산 된 문서는 최신 정보가 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.