Jira & Redmine 이 결합된 PMS(ITS) <Archive> 제작 및 서비스

by Seleos posted Jan 29, 2019
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

약 3년전부터 평소 다양한 분야의 프로젝트 및 연구를 동시에 진행하다 보니 PMS(Project Management System)과 ITS(Issue Traking System)이 필요해졌습니다.

 

처음 접하게 된 ITS는 Redmine 이었습니다. 심플하고 가볍고 운용하기 편했으나 Ruby on Rails 기반으로 만들어진 시스템은 개발의 용이성, 가벼움은 좋을지 몰라도 추가 기능을 직접 만들어 적용하면 웹서비스처럼 실시간으로 완전히 반영되지 않으며, 개발된지 오래된 시스템이라 최근 공동 작업에 주로 쓰는 기능을 완벽하게 입맛에 맞게 만들기는 어려웠습니다.

 

그다음 접하게 된것들은 Phacility의 Phabricator, Mantis, Trac 등 다양한 PMS & ITS를 사용해보다 결국 Jira로 넘어가게 되었습니다.

 

Jira는 PMS와 ITS의 완전한 결합형태이며 최근 공동작업에 주로 쓰이는 기능을 모두 완벽히 지원하고, 사용의 편의성또한 최상의 형태로 제공해주었습니다. 그러나 너무나 무거운 시스템으로 매번 버벅거리는 시스템, 극도로 비싼 가격 및 사소한것(PDF 디자인 출력기능등) 하나하나 돈을 내야하는 엄청난 유료화 서비스등 완벽하게 원하는 바를 반영하지는 못했습니다. 사실 속도만 가볍고 빨랐어도 그냥 돈내고 썼을듯 합니다만.. 너무 무거워서 포기했습니다.

 

이후 다양한 PMS 그리고 ITS가 결합된 형태의 시스템을 1년여간 찾아보았지만 못찾고 결국 시스템을 직접 만들게되었습니다.

 

제가 생각하는 이상적인 형태는 Jira와 Redmine의 기능을 혼합한 형태로 각각의 장점들을 갖고있는 시스템을 설계하였습니다.

*두 시스템 모두 취약하던 암호화 부분은 별도로 염두에두고 추가 설계개발하였습니다.

**이후에는 계획이 더 발전하여 Jira의 문서관리 시스템인 Confluence 까지 만들어 적용하였습니다.

 

개발할 시스템의 요구사항은 다음과 같습니다

-매우매우 가벼움 (PHP & Mysql 기반)

-개발의 용이성 (Only PHP)

-확장성 및 다양한 기능 (미래에 기능확장과 추가를 염두에둔 코딩과 구조)

-심플한 데이터베이스 설계

-해킹에 안전한 암호화 (사용자 개인별 4096bit RSA 암호화키 발급 및 오직 자신의 개인키로만 정보열람 가능, 모든정보 암호화)

-보안등급별로 분류된 정보

 

프로젝트이자 시스템의 이름은 Archive 이며 포스팅 시작전 현재 0.4버전 모습을 먼저 보여드립니다.

Archive version 0.4

kakaotalk_20180412_173310996-e1523522574988.png

1-1. 심플한 프로젝트 목록 보안등급별로 관리되며 상태와 태그를 이용해 데이터 분류를 용이하게 함

 

 

kakaotalk_20180412_173311118-e1523522503998.png

1-2. 이슈목록 화면 유형, 우선순위, 보안등급 (프로젝트 보안등급과 별개이며 동일하게 관리 가능), 상태, 태그, 소유자 및 담당자 지정지원

 

 

kakaotalk_20180412_173311252-e1523522546172.png

1-3. 이슈디테일 페이지 Jira와 Redmine의 장점들만 모아 결합한 형태

 

 

kakaotalk_20180412_173311411-e1523522558605.png

1-4. 코멘트 및 활동기록 관리 Jira의 장점을 가져옴

 

 

kakaotalk_20180412_174329632-e1523522642126.png

1-5. 본인이 아니라면 볼수있는 데이터는 위 사진과 같다 관리자는 물론 볼 수 없고 RSA 4096bit로 암호화된 모든정보는 개인키를 가지고 있는 본인이 아니면 열람할 수 없음

 

 

Redmine 샘플

ecbaa1ecb2981.png

2-1. 심플한 디자인의 메인화면

 

 

ecbaa1ecb2982.png

2-2. 다량의 프로젝트 등록시 각 프로젝트들을 분간하기 힘든 디자인

 

 

ecbaa1ecb2983.png

2-3. 심플한 이슈리스트

 

 

ecbaa1ecb2984.png

2-4. 이슈디테일 페이지 Comment 및 기록 기능이 없다 (추가는 가능하나 기본제공아님)

 

 

Jira 샘플

ecbaa1ecb2986.png

3-1. 메인페이지 디자인은 깔끔하다

 

ecbaa1ecb2985.png

3-2. 매우 다양한 기능제공 단 매우무거움 못쓸정도로 무거움

*무거움 문제를 해결하려면 독립서버를 구축해야하는데 소규모 프로젝트에서 PMS를 위해 서버 구축까지 하는것은 비용과 시간이 매우 소모되는 일이다