개발자 업무 순서
1) 과제 할당
2) 과제 분석
3) 개발
4) 테스트(리뷰)
5) QA 및 버그 수정
6) 배포
7) 유지보수
1) 과제 할당
: 사업부, 마케팅, 개발팀 등에서 개발 과제를 할당하며, 개발자는 그 과제를 분석하기 시작함
2) 과제 분석
: 주어진 과제가 무엇을 의미하고, 어떤 조건이 필요한지, 해당 조건들을 수행하기 위해 어떤 데이터를 저장해야 하는지를 결정
: 제공할 성능과 사용할 기술을 검토하고, 문제가 있을 경우 해결 방법도 분석 및 정리
* 요즘의 서비스는 복잡하기 때문에 작은 기능에서의 문제가 서비스 전체의 문제로 이어질 수 있기에 중요한 과정 중 하나
3) 개발
: 기능을 개발하고 버그를 수정함
: 개발 코드는 깃허브 등의 프로그램을 사용해 동료의 리뷰를 받고 리뷰에 대한 내용을 반영해 코드의 완성도를 높임
4) 테스트(리뷰)
: 단순히 실행이 잘 되는지만 보는 것이 아닌, 로직상의 문제는 없는지, 성능 한계는 어느 정도인지, 만든 코드가 읽기 편한지, 내가 만든 클래스/메서드/함수를 다른 사람이 간편하게 사용할 수 있는지 검토하면서 테스트 진행
: 때로는 개발용 코드보다 테스트를 먼저 작성하는 테스트 주도 개발 기법을 사용하기도 함
5) QA 및 버그 수정
: 애플리케이션 품질을 높이기 위해 QA(Quality Assurance)를 신청하며, QA 팀이 없는 회사는 개발 조직에서 담당
6) 배포 ~ 7) 유지보수
: 여러 과제를 한 번에 병합해서 배포하거나 새로운 기능이 추가될 때마다 배포 진행
: 애플리케이션을 쉽고 안전하게 배포하고, 문제 발생시 쉽게 이전 버전으로 돌리는 작업을 할 수 있게 준비
* 배포 방법
- 롤링 배포 : 특정 개수의 서버들을 돌아가며 배포
- 블루 그린 배포 : 똑같은 서버 인스턴슬ㄹ 띄우고 로드밸런서 설정을 바꾸는 배포
- 카나리 배포 : 전체 서버의 특정 비율만큼 배포해보고 문제없는 경우 점점 배포를 늘려나가는 배포
* 테스트, 배포, 모니터링까지 무한 반복이기 때문에 이 과정을 자동화 할 수 있는데 이를 CI(Continuous Integration)/CD(Continuous Deployment)라고 함
- CI(Continuous Integration)
: 지속적인 통합 이라는 뜻으로 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 저장소에 통합되는 것
- CD(Continuous Deployment)
: 지속적인 배포로 실제 프로덕션 환경까지 변경된 코드가 반영되는 것
'학습 기록 > 스프링 부트3 백엔드 개발자 되기[자바편]' 카테고리의 다른 글
[02장.1] 스프링과 스프링부트 (0) | 2023.08.17 |
---|---|
[01장.6~7] 백엔드 프로그래밍 언어 및 자바 애너테이션 (0) | 2023.06.29 |
[01장.4] 라이브러리와 프레임워크 (0) | 2023.06.29 |
[01장.3] 아이피와 포트 (0) | 2023.06.29 |
[01장.2] 데이터베이스 (0) | 2023.06.29 |