'Coin Site Project'

[TIL/Coin Site Project] 2024/01/04

✅ 시작에 앞서...며칠간 고심했다. 다른 건 아니고, 구현을 하는 과정에서 뭔가 잘못되었음을 깨달았다. 무슨 말이냐?개인적인 의견이지만, 코드를 작성하는 행위는 논리적인 글(예를 들면 기사)을 작성하는 행위와 유사하다. 그런데 글을 작성할 때에는 나름대로 목차를 구성

2024년 1월 4일1min read

✅ 시작에 앞서...

며칠간 고심했다. 다른 건 아니고, 구현을 하는 과정에서 뭔가 잘못되었음을 깨달았다. 무슨 말이냐?

개인적인 의견이지만, 코드를 작성하는 행위는 논리적인 글(예를 들면 기사)을 작성하는 행위와 유사하다. 그런데 글을 작성할 때에는 나름대로 목차를 구성하고 대전제와 소전제 등을 고려하는데, 코드를 작성할 때만큼은 일필휘지(一筆揮之)로 갈겨댔다.

그렇기에, 레이아웃을 목차라고 여기고, 현재 단계에서 구현하고자 하는 모든 페이지의 레이아웃을 먼저 다 잡아놓고 시작하자고 생각이 바뀌었다. 한마디로 코드를 다 갈아엎었다는 뜻이다.

아무렴, 이게 맞다.

✅ Page Layout

1. HomePage

2. OverviewPage

3. LoginPage

4. SignupPage

5. NewsPage

6. DetailPage

7. MyPage

✅ 그러니까

퍼블리싱 먼저 해야 한다는 당연한 사실을 간과하지 말자는 것이다. 가장 간단한 레이아웃을 구성하고, 개별 레이아웃을 디테일하게 다듬어 간다. 반응형까지 고려한 다음, 개별 컴포넌트에 디테일한 요구사항을 작성한다.

1) 구현해야 할 페이지가 몇 개인지, 2) 페이지마다 컴포넌트가 몇 개인지, 3) 컴포먼트마다 요구사항이 몇 개인지 -> 이렇게 고려하게 된다.

예를 들면, "페이지는 총 7개, 컴포넌트는 총 50개, 전체 요구사항은 총 150개"와 같은 '작업 단위'를 도출할 수 있게 된다.

이러한 방식으로 접근해야, '일정'을 논할 수 있게 된다고 생각한다.

누군가 어느 정도 진행되고 있냐고 물었을 때 중언부언하는 게 아니라, "150개의 요구사항 중 100개 요구사항에 대해 구현이 완료됐습니다. 70% 가까이 구현했고, 남은 사항에 대해서 기술 검토를 진행 중입니다."라고 할 수 있게 된다.

실무자의 모습을 상상하려는 태도가 중요한 것 같다. "나 같이 경력 없는 신입은 어디서 경력을 쌓으라는 거냐?" 따위의 푸념은 본인에게 득이 될 게 없다.