ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프린트 주간 2주차 중간점검
    Today I Learned 2022. 11. 3. 22:54

     

    스프린트 2주차 주간의 중간 분기점을 맞이한 기념으로 중간 점검을 수행했다. 주간 목표, 스토리 포인트 사용량, 지금까지 수행한 작업 내역, 느낀 점에 대해 정리했다.

     

     

    주간 목표

    스프린트 2주차 주간 동안 기본적으로 달성하고자 하는 목표는 다음과 같다.

    • 운동 모집 게시글 목록 조회 구현
    • 운동 모집 게시글 상세 목록 조회 구현
      • 참가자 관점: 인원이 부족한 포지션에 등록 신청 가능
      • 글 작성자 관점: 신청 목록을 확인해 신청자의 신청을 수락하거나 거절 가능

     

     

    사용 스토리 포인트 및 작업 내역

    1 스토리 포인트는 1 뽀모도로를 기준으로 했다. (40분)

     

    요일 사용 스토리 포인트 이행한 작업
    7 - 운동 모집 게시글 목록 조회에 사용되는 모델에 데이터 추가 (다른 모델에 독립적인 데이터들)
        - 프론트엔드 프로세스 리팩터링 완료
    - 운동 모집 게시글 목록 조회 백엔드 프로세스 리팩터링 시작
        - Controller 동작 정의 및 테스트 코드 추가 일부 진행
    9 - 모델이 다른 모델의 컬렉션을 데이터로 갖고 양방향 관계로 연결되던 구조를 다른 모델의 id를 이용해 연결되도록 리팩터링
    - 운동 모집 게시글 목록 조회 백엔드 프로세스 리팩터링 진행
        - Controller 동작 정의 완료
        - Service, Repository 동작 정의 일부 진행
    - UI 화면 하단 네비게이터 컴포넌트 생성
    9 - 운동 모집 게시글 목록 조회 백엔드 프로세스 리팩터링 완료
    - 운동 모집 게시글 상세내역 조회 프론트엔드 프로세스 작성 시작
        - 페이지, 내용 출력 컴포넌트들 생성
        - Store, REST API 응답 DTO 구조 작성 및 테스트 코드 추가 일부 진행 

     

     

    예상 스토리 포인트, 실제 사용 스토리 포인트 비교

    작업명 예상 스토리 포인트 실제 사용 스토리 포인트
    운동 모집 게시글 목록 조회 프론트엔드 프로세스 리팩터링 3 3
    운동 모집 게시글 목록 조회를 위한 모델 구조, DTO 리팩터링 5 3
    운동 모집 게시글 목록 조회 백엔드 프로세스 리팩터링 4 11
    하단 네비게이터 생성 1 1
    운동 모집 게시글 상세 내용 조회 프론트엔드 프로세스 구현 6 6 (진행중)

     

     

    느낀 점

    지난 주에 완성하지 못하고 이번 주로 넘어온 작업들이 상당 부분 진행되었다. 지난 주 작업 목표 대비 성취도가 좋지 못해 주간 작업 시간이 지난 주 대비 하루 반 정도 늘어난 것을 감안하더라도 (스프린트 1주차는 수요일 오후부터 시작되었다.) 적은 양의 작업을 추가했다.

     

    작업을 수행하면서 느꼈던 가장 큰 이슈는 코드를 작성하는 도중에 작업을 설계할 때 생각하지 못했던 요소들이 나타나 설계를 중간에 수정하고, 작성하던 소스코드에 설계를 반영하기 위해 소스코드를 수정을 하는 데서 나타나는 오버헤드였다.

     

    특히 모델 설계와 관련한 부분이 그랬다. 구현하고 있는 운동 모집 게시글은 세 단계에 걸쳐서 구현을 진행하고 있었다. 최종적으로 화면에 나타나야 하는 요소들과 모델 구조가 일정 수준의 복잡도를 갖고 있었기 때문에, 먼저 최소한의 기능만을 출력하는 MVP를 구현하고, 연관관계가 존재하는 모델들을 추가해 확장하고, 최종적으로 다른 모델에 독립적인 모델이나 데이터를 추가해 확장하는 프로세스로 진행했다.

     

     

    하나의 프로세스에서 다루는 데이터의 범위가 커지고 많아질수록 손을 대기가 쉽지 않아졌다. 모델이 가지고 있는 데이터와 다른 모델과의 연관관계가 늘어나면서 크기가 갑자기 커진 모델이 커졌고, 백엔드에서는 기존에 설계했던 구조를 갈아엎기도 했다. 그 과정에서 노아 트레이너님의 도움을 받아 모델을 실제처럼 생각하면서 객체를 분리해내고 모델끼리 협력하는 구조를 만들어볼 수 있었다.

     

    모델 하나가 위로 커지던 모양새에서 작은 모델들이 늘어나는 과정으로 바뀌니 로직 자체는 복잡해지는 것 같았지만, 하나의 모델을 다루기는 편해져서 오히려 어떤 모델이 어떤 모델과 협력해야 할까를 모델이 컸을 때보다도 더 어렵지 않게 구상해나갈 수 있었다.

     

    프론트엔드와 관련해서는 강의에서 배운 라이브러리를 더 적극적으로 활용할 수 있도록 다시 내용을 찾아보면서 익히고, 페이지와 컴포넌트의 관심사를 지속적으로 분리함으로써 하나의 컴포넌트가 덩어리가 너무 커지지 않고 다루기 용이한 규모로 조정해야 할 것이라는 생각이 들었다. 이를 위해 UI 설계를 중간중간 보완해야겠다는 생각이 들었다.

     

     

    정리하자면 현재 내가 구현하고 있는 기능들은 개별 하나하나의 덩어리가 상당히 크고 복잡한 것들이다. 이들을 어떻게 관심사의 분리를 해내고 통제하기 용이한 수준으로 나눌 수 있을 것인지가 앞으로의 기능 구현 진척도를 좌우할 것이라 생각된다.

     

     

     

     

    댓글

Designed by Tistory.