프로젝트 포트폴리오

사내 일정관리 시스템

목차

1. 프로젝트 개요 02
2. 개발 배경 및 문제 상황 03
3. 개발 과정 및 기술적 도전 04
4. 성과 및 회고 05

이력서 추가 자료

프로젝트 소개

사내 일정관리 시스템 사내 일정관리 시스템

사내 시스템이라서 블러처리를 했습니다.

사내 일정관리 시스템

이 프로젝트는 기존 팀이 겪고 있던 일정 관리 문제를 해결하기 위해, 일정관리 시스템 자체와 팀의 일하는 방식을 함께 개선한 경험입니다. 따라서 이 프로젝트의 기능보다는, 왜 만들게 되었고 어떤 맥락에서 직접 일정관리 솔루션을 구축했는지를 중심으로 구성했습니다.

이 시스템은 백로그, 스프린트, 유저스토리, 에픽 단위로 일정을 관리할 수 있는 사내 일정관리 툴입니다. 사내 엔터프라이즈 Github(OpenOSS)와 Slackbot을 연동해 브랜치 변화 상황을 자동 추적하고, 트리 뷰 기반의 스프린트 시각화데일리 리포트 자동 전송 기능을 통해 보고 및 협업 효율을 향상시킨 프로젝트입니다.

기술스택

Next.js Next.jsSupabase SupabaseRelay Client Relay ClientTypeScript TypeScript

디자인

Tailwind CSS Tailwind CSSShadcn/ui Shadcn/ui

주요 성과

프로젝트 도입률
4건
팀 내에서 진행하는 6건의 프로젝트 중 4개에 도입하였습니다.
위클리 준비시간 단축
1.5시간
일정관리 시스템의 트리뷰를 통해 매번 위클리 회의를 위해 pm이 보고 자료를 준비하던 시간을 매주 1시간 이상 단축하였습니다.
동료 피드백
29건
팀 내에 도입 후 운영하면서 지금까지 29건 이상의 피드백을 받아서 개선중해 나가고 있습니다.

이런 문제를 해결하려고 시작했어요

현재 팀의 특수한 상황

  • 인턴과 프리랜서 중심으로 구성되어 있는 팀이라서 권한이 제한적이었고, 사내 공식 일정관리 툴을 사용할 수 없는 상황이었습니다.
  • 외부인과 협업할 수 있는 GitHub Enterprise 플랫폼인 OpenOSS만 사용 가능했지만, GitHub Actions, 사내 일정관리 시스템 연동 등 일부 기능이 제공되지 않았습니다.
  • 사내에 이미 Jira가 존재한다는 이유로 외부 일정관리 툴 도입 예산은 반려되었고, 사내 Jira는 인턴과 프리랜서가 접속할 수 없도록 권한이 제한되어 있습니다.
  • 결국 별도 예산 없이 일정관리를 해야 했고, 팀은 스프레드시트와 구두 커뮤니케이션에 의존할 수밖에 없었습니다.

이로 인해 발생한 문제

  • 스프레드시트 기반 일정은 업데이트가 수동으로 이루어져, PM은 개발자들이 현재 어떤 작업을 진행 중인지 파악하기 어려웠습니다.
  • 이로 인해 매주 개발자들이 본인의 업무 상황을 “5줄 요약” 형식으로 작성해 PM에게 전달하는 비효율적인 루틴이 생겼습니다.
  • PM은 해당 내용을 다시 보고용 자료로 가공해야 했고, 위클리 회의마다 반복적으로 많은 리소스가 소모되었습니다.

이 프로젝트를 할 때 고려했던 점

  • 연구 중심의 LAB 부서에서 출발한 팀 특성상, 일정관리 시스템에 익숙한 팀원이 거의 없었습니다. 따라서 누구나 쉽게 적응할 수 있는 단순하고 직관적인 구조를 지향했습니다.
  • 완성된 시스템을 한 번에 구축하기보다, 최소한의 리소스로 빠르게 도입하고 팀원 피드백을 반영해 점진적으로 개선하는 방식을 선택했습니다.
  • 일정 시스템이 수동으로 관리되면 실제 업무 진행과의 차이점이 생기고, 결국 사용되지 않을 것이라 판단해 항상 동기화되는 구조를 최우선으로 고려했습니다.
  • 따라서 Git 브랜치 기반의 자동 추적 시스템을 설계했고, 반복적인 보고에 소요되는 리소스 절감을 위한 자동 리포트 기능도 함께 고민했습니다.

문제 해결을 위해 이런 과정을 거쳤어요

  • 최소 기능으로 실험


  • 피드백 수렴 후 사용성 개선


  • 여러 프로젝트 도입을 위한 안정화
진행 상황

구성

  • Apps Script를 서버처럼 사용하여 OpenOSS Webhook을 받아 Google Sheets를 자동 업데이트
  • AppSheet로 Google Sheet 기반의 노코드 UI 구성

