기획 - 설계 - 구현 - 개선
1) 프로덕트 선정
2) 프로젝트 진행 전 점검사항
3) 프로젝트 진행을 위한 세부사항 도출
서비스화보다는 자신의 기본 역량을 보여줄 수 있는 주제
다양한 기술을 활용해 상용화하기 좋은 주제
면접관들은 기술 사용의 넓이보다 경험의 깊이 주목
-> 새로운 기술 사용 어필보다 개발자 기본 역량 먼저
요구사항 도출 후 정리
요구사항 명세서: 도출한 요구사항을 표(문서)로 정리
이벤트 스토밍: 다이어그램 등
시스템에서 발생하는 이벤트를 중심으로
user story: 서비스에서 구현되는 기능을 사용자 관점에서 작성
-> 기획단계에서 모든 요구사항을 도출하는 것은 불가능
핵심 요구사항 먼저 도출하여 추가/수정을 통해 발전.
WBS(Work Breakdown Structure) 작성
프로젝트 업무를 카테고리로 구분하고 각 카테고리를 세부 작업으로 나누어 일정 및 진행상황 체크.
중간 마일스톤 필요.
중간 목표, 전환점 -> 달성감 부여의 역할.
업무 분담 - 도메인 단위/화면 단위로 분담
그라운드 룰
팀원 일정 수립. 공통 집중 개발 시간(코어타임) 약속.
회의시간, 수칙 등
협업 컨벤션
실제 협업 시 필요한 규칙
스탠드업 회의를 통해 리소스 관리
-> 그 날 해야하는 일, 전날의 문제 상황 등 공유 및 논의
프로젝트 진행상황 관리
ex) 노션, github, 스프레드 시트 등
-> 업무 유형, 현 상태, 업무의 포함-계층관계 명시
스프링부트 프로그램에서 왜 테스트 코드를 작성하는가
-> 테스트 코드 작성 시 애플리케이션 실행/종료 필요X
-> 비용 절감, 명확한 결과 검증
-> 계층별 테스트를 통해 문제 확인 가능
단위 테스트 - 하나의 모듈을 기준으로 독립적 진행
통합 테스트 - 모듈의 통합화 과정에서 모듈간 호환성 테스트
! 디버깅은 필수. 습관 들일것