기술지원 업무관리 시스템 개발 – Part 3 (팀, 일정유형, 일정관리)

엔지니어 일정관리 시스템이 필요했던 이유

일종의 프로젝트관리 겸 일정관리 시스템이 필요했던 가장 큰 이유는 당시 팀장이던 나를 제외하고 6명 정도 되는 팀원이 거의 대부분의 시간을 고객사를 방문해 신규 프로젝트를 진행하거나 프로젝트는 종료되었지만 서버보안SW(SecureOS)의 기술난이도가 높은 제품특성상 현장지원이 많기에 회사의 자리는 텅텅 비어있는 경우가 많기 때문이었다.

게다가 팀장이었던 나 또한 회사보다는 고객사에 방문해 실제 서버를 만지며 보안 정책을 협의하고 적용하는 것을 더 즐겼기 때문에 흔히 나이먹고 직급이 높아지면 해야한다는 “관리”에 시간을 너무 많이 쓰고 싶지 않았다. 특히나 영업에서 들어오는 신규 사업에 대한 엔지니어 배정이나 일정확인, 프로젝트 정보를 문서로 관리하는 등의 쓰잘데기 없는 업무에 나의 시간과 엔지니어의 시간을 소비하게 하고 싶지는 않았다.

그리고 또 하나의 이유는 팀원들이 서로 간에 도대체 무슨일을 하고 있느지 알 수 없기 때문이기도 했다. “나만 바쁜거 아냐?”, “나만 힘든 프로젝트를 맏고 있는거 아냐?”라는 의문이 생길만큼 당시 업무부하는 상당했다. 실제로 그런 불만을 제기하는 경우도 종종 있었다. 그런 불만은 다른 팀원이 어디서 어떤 일을 하는지 모르기 때문에 생긴다고 판단했었다.

그래서 팀원들의 일정과 업무 내용을 투명하게 공개하고 팀장이나 영업대표들이 엔지니어들의 일정을 볼 수 있게 함으로써 “나만 힘들고, 나만 바쁜거 아냐?”라는 의구심을 갖지 않게 하고 추가적으로 영업대표들이 자신이 신규로 추진하는 사업에 어떤 엔지니어를 언제쯤 요청할 것인지 가늠할 수 있게 해주기 위해 일정관리 시스템을 구상했다.

물론 나도 마음놓고 회사 밖으로 돌기 위한 목적도 컸다. ^^

팀 및 팀원 관리

사실 처음엔 회원(임직원) 관리를 가입부터 별도로 코딩할까 생각도 했었다. 하지만 기술지원업무관리시스템 내에 게시판도 필요했기에 무료로 공개되어 있는 게시판SW를 사용하기로 회원도 게시판에서 제공하는 회원관리 기능을 그대로 사용하기로 했다.

그래서 첫 버전에서는 제로보드를 사용했고 이후 그누보드로 변경하게 되었다. 때문에 회원가입과 회원의 등급설정은 그누보드의 기능을 그대로 사용한다.

다만 그누보드에는 “팀” 과 같은 사용자 그룹의 개념이 없다. 하지만 그누보드는 게시판과 회원정보를 관리하는 테이블에 “여분필드”라는 독특한 컬럼을 갖고 있다. 즉 현재는 그누보드에서 사용하지 않는 비어있는 컬럼을 기본적으로 갖고 있다. 바로 그 여분필드에 회원의 팀정보를 넣고 팀을 변경할 수 있도록 구현했다.

팀을 등록하는 화면이다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

팀은 이름만 등록하도록 했다.

등록된 팀의 목록이다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

“수정”을 클릭하면 팀의 이름을 수정할 수 있다.

팀의 이름을 클릭하면 해당 팀에 소속된 팀원들을 조회할 수 있다. 만약 상단에 있는 팀의 목록에서 “전체”를 선택하면 가입되어 있는 전체 임직원의 목록을 볼 수 있다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

만약 신규로 입사한 직원이 있다면 “전체”로 조회하여 “팀명” 항목이 할당되어 있지 않은 즉 비어있는 채로 보이게 된다. 팀을 할당할 때는 “변경”을 클릭해 다음과 같이 수정할 수 있다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

팀을 선택하고 “직책”에서 “팀원”인지 “팀장”인지를 선택할 수 있다. 이에 따라 권한을 다르게 설정할 수 있다. 예를 들면 프로젝트 등록/수정을 “팀장”만 할 수 있게 한다든지 모든 “팀원”의 일정을 수정할 권한을 부여하는 등 권한설정을 할 수 있다. 이런 권한 설정은 그누보드의 회원등급을 달리해 구현하였다.

