오늘의 작업 계획은 세 파트로 나뉘었다. 순서대로 1. 수요일에 마치지 못한 계획을 이어서 수행하는 부분, 2. 리팩터링과 디자인 측면, 3. 여유가 있다면 도전해 볼 기능 추가 부분의 세 가지 파트로 구성했었다.
처음에는 계획들을 순서대로 시도하려 했었는데, 뽀모도로 중간중간마다 있는 작업 결과물 공유 자리에서 디자인 작업을 같이 하면서 눈으로 보이는 결과를 만들면서 하는게 좋겠다는 동료들의 피드백이 있어 1번 계획을 진행하면서 2번 계획 중 디자인 부분을 같이 진행했다. 1번 계획과 2번 계획 다이얼로그 창이나 이미지를 불러와 배치하는 식인 작업 결과의 형태가 직접적으로 보여지는 결과물을 만들어내는 작업이여서 다른 날보다는 결과물에 대한 흥미를 갖고 진행할 수 있었다.
그럼에도 불구하고 결국 오늘에서야 끝낸 수요일 작업 계획의 일부는 사실상 화요일 작업 계획이었으므로 화요일에 세웠던 작업 계획이 발표 하루 전인 목요일에서야 마무리되었다. 이유를 생각해 정리해본다.
너무 컸던 세부 작업 단위와 관심사의 미분리가 만들어낸 시너지
개인적으로 이번 프로젝트 과제를 만드는 과정의 큰 그림을 크게 2개의 장으로 나눴었다. 1장까지에 해당하는 부분이 화요일에 마치고 싶었던 작업 계획들이고, 2장에서는 지금 만들어진 결과물에 사용자 계정이라는 모델을 추가해 다른 사용자가 올린 운동 기록 글들을 공유 게시판에서 확인할 수 있도록 하고 싶었다.
이번 프로젝트 주에는 왜인지 다른 주차에서 나름 공을 들였던 관심사의 분리를 거의 수행하지 않고 소스코드를 만들어나갔다. 스스로 샌드백이라도 차려 했던 건가, 작업 단위가 꽤 쌓인 시점에서 트레이너님의 MVP 작업물에 대한 피드백을 수용하기 위해 프로그램 전체를 건드려야 했다.
작업 단위를 작성할 때, 일부 작업 단위는 사실상 피드백 대부분을 포함하는 구조였다. 사실상 다른 작업 단위 4~5개가 합쳐져서 하나의 작업 단위를 구성한 수준의 작업 단위를 수행해야 하는데, 관심사의 분리가 되어있지 않은 코드를 왔다갔다하면서 잡아먹는 시간이 빠르게 쌓였다.
다만 모르고 있던 개념이나 메서드를 실험해보면서 어떤 경우에 적절히 쓸 수 있을지를 분석하는 속도가 느렸던 점은 아쉽다.