사이드 프로젝트여도 기획이 중요한 이유 (feat. 그게 그저 게시판 프로젝트여도...)

2023. 10. 30. 16:04Project 해축갤/고민

728x90

요즘 들어, 간단한 프로젝트를 하더라도 탄탄한 기획 및 계획이 없이

프로젝트를 진행하는 것에 대한 비효율성에 많이 체감을 하고, 그렇게 하지 않으려고 노력합니다.

 

개발자이지만, 개발이라는 과정은 기획 부터 코드 타이핑까지의 과정이라고 생각을 하게 됩니다.

사실, 오히려 개발이라는 과정은 기획이 전부이지 않을까? 라는 생각도 하고.

 

최근 알던 기술 및 신기술을 테스트 하기 위한 

 

GitHub - xpmxf4/MonsterBoard

Contribute to xpmxf4/MonsterBoard development by creating an account on GitHub.

github.com

게시판 프로젝트를 진행 중에 있습니다.

처음 프로젝트를 진행할 때에는 

일단 박자!

 

라는 마인드로 아무런 기획없이 시작했습니다.



아무런 기획없이 했다 해도, 기능명세서 정도는 만들고 했고, 충분하다고 생각했습니다..

(캡쳐 사진을 올리고 싶은 데, 지금 노션 계정이 날라가서 복구중임돠,,, 🥲)

 

진행을 하면서 사소한 부분들에서 기획의 철저함의 중요를

느끼게 되었는 데 그 중 단적인 예시는 아래와 같습니다.

회원 수정 기능에서 느껴버렸다

MemberController 의 update
Client 측에서 받는 MemberUpdateDTO

단순한 회원 수정 기능입니다.

이걸 보고 

여기서 뭐 느낄 게 있어?

라고 생각하신다면 뭐 그럴수도 있습니다.

하지만 저의 DTO 는 처음에 @NotBlank 가 아니라 @Nullable 이 있었습니다.

그리고 이는 실수가 아닌, 명확히 의도를 가지고 한 행동이였습니다.

@NotBlank 대신 @Nullable

왜 이렇게 생각했냐면 프론트에서 JSON 에다가 업데이트 할 필드만 보내지 않을까?

라는 상상코딩? 같이 기획을 했었기 때문이죠.

 

그러다 같은 스터디 팀원이

왜 @Nullable 이냐, @NotBlank 여야 하지 않냐?

라는 지적에 순간 벙찌게 되어 그렇네? 라는 생각을 했습니다.

 

너가 틀린 거야 그럼?

정답은 없다고 생각합니다.

왜냐면 이건 진짜 기획의 차이이기 때문이죠.

만약 정말 프론트에서 필드에 null 로 보낼 수도 있으니 말이죠.

 

팀원의 지적에, 제가 만약 이렇게 대답했다면 팀원도 수긍했을 겁니다.

아~ UI가 이렇게 있을 거고, 
이 UI 에서 프론트가 이렇게 쿼리를 날릴 거에요!

 

아마 이 대답을 했다면 팀원분도 그저 납득하시지 않았을 까 싶습니다.

 

요새 개발을 하면서 예전처럼 머리 박아가며 코딩을 하는 게 아니라,

정말 할 수 있는 데까지 기획을 해야 (물론 이런다고 항상 다 기획한데로 안되는 게 현실이지만 ㅠㅠㅠㅠ)

한다는 것을 절실히 느끼는 요새입니다.

728x90