Computer Science/Project Management 4

복잡한 정책을 고려한 코드 작성법

기획자와 협의를 하다보면 다음과 같은 말을 종종 들을때가 있습니다."이 정책은 우선 이렇게 결정되긴 했는데, 담당자 확인후 확정 드리겠습니다.""고객에 따라서 이 정책은 다르게 적용될 수도 있습니다.""특정한 조건에 해당하는 고객은 이 정책을 적용해주세요"물론 대부분의 경우 기획에 정확한 정책을 요구하는게 이상적이지만, 기한이 얼마 남지 않았거나, 고객 별로 딱 맞는 정책들을 적용하고 싶은 경우 등 어쩔수 없이 복잡하게 개발을 해야만하는 순간이 오게 됩니다.오늘은 이러한 경우에 어떻게 회사에서 해결했는지 얘기해보려고 한다. 설명에서는 실제 도메인이 아닌 할인 정책 예시 도메인을 사용하겠습니다.1. 전략 패턴가장 처음 적용한 해결책은 전략 패턴입니다.전략 패턴은 정책의 종류나 상태에 따라 동작이 달라지는 ..

새로운 프로젝트에 관하여 - 3. Github Project 활용법

들어가며 Github은 Git Remote Repository로 사용하는데 아주 대중적인 웹사이트다. Github에는 프로젝트 관리를 위한 다양한 기능을 가지고 있어서 이번 포스트에는 이를 우리 프로젝트에서 활용한 방법에 대해서 간략하게 소개하겠다. 1. 선택이유 지난 포스트에서도 말했듯, PM(Project Management)를 위한 툴은 여러가지가 있다. 그러나 용도에 따라 서로 분산된 툴을 사용해야 하고 이를 연동하는 과정이 가벼운 프로젝트를 시작하는 사람들에게는 오히려 짐이 된다. 그런데 Github Repository에는 Issue, Milestone, Actions, Project, Wiki 등 다양한 프로젝트 관리 도구가 한 곳에 존재하기 때문에 따로 설정할 필요가 없어 편의성이 좋다. 물..

새로운 프로젝트에 관하여 - 2. 문제 정의

들어가며 지난 포스트에는 개발방법론과 이를 실현하기 위한 툴들에 대한 내용을 작성하였다. 이번에는 새로운 프로젝트에서 문제를 정의한 과정에 대해서 알아보도록 하겠다. 1. 시작 교수님께서 소개해주신 스타트업 대표님과 개발팀장님께 자문을 받았을 때 가장 인상깊었던 말씀은 클라이언트, 팀원들 간의 생각 차이를 줄이는게 가장 중요하다는 것이었다. 자세히 말하면 같은 내용을 얘기하고 있어도 미묘하게 비즈니스 로직이나 유저 스토리에 대한 이해에 차이가 발생할수 있으며 이를 바로잡지 않으면 나중에 개발을 진행할 때 문제 정의로 회귀하여 다시 개발을 진행할 수도 있는 나비효과가 발생한다는 것이었다. 따라서 이번 프로젝트에서는 생각 차이를 줄이는데 집중하여 아래와 같이 3가지 문제정의 방법을 사용하고 검증했다. 2. ..

새로운 프로젝트에 관하여-1.시작, 개발 방법론(PM)

1. 들어가며 최근 들어서 연구실에서 새로운 프로젝트를 시작하여 블로그 글을 작성하는게 뜸해졌다. 생각한 기능을 구현하고자 바쁘게 움직이면서 무의식적으로 글을 작성하는 과정을 미뤄왔던 것 같다. 프로젝트가 어느정도 기능이 구현되어 할 일이 줄어들어 지금까지 있었던 여러 고난과 극복과정을 앓음다운 글로 작성해보면서 그 동안의 팀 리더로서의 경험을 정리하고자 한다. 아직 많이 미숙하지만 이 글이 새로운 프로젝트를 시작하려는 모든 이에게 도움이 되었으면 좋겠다. 2. 새로운 프로젝트 새로운 프로젝트의 이름은 DSMP(Dicom Service Mangement Project)로 Dicom이라는 의료용 디지털 영상 데이터를 관리한다는 의미를 가지고 있다. 의료영상을 베이스로 머신러닝을 연구하는 연구실이다 보니 의..