반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- react
- js fetch
- 최단거리알고리즘
- use-immer
- react-native-snap-carousel
- carouselButton
- Javascript
- 브랜치 이름 변경 명령어
- styled-compoents
- styled components 설치 안됨
- styled-components 설치 오류
- Code Splitting
- Styled Components
- javascript 비동기
- reading 'useDebugValue'
- 단일링크드리스트
- Call Stack
- git branch -m
- reading 'edgesOut'
- styled-components extension
- 네트워크 통신 요청
- React 공식문서
- likelion
- fetch()
- 1966 프린터큐
- styled-components 버전 문제
- 테스크 큐
- java
- react immer
- vscode extension
Archives
- Today
- Total
Keep Going
[agricola 프로젝트 리뷰] 요구사항 분석이 부족해서 일어난 일 본문
반응형
요구사항 분석
: 소프트웨어 개발의 초기 단계에서 사용자의 필요를 이해하고 이를 기능으로 변환하는 과정
배경
- 기획은 존재하는 상태 (아그리콜라 설명서)
- 우리가 해야 할 것은 [ API 명세 협의하여 작성하기 ]
- 구현하기
이를 위해 노력 한 것은
1. Entity 분석
2. 프로토타입 범위 정하기
3. 행동 기반 플로우 작성 notion을 공유함
4. FE UI state 부분까지 고려하여 개발
5. FE에서 API와 연동하여 개발하고자 함
근데 왜 잘 안됐지?
1. API 명세를 BE, FE가 서로 협의하지 않음 (소통의 부재, 필요 인지의 부재)
- 백엔드가 프론트엔드를 고려하지 않고 API 명세를 만드는 경우가 일반적이지 않다. 근데 우리는 이랬던 것 같다.
: 백엔드 개발자가 API를 설계할 때는 프론트엔드의 요구사항을 반드시 고려해야 한다. 프론트엔드와 백엔드는 서로 다른 시스템이지만, 사용자에게 완성된 제품을 제공하기 위해서는 서로 긴밀하게 협력해야 한다. 따라서 백엔드 개발자는 API를 설계할 때 프론트엔드의 요구사항을 충족시키는 것을 목표로 해야 한다다. 이를 위해 API 명세를 작성하고 프론트엔드 개발자와 공유하며, 필요한 수정사항이 있다면 함께 논의하여 반영하는 것이 중요하다. (_copilot) - 프론트엔드의 요구사항을 적은 "행동 기반 플로우 작성 notion"을 공유하였지만, BE에서 이해도가 부족했던 것 같다.
2. API 명세를 위한 소통은 했지만,
필요한 요소를 완벽하게 협의하지 못해서 FE 비즈니스 로직과 API 간의 싱크가 꼬임
++ API 명세 작성시 고려해야 할 주요 요소들
- Endpoint: API의 URL을 정의합니다. 이는 API가 어떤 리소스에 접근하는지를 나타냅니다.
- HTTP Method: API 요청의 유형을 나타냅니다. 주로 GET, POST, PUT, DELETE 등이 사용됩니다.
- Parameters: API 요청에 필요한 파라미터를 명시합니다. 이는 경로 파라미터, 쿼리 파라미터, 바디 파라미터 등이 될 수 있습니다.
- Request Body: POST 또는 PUT 요청에서 사용되는 데이터의 형식과 예시를 제공합니다.
- Response Body: API 응답의 예상 형식과 예시를 제공합니다.
- Error Codes: 가능한 오류 코드와 그에 대한 설명을 제공합니다.
- Authentication: API가 인증을 필요로 하는 경우, 이를 어떻게 처리할지 명시합니다.
So 우리는
1. BE API List notion 문서를 만들어서 시나리오 기반으로 필요한 API들을 리스트업 해서 요청했다.
=> 그러나 ! 위에서 언급한 것처럼 API 명세에 필요한 요소들에 대한 소통이 부족해서 복잡한 parameters, request Body, response Body가 만들어지는 상황이 초래되었다.
=> 엄청나게 복잡한 코드 생성 ! 빠밤 !
부드러운 진행 과정이었다면
API 명세 협의한 후
-> FE는 mock 만들어서 하고 있기
-> BE는 API 개발하기
-> FE는 API가 개발 되는 대로 mock data를 사용했던 부분 변경하기
이렇게 진행되었을 것 같다.
반응형
'Projects > Agricola Boardgame' 카테고리의 다른 글
react query에 대해 알아봅시다 ! (0) | 2023.11.06 |
---|---|
Agricola Project Prompt 시스템 코드 리팩토링 (0) | 2023.10.23 |
Agricola Project Context API 개선 (0) | 2023.09.22 |
context API를 잘 쓰는게 무엇이시지요 (0) | 2023.09.21 |
async await 올바르게 사용하기 (0) | 2023.09.11 |