그리고 다음에서 설명할 일정관리에서 “팀”을 선택해 자신이 속한 팀원의 일정만 조회하거나 전체를 조회할 수 있도록 했다.

기본적으로 팀원은 자신의 일정만 수정할 수 있다.

일정유형 관리

고객사(또는 업무(Job))의 프로젝트(또는 단위업무(Task))에 대한 일정을 등록할 때 일정의 유형을 지정할 수 있도록 했다. 이 일정의 유형은 프로젝트 또는 단위업무가 아닌 업무 분류를 기준으로 지정할 수 있는 일정의 유형이다. 이 일정유형은 등록된 일정을 캘린더에서 조회할 때 어떤 업무인지를 간략하게 표현하기 위한 것이다.

아래는 등록된 일정의 유형을 조회한 화면이다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

위 화면의 경우 업무(혹은 고객분류)의 가장 상위 분류인 [업무분류]를 기준으로 등록할 수 있는데 각 업무분류 내에서 유니크한 값으로 등록된다. 즉 각 서로 다른 [업무분류]별로 동일한 [일정유형]이 존재할 수 있다는 것이다.

일정을 등록할 때 선택한 [고객사-프로젝트](또는 [업무-단위업무])에 따라 해당 ][고객사] 또는 [업무]가 속한 업무분류에 등록된 [일정유형]을 자동으로 가져와 선택할 수 있게 한다.

[일정유형]은 다음과 같이 등록한다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

일정관리

드디어 이 기술지원 업무관리시스템을 만들게 된 가장 큰 이유인 “일정관리”다.

“일정관리” 메뉴를 선택하면 월간 캘린더가 표시되는데 일정을 등록하기 위해서는 필수적으로 [고객사](또는 [업무]), [프로젝트](또는 [단위업무]), [팀원], [일정유형]이 선택되어져야 한다. 등록된 일정들은 다음과 같이 표시된다. (상단과 하단의 그누보드 헤더와 테일은 제외하고 캘린더만 캡처했다.)

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

기본적으로 월간 캘린더만 표시한다. (게을러서… ^^)

로그인 한 사용자가 속한 팀을 기본으로 표시한다. 우측 상단의 드롭다운리스트에서 다른 팀의 일정도 볼 수 있다. 캘린더에는 [고객사](또는 [업무])와 일정을 수행할 [팀원] 이름이 표시되며 파란과 빨강색 박스로 일정의 상태(완료 혹은 예정)를 볼 수 있다.

그리고 마우스의 커서를 움직여 해당 일정위에 올리면 내용을 표시하는 팝업이 표시되어 캘린더에 표시되지 않은 [프로젝트](또는 [단위업무])와 일정의 제목과 내용을 요약하여 보여주도록 했다.

아래는 고객사 기술지원이 아닌 내부 업무로 등록된 [사업기획] 업무의 [파트너사 확대 방안기획(2020)]으로 등록된 단위업무의 일정의 요약보기 예제다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

아래는 고객사로 등록된 [홍두깨생명보험]의 [CRM서버 SecureOS 도입사업] 프로젝트를 지원하기 위한 일정의 내용을 보여주는 팝업의 예제다. 그리고 (완) 표시는 일정을 수행완료하였음을 표시하는 태그이고 (직)은 사무실로 출근하지 않고 해당 일정 수행을 위해 곧바로 출근(직줄)하였음을 표시하는 태그다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

새로운 일정을 등록하기 위해서는 날짜 옆의 초록색 (+)를 클릭하면 아래와 같이 일정을 입력할 수 있다. 아래의 화면은 [고객사]-[프로젝트] 지원이 아닌 [업무]-[단위업무] 수행에 대한 일정이다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

“업무”는 직접 키보드로 입력할 수는 없고 옆의 “찾기” 버튼을 누르면 아래 화면과 같이 “프로젝트 관리”나 “단위업무 관리” 메뉴에서 등록한 [프로젝트] 혹은 [단위업무]의 목록에서 선택할 수 있다.

기술지원 업무관리 시스템 개발 - Part 3 (팀, 일정유형, 일정관리)

“구분”에서 [고객사]-[프로젝트]를 선택할 것인지 [업무]-[단위업무]를 선택할 것인지를 결정할 수 있으며 “고객사/업무”에서 검색을 통해 선택할 수 있다.

다음 포스트에서는 그누보드의 게시판스킨을 수정하여 만든 업무 및 프로젝트 산출물 관리 용 게시판과 이슈관리 기능에 대해 기록한다.

#일정관리 #업무관리 #프로젝트관리

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top