개발자가 하는 일은 “코드를 작성하는 일”외에도 많다.
STEP | 하는 일 |
---|---|
STEP 01. | 요구사항 분석 |
STEP 02. | 설계 |
STEP 03. | 구현 |
STEP 04. | 테스트 |
STEP 05. | 배포 |
<aside> <img src="/icons/aquarius_gray.svg" alt="/icons/aquarius_gray.svg" width="40px" /> 리뷰란?
내가 하고 있는 일이 우리의 목표를 향해 올바른 방향으로 가고 있는지 확인하기 위해
재검토 하는 일
</aside>
https://www.youtube.com/watch?v=Lb_8eI-tdZw
<aside> <img src="/icons/aquarius_gray.svg" alt="/icons/aquarius_gray.svg" width="40px" /> 개발자가 하는 일은 코드 작성만이 아닌데 왜 코드 리뷰에만 집중할까?
나쁜 냄새는 (개발자가 일하는 과정 중)
빨리 발견할수록 고생을 덜 한다.
그래서 우리는 각 단계마다 필요한 리뷰
가 있다.
</aside>
요구사항 분석 단계
는 수혜자 또는 사용자와 같은 다양한 이해관계자의 상충할 수도 있는 요구사항을 고려하여 새로운 제품이나 변경된 제품에 부합하는 요구와 조건을 결정하는 것
따라서, 요구와 조건을 결정하기 위해 문제를 명확히 정의하는 것이 중요
함
서로 리뷰를 하지 않으면 기획자, 디자이너, 개발자가 생각하는 것이 모두 달라져서 결과물이 달라질 수 있다.
기획자가 넌지시 던지는 태스크에 대해서 디자이너와 개발자가 중요도를 잘못 잡을 수 있기 때문에 항상 코어한 문제를 명확하게 정의했는지를 리뷰하는 것이 필요하다.
<aside>
<img src="/icons/code_gray.svg" alt="/icons/code_gray.svg" width="40px" /> “왜 이 기능이 제안되었는지에 대해 제안되었는지?”
를 검토해야 함
이 질문을 통해 “진짜 문제는 무엇이었을까?”
에 대한 해답을 얻을 수 있음
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 개발 범위 축소
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 우선순위가 높은 일에 집중
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 유관부서와 신뢰 향상
</aside>
설계
란 소프트웨어 해결책을 위한 문제해결과 계획 과정이다. 즉, 문제 해결에 도달하는 과정에 대한 계획
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 아키텍처 설계
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 로직 설계
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 데이터 구조 설계
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> API 설계
</aside>
설계를 리뷰하지 않으면 다음의 문제가 생김
뱅크샐러드의 특별한 스펙, '테크 스펙' | 뱅크샐러드
<aside> <img src="/icons/code_gray.svg" alt="/icons/code_gray.svg" width="40px" /> 목적보다 수단이 앞서는 것을 경계해야 한다.
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 구축 범위 축소
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 예측 가능한 일정
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 우선순위가 높은 일에 집중
</aside>
<aside> <img src="/icons/asterisk_gray.svg" alt="/icons/asterisk_gray.svg" width="40px" /> 유관부서와 신뢰 향상
</aside>