휴가 메시지 오토메이션 사례
이번 오토메이션 시리즈를 작성하기 시작하면서 처음에 ‘오토메이션 요구사항 접근 방법’을 설명했습니다. 여기서 기계가 자동으로 할 수 있는 일을 사람에게 하라고 시키는 것을 싫어한다는 이야기를 했는데요, 이번에는 그런 상황에 기계가 내 할일을 대신하도록 만든 사례입니다.
한번은 팀에 누가 오늘 출근 예정이고 누가 휴가인지 파악하기 어려워 문제가 된 적이 있었습니다. 이미 각자의 휴가 여부를 외부 인사관리 도구를 통해 관리하고 있었지만 단지 기록 할 뿐 이를 다시 공유하는 기능은 한없이 빈약해 주로 슬랙을 보고 일하는 사람들은 누군가의 자리가 비어 있으면 잠깐 자리를 비웠겠거니 하고 한없이 기다리는 사례가 있었습니다.
그러다가 다들 슬랙을 주로 보고 일하니 슬랙에 휴가 여부를 표시하자는 이야기가 나왔는데 외부 인사관리 도구가 지원하는 슬랙 연동 기능이 없지는 않았지만 팀에서 예상한 형태가 아니었습니다. 누군가가 오늘 휴가인지 아닌지 슬래시 커맨드를 통해 질의할 수 있었지만 가능할 뿐 전혀 편리하지 않았습니다. 그냥 어딘가 채널에 들어 앉아 있으면 알아서 정보를 얻을 수 있길 원했습니다.
하지만 따로 뭘 개발할 상황은 아니어서 휴가인 사람들이 언제 휴가라고 전날이나 당일 간단히 특정 채널에 이야기하기로 하는 선에서 정책을 설정했습니다. 하지만 한편으로는 휴가일 때 관련 채널에 휴가라고 선언하는 것 자체가 마음에 안 들었습니다. 이미 인사관리 도구를 통해 휴가를 입력했는데 그걸 또 슬랙에 입력하는 것은 비효율적이고 어쩌고를 이야기하기 전에 사람을 값싸게 취급하는 느낌이었습니다. 하지만 악의를 가진 규칙은 아니므로 나중에 개선하더라도 일단은 규칙을 지키는 편이 좋습니다. 다만 제 마음에 안 들 뿐이고요. 그래서 오늘 내가 휴가이면 휴가 채널에 정해진 시각에 이야기하게 만들기로 했습니다.
매일 아침 지정한 시각에 숏컷을 실행해 휴가이면 채널에 메시지를 보내고 휴가가 아니면 아무 것도 안 하고 끝납니다. 숏컷을 통해 슬랙에 메시지를 보내는 방법은 ‘오토메이션 공용환경 소개’에 있으니 참고하세요. 오늘 휴가인지 확인하는 방법은 캘린더를 조회하는 것입니다. 개인 위키로 컨플루언스를 사용하고 있어 컨플루언스 팀 캘린더에 웬만한 정보를 기입하고 있는데 휴가정보 역시 인사관리 도구에 입력한 휴가가 팀 캘린더에 나타납니다. 이를 구글 캘린더에 연동해 오늘 일정 중 ‘휴가’, ‘오전반차’, ‘오후반차’ 일정이 있는지 검색해 일정이 있으면 이에 해당하는 메시지를 채널에 보냈습니다.
아쉬운 점은 아이폰이 지원하는 캘린더 검색 기능으로는 여러 날짜에 걸친 휴가를 검색할 수 없는 점입니다. 가령 1, 2, 3일에 걸쳐 휴가 일정을 매일, 여러날 일정으로 입력하면 오늘을 기준으로 일정을 검색할 수가 없습니다. 근본적으로 검색 접근 방법을 바꿔야 할 것 같은데 아직 뚜렷한 방법을 찾아내지 못해 여러날에 걸친 휴가는 하루 짜리 휴가를 여러 개 입력하는 식으로 처리하고 있습니다. 지금은 전혀 신경 쓰지 않아도 알아서 휴가 메시지가 보내지니 정책에 대한 불만도 함께 사라진 상태입니다.