바야흐로 주 52시간의 시대가 활짝 열렸다. 우리 회사는 유연근무제 도입으로 주단위 업무 시간 제한이 아닌 월단위 업무시간 제한으로 뭔가 복잡한 공식을 대입해야만 법규를 위반하지 않는 상황이 되었다. 물론 회사에서 이런 어려움을 극복할 수 있도록 시스템을 만들어 제공해 주고 있다. 회사 자랑을 하고 싶은건 아니고… 아무튼 주 52시간 시대를 맞이하여 어떤 일을 하면 좋을까 고민해 보았다. 집에서 아이들과 좋은 시간을 보낼 수도 있을 것이고, 자기 계발을 위하여 어학원 같은 곳을 다녀도 좋을 것 같다. 그 중에서 내가 한 결정은 실현 가능성이 얼마나 있는지는 모르지만… 개인 Project를 시작하는 일이다. 자 시작이 반이라고 하지 않았는가?
Collaborative Development Without Contract
이것이 바로 개인 Project이다. 줄여서 ‘CDWC’이다. 기본적인 개념은 Github(http://github.com)을 기본으로 협업을 만들어 내는 시스템이다. 알고 있겠지만 Github은 git이라는 코드 형상 관리 툴과 issue tracking이 가능한 issue 시스템을 갖추고 있다. 당연히 프로젝트 멤버 관리도 가능하다. 이런 훌륭한 기능을 사용해서 Project management, Communication 기능을 추가 할 예정이다. 이 많은걸 혼자가 할 수 는 없는 노릇이기 때문에 대부분의 기능은 Open Source를 활용할 것이고, 이들을 엮는데 필요한 glue code만을 작성할 예정이다. 물론 전체적인 기획과 Open Source 결정도 해야 할 것이다. 그런 과정을 앞으로 이 곳에 적어 나갈 예정이다. 개인 프로젝트의 코드 Quaility를 높이는 일도 중요하겠지만, 절대적으로 부족한 시간을 들여서 하는 일이기 때문에 Deliverable을 완성도 있게 만드는데 더 많은 무게를 둘 예정이다.
Feature of CDWC(Collaborative Devleopment Without Contract)
위에서 말한 기능들을 서술형이 아닌 리스트로 정리를 해 보았다.
- Project owner and software developers are able to check their colleagues reputation on leader board
- DevOps system with public cloud such as AWS, MS Azure, GCP, and so on
- Project management with project owner Github repository
- Github OAuth2 login
- Collaborating based on project or function
- Reward based on their affort
- Contract system between project owner and devloper if they want to
조금 두서 없지만 대강의 Feature은 위에 같다. CDWC를 기반으로 Project Manager와 Developer가 연결이 되고, 그들은 서로간의 평판(Reputation)을 확인할 수 있다. ‘Without Contract’라는 말의 의미는 계약을 통한 정식 개발도 가능하겠지만, 계약 관계 없이 짧은 단위의 협업이 가능하도록 할 예정이다. 이 내용이 바로 ‘Clollaborating based on project or function’이다. 서버 시스템을 기본적으로 생각했기 때문에 Public cloud로의 CI/CD 시스템을 구축 예정이다. 인증은 Github을 base로 하기 때문에 Github OAuth2를 사용하겠다. 사실 Github 관련 Open Source를 활용할 예정이기 때문에 자동 선택된 Feature 중 하나…
시작이 반이다!
CDWC가 얼마나 잘 끝날지는 알 수 없지만 시작을 해 보았으니, 뭐라도 끝을 내보도록 하겠다. :-
Title image는 Max Pixel의 Free image를 사용하였다 .
이 글은 http://kyunam.com과 Medium에 동시에 연재 중입니다.