장점

  • 일정 추적에 대한 PM 만족도 높음
  • 초기 실험에 필요한 개발 리소스 최소화

문제점

  • 디지털 리터러시가 낮은 사용자가 AppSheet UI에 적응하기 어려움
  • 보고용 자료로 사용하기에는 가독성 부족
  • 여러 프로젝트 도입에 한계
진행 상황

구성

  • AppSheet 대신 Next.js 기반 웹 애플리케이션 구성
  • Next.js API Route로 서버 기능 이관
  • React Flow 기반 트리뷰 시각화 추가 → 보고자료로 활용 가능
  • AI를 통해 빠른 프로토타입 제작

장점

  • 사용하기 편한 UX/UX 제공, 도입률 Up

문제점

  • Google Sheets 사용에 따른 속도 문제
  • 프로젝트 추가 시마다 시트를 복제해야 하는 구조 → 확장성 부족
  • 개발자가 아니면 프로젝트를 추가하기 어려운 구조
진행 상황

구성

  • Google Sheets에서 Supabase로 마이그레이션
  • supabase 무료요금제로 인한 네트워크 요청 최소화를 위해 Relay 클라이언트 캐싱 구조 도입

장점

  • 속도 개선, 유지보수 용이성 향상
  • 여러 프로젝트 동시에 관리 가능
  • Supabase 무료요금제 기준 약 105만개의 백로그 저장 가능

회고

기술보다는 문제 해결에 집중하려고 했어요

이 프로젝트를 하면서 가장 의식했던 건 '기술적으로 멋진 것'을 만드는 게 아니라, 우리 팀에 정말 필요한 문제 해결에 집중하자는 것이었습니다. 릴레이 최적화, Supabase 마이그레이션 같은 기술적 선택도 모두 속도와 유지보수, 네트워크 트래픽 등 현실적인 조건을 반영한 결정이었고, 불필요한 오버 엔지니어링은 최대한 피하려고 노력했습니다. 단순히 기능을 제공하는 도구가 아니라, 팀이 자연스럽게 '일하는 방식'을 바꾸게 만드는 것이 핵심 목표였고, 실제로 그런 변화가 이루어졌다는 점에서 의미 있는 경험이었습니다.

팀의 '행동'을 바꾸는 데 더 집중했어요

이 시스템은 단순한 티켓 관리 도구가 아니라, 개발자, PM, 기획자, 팀장 모두가 함께 사용할 수 있도록 설계된 '일의 흐름'을 담은 구조였습니다. 예를 들어 개발자는 브랜치를 생성할 때 시스템의 티켓 번호를 따르도록 유도했고, PM은 구두가 아니라 시스템에 직접 업무를 등록하게 되었고, 관리자급은 트리 뷰를 통해 전체 일정을 한눈에 파악할 수 있게 되었습니다. 직관적인 UI나 풍부한 기능보다도, '팀이 지금보다 편하게 협업할 수 있는가?'를 계속 고민하며 설계했고, 15명 남짓한 팀원이 실제로 일상적으로 사용하는 도구가 되었다는 점에서 큰 보람이 있었습니다.

작은 시작과 실험의 중요성을 체감했어요

처음부터 완벽한 시스템을 만드는 것보다는, 일단 '써볼 수 있는 최소한'을 빠르게 만들어서 피드백을 받고 점진적으로 개선하는 방식이 가장 현실적인 접근법이라는 걸 이번 프로젝트에서 깊이 체감했습니다. AppSheet → Next.js + Google Sheets → Supabase + Relay로 점진적으로 구조를 바꾸면서도 항상 리소스 대비 효율이 높은 방향을 선택하려고 노력했고, 그 과정에서 '운영 가능한 기술 구조'가 얼마나 중요한지도 느꼈습니다. 특히 내가 없는 상황에서도 계속 쓰일 수 있는 시스템을 만드는 것이 혼자서 만드는 것보다 더 중요한 목표라는 것도 알게 되었습니다.

아쉬움과 돌아보게 된 점

최소한의 리소스를 쓰려고 했지만, 아무래도 혼자 설계·개발·운영까지 하다 보니 주말이나 연휴, 야근 시간을 많이 썼습니다. 현재는 프리랜서라는 위치에서 자발적으로 할 수 있었지만, 정규직이었다면 오히려 이런 방식이 아닌 다른 접근도 가능했을 것 같습니다. 예를 들어 법무팀이나 운영팀에 도움을 요청하거나, 사내 툴 권한 부여를 공식적으로 협의하는 절차를 밟을 수도 있었을 것 입니다. 수평적인 조직이었다면, 동료들을 더 적극적으로 설득하는 방식도 고려할 수 있었을 것 같습니다. 이번 경험을 통해, 내가 직접 해결하지 않더라도 문제 해결을 위한 리소스를 조직 내부에서 확보하는 것도 하나의 중요한 스킬이라는 점을 느꼈습니다.