본문 바로가기
프로젝트

비트캠프 2차 프로젝트 회고(가전제품 쇼핑몰)

by 자연송어 2021. 10. 23.

 

기술 스택 ✍️

: Java, JSP, myBatis, Database(Oracle)

 

주제

: 기본적인 CRUD를 구현한 가전제품 쇼핑몰 

 

결과물 🔥

깃허브

https://github.com/choyd93/bitElectro_final

 

 프로젝트를 마치며 후기 👀

1. 프로젝트 규모 산정 오류

- 프로젝트 초기 계획 수립 중 개발 실력을 고려하지 않고 만들고 싶은 기능을 모두 집어 넣다보니 프로젝트 규모가 생각보다 많이 커졌다. 1차 프로젝트는 자바 콘솔 게시판을 만들어서 뷰를 따로 만들 필요 없다보니 3명이서 각자 할일을 하면 금방 프로젝트를 완성할 수 있었다. 하지만 2차 프로젝트는 모든 인원이 CSS와 html을 전혀 모르는 상태에서 레이아웃부터 새로 작업해야 되고, JSP와 마이바티스, ajax 등 새롭게 도입하는 기술이 많은 상태였기 때문에 처음에 개발 속도가 나오지 않아 원하던 기능을 많이 넣지 못해서 전체적인 규모가 굉장히 축소되어 완성되었다. 프로젝트 진행 1주일차에 진행된 중간발표에서 다른 조의 규모를 확인했을 때 erd 테이블이 6개인 것을 확인하고 우리 조의 프로젝트 규모가 다른 조보다 많다는 점에서  프로젝트 규모를 상대적으로 크게 산정했다는 사실을 깨달았다.. 중요한건 다른 조보다 규모는 큰데 5명의 조원 중 실제로 개발에 참여할 수 있는 인원이 3명 뿐이라 불리한 점이 많았다는 것..😇

 

2. 스케쥴 관리의 중요성 

- ERD 설계, UI아키텍쳐 설계 흐름도, CSS 레이아웃 설계, 요구사항 관리 대장을 작성하면서 1주일이 지났고, 개발 기간은 1주일 남짓이였는데 그마저도 ajax사용 방법과 데이터 흐름을 파악하느라 3일정도 따로 공부해서 실제로 개발한 기간은 4~5일 정도였다. 개발 방법을 늦게나마 파악을 했을때는 시간이 너무 촉박하여 아쉬움이 많이 남았다. 실제 개발기간 1주일 동안은 4-5시간만 겨우 자면서 진행했는데 쇼핑몰 메인 쪽 기능(장바구니, 결제)을 맡은 터라 내가 기능을 구현하지 못하면 프로젝트를 완전히 망칠수 있다는 점에서 중압감으로 인해 뜬눈으로 밤을 지새웠다. 첫 1주일동안에는 남은 기간이 많다고 생각해서 여유를 부렸는데 처음에 여유를 부린만큼 마지막 주에 힘들었던 것 같다. 

 

3. 협업의 중요성 -1 (팀원과의 소통)

- 1차 프로젝트 때는 전공자가 있어서 프로젝트 방향을 잘 잡아줬지만 본인보다 못한다고 생각하는 사람 의견은 모두 무시하는 모습을 보였기 때문에 내 의견을 내기도 힘들었고 프로젝트가 완성되면서 느끼는 즐거움이 많이 반감되었다. 하지만 이번 프로젝트는 실제 참여하는 인원이 적은 상태에서 만들어야 하는 기능이 상대적으로 많았기 때문에 좀 더 똘똘 뭉쳐서 협업을 하는 분위기가 형성되었고, 한가지 프로젝트 완성을 위한 목표를 가지고 팀원이 함께 하는 거라서 그런지 서로 물어보면서 코드에 대한 생각을 나누고, 으쌰으쌰 하는 분위기에서 코딩을 하니까 동기부여가 확실해서 평소보다 잠을 덜 자더라도 힘이 많이 났던 것 같다. 결론적으로는 만들고자한 기능을 모두 구현하지 못했지만 모르는 부분은 서로 공유하면서 협업을 하다보니 쇼핑몰에 필요한 최소한의 기능은 모두 갖출 수 있게 되었다. 1차때와 다르게 팀원과 동등한 위치에서 프로젝트를 만드니까 내 의견도 많이 낼 수 있었고, 결과적으로 쇼핑몰 메인 쪽은 레이아웃부터 css, 메인페이지, 로그인, 장바구니, 고객센터 기능까지 꽤 여러가지 기능들을 만들 수 있었다. 

 

4. 협업의 중요성 - 2(깃허브)

- 처음에는 깃허브를 이용해서 팀원과 협업을 하려고 생각 했지만 초기 설계로 할게 많았기 때문에 깃허브를 사용하지 못했다. 깃허브를 확실히 잘 아는 사람이 한명도 없어서 깃허브를 쉽게 도입하여 사용하지 못했고, 그래서 마지막에 모든 코드를 통합할 때 그만큼 고생이 많았다. 다음 프로젝트에는 깃허브를 공부해서 팀원과 효율적으로 소통할 수 있도록 할 생각이다. 

 

5. 확실한 공부 📝

- 처음 설계부터 끝까지 프로젝트를 하나 만들어 보니까 첫번째로 개발에 대한 자신감이 많이 생겼고, 계속 발생하는 오류를 혼자 삽질하면서 해결하는 과정도 힘들지만 재밌었다. 이론으로 막연하게 접하는 것보다 내가 직접 코딩을 하면서 얻는 것도 많았고 따로 검색해서 공부를 해야 되는 부분도 많아서 새로운 지식도 많이 얻게  된 것 같다. 코딩은 쉽게 하는게 아니라 고통이 많을 수록 얻는게 많다고 어디서 들은 것같은데 그말이 확실히 맞는 것 같다.  

 

6. 코딩에 대한 깨달음?

- 일단 처음 습득한 기술들을 처음으로 프로젝트에 사용하는 터라 기능을 만드는 부분에 급급해서 일단 실행만 되면 전부라고 생각을 했는데 전체를 보지 못하고 일부분만 보고 코드를 짜다보면 다른 코드에 영향을 줘서 결과적으로 나중에 더 큰일이 발생하는 것을 보고 많은 프로그래머 분들이 왜 클린코드, 성능 최적화에 신경을 많이 쓰는지 알 수 있었다. 개발 기간에 맞춰서 기본적으로 갖춰야할 기능을 만들다보니 어쩔수 없이 코드가 많이 복잡해 질 수밖에 없었는데 다음 프로젝트 때에는 좀 더 전체적인 관점에서 탄탄한 서비스를 만들기 위해 많이 신경써야 할 것 같다. 

 

마무리 🏃‍♂️

- 프로젝트를 진행하면서 부족한 부분을 많이 느꼈지만 고통의 시간(?)동안 많이 배울 수 있었고 잠을 설치더라도 기능을 하나둘 만들면서 코딩의 즐거움을 제대로 느낄 수 있었다. 부족한 부분을 많이 느낀 만큼 다음 프로젝트는 깃허브도 사용해보고 싶고 구현못한 기능들도 좀더 보완해서 꼭 만들어보고 싶다..! 

'프로젝트' 카테고리의 다른 글

2021-2022 개인 프로젝트 북파이 회고록  (0) 2022.03.03