팀 기반 개발에서 버전 관리가 중요한 이유 알아보기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 소프트웨어 개발팀이 겪는 일반적인 어려움에 대해 설명할 수 있습니다.
- 이러한 문제를 완화하기 위한 버전 관리의 역할을 설명할 수 있습니다.
- 효과적인 개발 팀이 공유하는 협업의 원칙에 대해 설명할 수 있습니다.
버전 관리가 없는 팀의 문제
Sally, Gunjan, Ali를 만나보세요. 이 세 명의 훌륭한 개발자들은 흥미진진한 새로운 Salesforce 앱을 개발 중이며 내일은 기다렸던 출시일입니다. Sally와 Gunjan은 개발자 조직에서 일했으며, Ali는 Sandbox 조직에서 일했습니다. Sally는 관리되지 않은 패키지를 생성하여 Sandbox 조직에 푸시합니다. Gunjan도 같은 작업을 수행합니다. 어떤 문제가 발생할 수 있나요?
- 병합 프로세스가 없으므로 각자 변경 사항을 쉽게 덮어쓸 수 있습니다.
- Ali가 Sandbox에서 변경한 내용을 덮어쓰면 다시 원래대로 되돌리기 위한 방법이 없습니다.
Sally, Gunjan, Ali는 숙련된 개발자입니다. 이러한 일이 발생하기 위한 예방 절차가 마련되어 있지만, 새로운 기능을 구축하는 데 많은 시간과 상세 계획이 필요하여 에너지 손실이 발생할 수 있습니다. 이 팀은 아직 잘 모를 수 있지만 도구로 인한 제한 사항이 있습니다. 제약을 느끼지 않더라도 팀이 가진 잠재력만큼 효과적이거나 생산적이지 않다는 것을 알 수 있습니다.
버전 관리에서 해결까지
버전 관리를 통해 이러한 문제를 해결할 수 있으며, 모든 개발자가 쉽게 접근할 수 있습니다. 품질 높고 무료이면서 오픈 소스인 버전 관리 시스템(VCS)이 많이 존재하지만, 이 과정에서는 Git을 중점적으로 다뤄 봅니다. 단독으로 일하든 팀과 함께 일하든 워크플로를 변경하면 방금과 같은 문제를 예방하는 데 도움이 될 수 있습니다. 또한 전반적인 작업의 질을 향상시킬 수도 있습니다.
버전 관리가 팀 개발에 어떻게 도움이 되는 이유
버전 관리라는 용어는 사람들이 어떤 항목의 여러 버전을 추적하는 데 도움이 되는 모든 시스템을 광범위하게 포함합니다. 하지만 Git과 같은 소프트웨어 도구를 설명하는데 사용되는 경우가 더 많습니다. 각 VCS는 각기 다른 장단점을 가지고 있지만, 크게 분류하면 중앙 집중형과 분산형으로 분류할 수 있습니다.
Git은 분산형 버전 관리 시스템 중에 가장 널리 사용되는 예입니다. 분산형 버전 제어 시스템은 모든 공동 작업자에게 개발자의 로컬 시스템에 있는 모든 브랜치(작업 행) 및 커밋(내역에 저장된 시점)을 포함하여 언제든지 전체 저장소의 사본을 제공함으로써 개발자가 유연하고 자유롭게 작업할 수 있도록 지원합니다.
협업으로 목표 달성하기
최신 버전 관리 시스템은 팀이 협업할 때 직면하는 문제를 해결하는 데 도움이 되도록 설계되었습니다.
협업 문제를 해결하려면 Git과 같은 훌륭한 VCS 이상의 도구가 필요하며, 접근 방식을 객관적으로 평가하는 것이 필요합니다. 사일로의 벽을 허물고 더 많은 관점과 대화를 수용할 경우 여러분과 팀이 더 나은 소프트웨어를 제공할 수 있습니다. 커뮤니케이션 및 전반적인 품질을 개선할 목적으로 설계된 도구 및 워크플로가 있습니다.
그것은 Git 위에 구축된 협업 플랫폼인 GitHub입니다. GitHub는 업무를 공유하고, 팀 업무를 보고하고, 코드 검토를 완료하고, 코드를 구축하고, 테스트 및 배포하는 데 도움이 되는 통합을 연결할 수 있는 커뮤니티 공간입니다. GitHub는 전 세계에서 가장 대규모의 오픈 소스 프로젝트 집합체로, 개방적이고 협력적인 개발의 이점을 인식하는 전 세계의 혁신하고자 하는 조직들이 점차 더 많이 채택하고 있습니다.