본문 바로가기
블로그/일상

[프로젝트 회고] S사 프로젝트 회고

by 똘똘이박사 2024. 4. 5.

Created by GPT

 

 

10개월간의 진행했던 프로젝트가 지난달 오픈했고, 이제 일주일 후면 모든것을 마무리하고 철수한다.

지난 10개월동안 내가 경험했던 것, 배웠던 것, 느꼈던 것들을 정리해 보고자 한다.

 

프로젝트

프로젝트명 : 여의도 S사 HR시스템 고도화
담당 업무 : 근태 파트

포지션 : 주 개발자

 

요약

HR시스템은 2번째 경험한 것이다. 지난번에 이어 이번에도 근태 파트 메인 개발자 였다. 분석/설계 문서를 바탕으로 프로그램을 신규로 개발 했거나, 고객사의 상황에 맞게 프로그램을 수정하였다. 근태 업무에 대한 전반적인 이해도가 높아 졌다. 

 

 

 

배운점

  • 근태 업무 이해 : 근태 업무에 대해 이해 하게 되었다. 업무의 이해는 데이터 흐름을 파악하는데 도움을 주고 시스템 전반적으로 더 효율 적이고 완성도 높은 프로그램을 개발하는데 도움을 준다.
  • 업무별 데이터 흐름 파악 : 첫 프로젝트는 기능을 구현하는데에 바빠서 데이터가 어떻게 흘러 가는지 제대로 파악하지 못했다. 업무에 대한 이해도가 올라간 만큰 이번에는 나름데로 데이터가 어떻게 흘러 가는지 분석할 수 있었다. 
  • 모바일 경험 : 모바일 버전을 개발해 볼 수 있었다. 모바일도 기본적으로 솔루션에서 제공하고는 있지만 완전히 새롭게 개발해야 하는 것도 있고, 파일명만 남겨놓은체 완전히 뜯어 고쳐야 했던 것도 있다.
  • 자바스크립트의 future : 예전에 flutter을 스터디 하면서 future와 promise 등을 공부하며 고생한 적이 있다. 비동기에 대한 제대로된 개념을 깨우치지 못했기 때문이다. 이번에 모바일에서 future를 사용한 부분이 있었다. 하지만 안드로이드 기종에서만 정상 동작을 할뿐 애플 기종의 제품에서는 대부분 정상 동작을 하지 않았다. 로컬 환경에서는 정상동작을 하였다. 비동기처리가 웹뷰로 만들어진 앱에서는 기종에 따라 정상 동작하지 않는 이슈가 있다는 것을 알았다.
  • Vue.js 스터디 : Vue.js를 공부 하였다. 아직 완전히 화면을 컨트롤 할 수 없지만, 이벤트 처리나 데이터 관리는 어느 정도 할 수 있게 되었다.
  • IntelliJ로 개발 : 솔루션의 기본 개발환경은 이클립스다. 이것을 IntelliJ에서 개발 할 수 있도록 셋팅을 완성할 수 있었다. 솔루션이 스프링으로 되어 있지 않고 자체적으로 개발한 프레임워크 이기에 초반에 셋팅에 고생을 했다. 개발 셋팅이 자주 있는 것이 아니기에 지금도 새로 개발 환경을 셋팅 하려면 만들어 놓은 가이드를 참고 해야 하지만 어느 정도 정확한 가이드를 만들 수 있어서 만족한다.
  • Toad에서의 프로시저 빌드 / intelliJ 에서 프로시저 테스트 하기 위한 방법 확인 : DB로 오라클을 사용하고 있고, 대부분 중요한 비즈니스 로직이 프로시저로 만들어져 있다. 그렇다보니 디버깅하는게 상당히 어렵다. 따라서 테스트 하기 위한 방법이 필요 했는데 프로시저에서 output를 찍고, intelliJ 콘솔에서 프로시저를 호출해 돌려보는 방법으로 테스트 하는 방법을 깨우쳤다.
  • 노션 사용 : 지난 프로젝트 부터 노션을 사용해 보려고 노력해 왔다. 지난 프로젝트에서는 정리를 하는데 체계가 부족했다. 이번에는 그나마 조금 나아졌다. 그리고 많은 정보를 정리했다.

 

