1️⃣ CI/CD 파이프라인과 정적분석 자동화 관리
핵심 개념 :
빌드, 테스트, 배포 과정을 자동화하고, 코드 품질을 사전에 검증해 지속 가능한 소프트웨어 개발을 실현하는 전략
필요성 :
실행 방법 :
Jenkins로 CI/CD 파이프라인 구축 (빌드, 테스트, 배포 자동화)
GitHub Push 이벤트, Merge 트리거 설정
SonarQube, MISRA C 등 정적분석 도구 연동
Slack, 이메일 알림 시스템 연계
Jenkinsfile로 단계별 작업 정의
2️⃣ 스크럼(Scrum)
핵심 개념 :
짧은 반복 주기(Sprint)를 통해 제품을 점진적으로 개발하며, 피드백과 협업 중심으로 운영하는 개발 프레임워크
필요성 :
1. 요구사항 변경과 불확실성에 유연하게 대응
2. 진행 상황 공유 부족으로 인한 혼선 예방
3. 개발 완료 전 결과물 부재로 인한 일정 지연 방지
실행 방법 :
역할 구성: Product Owner, Scrum Master, 개발팀
주요 이벤트: Sprint Planning, Daily Scrum, Sprint Review, Retrospective
백로그 관리: Product/Sprint Backlog 작성 및 우선순위 정리
협업 도구: Jira, Trello 등 활용
3️⃣ 시작 전 계획 수립(Planning)
핵심 개념 :
명확한 요구사항 정의와 프로젝트 진행을 위한 정보·계획 수립
필요성 :
요구사항 정의를 통해 고객과의 소통 용이, 프로젝트 방향성 확보, 효율적인 진행 가능
실행 방법 :
4️⃣ 기능 분리 기반 Git Branch 전략과 Pull Request 협업
핵심 개념 :
기능 단위로 브랜치를 나누고, Pull Request(PR) 기반으로 코드 통합과 리뷰를 진행해 코드 품질과 협업 효율성을 높이는 전략
필요성 :
1. 하나의 브랜치에서 동시에 작업 시 충돌과 오류 발생 위험 증가
2. 리뷰 없는 병합은 성능 저하, 버그 발생, 신뢰도 저하 위험
3. 체계적인 브랜치 전략과 PR 협업은 코드 품질 유지, 팀워크 향상, 작업 투명성 확보
실행 방법 :
추가적인 Best Practice :