소프트웨어 개발 주기(Software Life Cycle)
프론트엔드 개발자의 입장에서 작성
1. 요구사항 분석
개발 항목을 구체화하고 기술적 방향성을 수립
- 사용자의 관점에서 요구사항 수집
- 기능, 제약조건, 목표등을 정의
- 프레임워크 검토 (React, Vue)
- 디자이너와 컨셉, 레이아웃, 구성에 대한 협의
- 산출물 : 요구사항 명세서
2. 설계
서비스 전반에 사용될 기술들을 검토하고 적용하여 구조 설계
- 분석단계에서 산출된 요구사항을 설계하는 과정
- 개발 도구 및 환경 설정
- 컴포넌트, 모듈 간 데이터를 공유하고 변경하는 방법
EX) 상태 관리를 어떻게 할 것인지(Redux, Recoil, ...)
- 백엔드 개발자와 API 규약 정하기
3. 개발
디자인, 기획서를 바탕으로 기능을 개발
- 산출된 디자인과 기획서를 기준으로 개발 시작
- 프론트엔드 개발자는 백엔드 API의 개발 상태에 영향을 받지 않도록 모킹을 통해 개발 진행
4. 배포
서비스 배포 전 테스트 환경을 구축해 QA 진행, CI/CD를 도입한 배포 실시
- 개발 완료 결과물을 QA 실시
- CI/CD 도구(gitlab, jenkins, argoCD, K8S)들을 이용해 프로젝트에 최적화된 배포 전략을 수립하자
- 배포 자동화는 필수적이다