서론
11월 6일부터 네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트 1주 차가 시작되었습니다.
Mobile/FE 2~3명, BE 2명이 모여 하나의 프로젝트를 진행하는 활동입니다.
네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트는 6주동안 진행되며 마지막 6주 차에는 현업 개발자분들 앞에서 결과 발표를 하게됩니다.
기획
이번 1주 차는 기획 주였습니다.
6주 간 어떤 앱을 만들지 고민하고 기획, 디자인하는 시간이었는데요.
저희 팀은 기획은 다함께, UX는 iOS 파트가, 디자인은 제가 진행했습니다.
기획자가 따로 없고 iOS, BE 개발자가 서로의 기술적 고민을 충족시키기 위한 기능을 생각해내는게 쉽지 않았는데요.
긴 시간 회의하고 각 파트에서 양보하면서 타협점을 잘 찾은 거 같습니다. (사실 아직도 최종 확정은 아닙니다 ㅋㅋ;)
기획을 하면서 기획서의 중요성을 배웠습니다.
저 혼자 개발할 때는 "옛날에 어떻게 하기로 했지?"라는 생각을 많이 안 했습니다.
웬만하면 기억하는 편이었고, 기억이 안 나도 즉석에서 다시 선택했기 때문입니다.
그런데 지금은 상황이 많이 달랐어요.
옛날에 선택한 결정을 잊으면 팀원 4명이서 다시 이야기를 해봐야 했거든요...
심지어 결정은 하나인데 이해한건 제각각인 일도 있었습니다.
그래서 명확하게 기능이 명시된 기획서가 꼭 필요하구나 느꼈어요.
그래서 피그마를 이용해 기능을 상세히 적었습니다.
BE분들도 함께 보는 문서이므로 iOS 전문 단어보다는 모두가 이해할 수 있는 용어로 작성하기 위해 노력했어요.
굳이 해야해? 라는 생각도 있었지만 남은 5주동안 4명이 하나의 목표로 향하기 위해서는 꼭 필요하다고 느꼈습니다.
이렇게 완성해놓고 보니 잘했다는 생각이 드네요 ㅎㅎ
반복되는 회의가 조금을 줄어들 것이라 희망합니다...
ADR 의사 결정 기록
다른 캠퍼에게 ADR(Architectural Decision Records)에 대해 배웠습니다.
소프트웨어 아키텍처 의사 결정 과정을 문서로 남기는건데요.
기술적 선택 과정을 꼭 문서화하고 싶었던 저희 팀에게 찰떡이었던 방법이었습니다.
ADR은 크게 문제 정의, 토론 내용, 논의 상태, 결과로 구성되고, 저희 팀에 맞게 적절히 변형시켰습니다.
- 제목 : 의사결정 제목
- 배경 : 의사결정을 해야한 이유
- 결정 : 어떤 결정을 했는지와 이유
- 결과 및 영향 : 결정으로 얻은 결과, 영향
- (선택) 더 고민할 점
"왜" 이 고민을 하게 되었는지, "왜" 이 결정을 했는지를 나타낼 수 있도록 배경과 결정에 집중해서 작성하기로 했습니다.
기존에도 "왜"에 대한 고민은 많이 하고 문서화를 했지만 체계적인 구조로 나타내니 훨씬 의도가 잘 보였습니다.
ADR을 알려준 캠퍼에게 다시 한 번 감사 인사 드립니다 :)
재사용에 관한 고민
저는 지금까지 View 단위의 재사용만 고민했습니다.
중복되는 형태의 View가 있으면 CustomView로 만들어서 중복 코드를 줄이는 구조로요.
멘토링을 통해 View 단위의 재사용 뿐만 아니라 ViewController 단위의 재사용도 생각하게 되었습니다.
View보다는 더 큰 단위로 재사용하는 것이므로 조건은 제한적이지만, 하나의 고민 주제로 던져주셨어요.
저희 앱에서 ViewController 재사용이 가능할까? 가능하다면 어떻게 할 수 있을까? 불가능하다면 왜 불가능할까? 기획을 조금 바꾸면 가능할까? 기획을 바꾸는 만큼 재사용 메리트가 있을까? 이런저런 고민을 했어요.
결론은 기획을 살짝 바꿔서 ViewController 하나 정도는 재사용할 수 있게 했습니다.
무작정 기획을 바꾼건 아니고 기획을 바꿔서 얻는 이점이 크도록 더 고민해봤고, 다행히 iOS, BE 모두에게 도움이 되는 방향으로 수정할 수 있었습니다. (정말 다행이었습니다 ㅎㅎ)
아직은 어떻게 구현할지 막막하지만 차근차근 해결해보려고 합니다.
마무리
회의가 80%였던 네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트 1주 차였습니다.
2주 차부터는 본격적인 개발을 시작합니다.
팀원과 화이팅해야겠습니다.
프로젝트 소개 글은 아마 4~5주차 즈음 올릴거 같습니다.
회고 글도 겨우 쓰는 형편이라 쉽지 않네요.
감사합니다.