Created by GPT

 

아쉬운 점 및 개선할 점

  • 근태 인터페이스를 제공하지 못했다. 타 업무에서 근태 쪽으로 데이터를 보내 근태에 데이터를 쌓아야 하는 케이스가 있다. 이때 해당 업무에서 근태쪽 인터페이스를 통해 데이터를 처리 할 수 있게 해줘야 하는데, 그렇게 하지 못했다. 다음 프로젝트에서는 이 부분부터 개선해야 할것 같다.
  • 프로시저를 자바 객체로 전환하지 못했다. 위 '배운점' 에서 썼지만 프로시저는 디버깅하기가 거의 불가능에 가깝다. 또한 대부분의 비즈니스 로직이 프로시저 안에 녹아 있기 때문에 프로그램을 분석하기에도 상당히 나쁘다. 이 부분은 지난 프로젝트 부터 인지하고 있던 부분이다. 따라서 이번 프로젝트에서는 간단한 프로시저부터 자바 객체로 전환하려고 했는데 하지 못했다. 다음 프로젝트에는 이 부분을 시도해 봐야 겠다.
  • 역활에 대한 정확한 업무 분담을 못했다. 물론 이것은 나의 일이 아니다. 하지만 PL이 잘못된 생각을 가지고, 주변사람들에게 농담처럼 떠벌리고 다녔을때, 그걸 막지 못했다. 이제 농담으로라도 역활에 대한 허무맹랑한 이야기가 들리면 그때 바로 잡아야 겠다.
  • 제대로된 요구사항 분석과 추적표를 작성하지 못했다. 이 일 역시 내 일은 아니다. 2-3개월 전에 먼저 투입되어 분석/설계를 했던 PL이 했어야 할 일이다. 하지만 PL을 이것을 등한시 했고, 제대로된 정보를 나에게 제공하지 못했다. 나 역시 지난 프로젝트에 대한 경험이 있어서 제대로 확인할 생각을 못했다. 회사 역시 이것을 체계적으로 관리하지 않는 것으로 보인다.(문서 관리가 아쉽다.)
    팀원이나 다른 사람이 프로젝트에 대한 정보에 쉽게 접근하고 확인할 수 있는 시스템을 도입하는 것이 좋겠지만, 그런게 어렵다면 노션등과 같은 앱을 이용하는 방법도 있을 것이다. 
  • 노션에 프로젝트에 대한 정보를 정리하지 못했다. 요구사항정의/추적, 화면정의서, 프로세스정의서, ERD, 관련 정보 정리등 시도를 했지만 실패했다. 시간이 나는데로 다시 도전해 봐야 겠다. 
  • 또한 노션등에 각 화면에 대한 메뉴얼화를 진행하려고 했는데 일부만 진행했을 뿐 제대로 만들지 못했다.

 

Created by GPT

 

도전과제

이번에 아쉬웠던 점에 대해서는 다음 프로젝트에 계속해서 도전할 생각이다.

  • 프로시져를 클래스화 시키기: 기존의 비즈니스 로직이 모두 DB 프로시저로 작성되어 있어 디버깅시 상당한 애를 먹었다. 간단한 프로시저부터 클래스로 변경해 나가는 작업이 필요 할 것 같다.
  • 중간관리자로서 고객과의 커뮤니케이션 역량을 강화해야 할 것 같다.

 

이번 회고를 통해 나는 프로젝트 경험을 통한 성장뿐만 아니라, 앞으로 나아갈 방향에 대해 깊이 성찰할 수 있는 기회를 가졌다. 다음 프로젝트에서  이번에 배운 교훈들을 살려 더 나은 결과를 만들어 나아가야 겠다.

반응형