※ 본 콘텐츠는 강의 영상(VOD)과 전자책(PDF)이 함께 제공됩니다.
우리 개발팀의 현황, 간단히 진단해보고 싶다면? 이 강의에 주목!
≪조엘 온 소프트웨어≫의 12가지 진단 항목을 현대 버전으로 재해석
회사마다 서비스 특성에 따라 사용하는 기술도, 도구도, 그것을 사용하는 방식도 의사소통 방식도 제각각 다릅니다. 목표는 정해졌고 개발을 마쳐야 하는 기일도 정해졌기에 이제 개발 진척 속도를 높여야 하죠. 개발을 완료하기 위해 중간 과정에서 생산성을 점검해야 할 필요도 있을 겁니다.
모든 상황에 맞출 수 없지만 그래도 공통으로 점검해야 하는 부분이 있을 거예요. 바로 그 부분에 집중했습니다. 점검 용도로 마땅한 체크리스트가 없어서 예전의 점검 도구가 여전히 참고용으로 쓰인다는 점에 착안하여, ≪조엘 온 소프트웨어≫의 번역자이신 박재호 님과 함께 ≪조엘 온 소프트웨어≫에서 제공했던 12가지 항목을 현대 버전으로 재해석하여 여러분에게 제공해 보기로 했습니다. 부디 이 콘텐츠가 복잡한 개발 과정 중에 참고하는 하나의 실마리로 활용되면 좋겠습니다.
그러나 업계에서 일반적으로 통용되는 경험적인 법칙을 정리해 놓았기에 현재 상황을 빠르게 평가하고 보완점을 찾아내는 출발점으로 사용하기에 적합하다는 생각입니다. 팀 관리자에게는 필요한 지원 자원 내역을 확인하는 출발점으로, 팀원에게는 팀 프로세스를 검토하고 보완하는 기준점으로, 취업 준비생에게는 면접 과정에서 회사의 수준을 평가하고 입사 후에 일어날 업무에 대비하기 위한 힌트로 유용하게 사용하시기 바랍니다.
누구를 위한 강의인가요?
복잡한 개발환경에서 팀을 이끄는 리더
개발 과정에서 일어나는 반복적인 실수를 개선하고 싶은 개발자
팀을 이끄는 리더가 되고 싶은 개발자
강의를 수료하고 나면
우리 조직의 개발 생산성 저하에 가장 큰 영향을 미치는 요소를 파악할 수 있어요.
우리 조직의 개발 생산성 보완을 위해 적절한 도구를 선택할 수 있어요.
우리 조직의 개발 복잡도가 높아진 이유를 논리적으로 설명하여 커뮤니케이션할 수 있어요.
[ ] 체크리스트 주제: 협업 / 자동화 / 테스트 / 문서화 / 환경 / 표준화 / 채용
[1] 협업: 깃과 같은 현대적인 DVCS와 협업을 위한 중앙 저장소를 안전하게 유지하고 있습니까?
[2] 자동화: CI/CD 파이프라인을 구성해서 코드 커밋부터 배포에 이르기까지 전자동화된 환경을 구축하고 있습니까?
[3] 자동화: 매일 특정 시점·주기로 커밋할 때마다 자동으로 빌드를 진행하고 단위 테스트까지 수행하는 환경을 구축하고 있습니까?
[4] 자동화: 버그 데이터베이스와 소스 코드 관리 시스템을 연동해서 운영하고 있습니까?
[5] 테스트: 코드 커밋에 앞서 자동으로 버그를 찾을 수 있는 단위 테스트를 현황화 하여 돌리고 있습니까?
[6. 협업] 일정과 할 일을 공유해서 일목요연하게 확인할 수 있는 협업 관리 시스템을 구축해서 사용하고 있습니까?
[7] 문서화: 개발에 필요한 아키텍처와 설계 명세서를 공유 · 수정할 수 있는 문서 관리 시스템을 구축해서 사용하고 있습니까?
[8] 환경: 프로그래머에게 사무실이나 집 등 장소에 무관하게 개발이 가능한 환경을 제공하고 있습니까?
[9] 표준화: 표준화된 개발 환경을 구축하여 반나절만에 신입사원이 코드를 빌드하고 단위 테스트를 시행할 수 있습니까?
[10] 테스트: 개발자가 단위 테스트를 수행하고, QA는 통합 테스트(E2E)를 수행하고 있습니까?
[11] 채용: 신입지원자를 위해 자동화된 코딩 테스트 뿐만 아니라 화이트보드를 활용한 현장 테스트를 진행하고 있습니까?
[12] 테스트: UI는 물론이고 UX 테스트까지 진행하고, A/B 테스트 등으로 사용자의 직접적인 반응을 확인하고 있습니까?
팀 개발을 위한 Git, GitHub 시작하기(개정판)
정호영 , 진유림
가야트리 모한