Skip to content

[팀회고] 1주차

김영균 edited this page Nov 10, 2023 · 1 revision

🌀 프로젝트 진행 상황

  • 기획과 디자인 80% 완료
  • 프로젝트 세팅 및 구조 설계 진행중

🌈 주요 기능

  • 체크리스트 동시 편집
  • AI 체크리스트 추천

🤷🏻‍♂️ 협업 중 겪은 어려움

1. 애자일 프로세스에 익숙하지 않음

문제

  • 너무 큰 에픽 선정
  • 테스크 같은 스토리
  • 너무 세분화된 테스크

2. 동기화 문제 난관봉착

배경

  • 오프라인으로 체크리스트 편집이 가능하다. → 체크리스트 데이터를 로컬과 서버에 동시에 저장한다.
  • 네트워크가 연결되면 오프라인으로 작성한 체크리스트를 서버와 동기화 해야한다.

문제

  • 여러기기에서 로그인하여 체크리스트를 수정할 때 동기화를 어떻게 할 것인가?
  • 서버 리소스를 줄이면서 오프라인에서 작성한 체크리스트를 동기화 할 수 있을까?

고민한 방법

  1. 성철님

    온라인 오프라인
    추가 로컬 / 서버 로컬
    추가 사항 저장
    편집 로컬 / 서버 로컬
    변경 사항 저장
    동기화 변경사항 서버에 요청 -
    로그인 모두 가져오기 -
  2. 민성님

    • 오프라일 때 유저의 변경사항이 생기면 모두 파일에 로그형태로 기록 ex) user.id delete 파일.txt
    • 네트워크 연결 시 로그 순서대로 서버에 요청을 보내 동기회 진행
    • 다중 기기에서 오프라인으로 수정되어 로그들이 충돌한다면, 같은 파일에 대해서는 최신 데이터로 덮어씌우기
  3. 동석님

  • 로직

    1. 서버한테 동기화 데이터 정보 요청
    2. 서버와 클라이언트 데이터 비교
    3. 동기화 처리
  • short polling 방식을 이용한다.

    • 실시간 데이터 동기화가 그렇게까지 중요하지는 않으므로, long polling과 웹소켓을 사용할 필요가 없다.
  • 클라이언트와 서버 데이터 비교

    • image

🙆🏻‍♂️ 해결 방법

1. 애자일 문제 해결방법

멘토님에게 애자일에 대해 조언을 구했다.

김경만님

  • 스토리를 묶어서 에픽을 하나 만들자.
  • task를 feature단위로 코드 베이스랑 맞춰서 정의를 하도록 해보자. ⇒ Task 1개가 feature branch 1개를 담당하도록 하는게 개발하기 편하다. ⇒ 프로젝트마다 정의하기 나름이다.
  • 그리고 task의 시간은 시간보다는 난이도로 해석하면 된다.

도도님

  • 에픽을 하나의 실험 단위로 쓴다.
  • 배포 단위가 에픽이라고 지금 회사에서 쓰고 있다.
  • 릴리즈 노트를 하나 추가하는 느낌
    1. 우리 앱은 투두리스트 가능해!
    2. 우리 앱은 투두리스트에 ai 추천을 받을 수 있어!
    3. 우리 앱은 이제 초대해서 동시 편집도 가능해!

그래서 우리는?

  • 릴리즈 단위로 에픽 선정한다.
  • 에픽에 따라 기존의 짰던 스토리를 재할당한다.
  • Feature 단위로 테스크를 선정한다.

2. 동기화 문제 해결 방법

  • 멘토링 결과 동석님 방법이 좋을 것 같다고 의견 주셨다.

그래서 우리는?

  • 동석님 방법으로 진행하고 최적화를 더 해본다.

오리들의 애자일한 개발 여정

📜 기획

💢 규칙

🐥 1주차 회의록, 회고

데일리 스크럼

회의록

회고

🐥 2주차 회의록, 회고

데일리 스크럼

회의록

회고

🐥 3주차 회의록, 회고

데일리 스크럼

회고

🐥 4주차 회의록, 회고

데일리 스크럼

회고

🐥 5주차 회의록, 회고

데일리 스크럼

회고

🐥 6주차 회의록, 회고

데일리 스크럼

회고

🍎 iOS

아키텍처 의사 결정 기록

Clone this wiki locally