Post

에자일을 에자일하게 도입하다

에자일을 에자일하게 도입하다


개요

최근 PM 담당자가 없는 프로젝트에 참여하였으나 소통 부족과 역할 혼선으로 인해 일정 지연이 발생하였습니다.

이를 해결하고자 자발적으로 PM 역할을 맡아 팀의 문제를 진단하고 협업 구조를 재정비했습니다.

특히 점진적으로 에자일 방법론을 도입하고, 간트 차트와 칸반 보드 등 시각화 도구를 적극 활용하였습니다.

그 결과 스프린트와 리뷰 프로세스를 통해 팀의 업무 효율성과 생산성이 눈에 띄게 향상되었습니다.

여담으로 에자일 철학을 제 삶에도 적용해보려고 합니다.



워터폴 혹은 각개전투

최근 저를 포함 UX/UI 디자이너, 프론트엔드, 백엔드 개발자 각 1명으로 구성된 팀이 특정 서비스를 리뉴얼하는 장기 프로젝트를 완료했습니다.

저의 전 직장이자 첫 직장은 SI 업체였고, 대부분 혼자서 풀스택 개발을 했다 보니 협업 경험이 많지 않았습니다. 다른 팀원들은 모두 신입이었고, 따로 PM이 없는 상황이었습니다.

명확한 역할 분담이나 논의 없이 프로젝트를 진행했습니다. UX/UI 디자이너 분이 먼저 피그마로 화면을 설계하면, 디자인이 완성되는 대로 프론트엔드 개발자와 제가 각자 구현하는 식으로 진행되어 사실상 각개전투에 가까웠습니다.

백엔드 입장에서 기술적으로 까다로운 기능은 없었기에, 저는 프로젝트가 순조롭게 진행될 것이라 생각했습니다. 그러나 이는 큰 착각이었습니다.

디자이너가 어렵게 혼자 완성한 피그마 시안은 정책이나 레거시코드를 고려하지 않은 경우가 많아, 실제 개발 단계에서 전면 수정이 필요했고, 프론트엔드 개발자와의 이해 차이도 점점 커졌습니다. 작은 비효율이 누적되어 계속 일정이 지연되었고, 결국 프로젝트 진행 속도 관련 비판적인 피드백을 받게 되었습니다.



PM을 자처하다

프로젝트가 위기에 빠진 후 더 이상 각개전투로는 완주가 어렵겠다고 판단했습니다. 누군가는 방향을 잡아야 했고, 결국 제가 PM 역할을 맡겠다고 과감하게 나섰습니다.

마침 저 역시 개발 방법론과 조직의 생산성에 관심이 많았던 터라, 이 상황을 단순한 위기가 아닌 좋은 기회로 받아들였습니다. 그동안 어렴풋이 머릿속에만 있던 협업 구조와 개발 프로세스에 대한 생각들을 실전에서 사용하고 싶은 열망도 있었습니다.

휴가를 하루 내고, 온종일 계획 수립에 매달렸습니다. 무작정 일정부터 짜기보다는, 먼저 팀의 현재 상태와 문제점을 객관적으로 파악하고, 팀원 각각의 성향과 역량을 고려한 역할 재정의, 커뮤니케이션 방식, 우선순위 설정 등 실질적인 변화가 필요한 부분부터 짚어 나갔습니다.

그렇게 PM 역할을 시작하면서, 단순히 업무 분배만이 아닌 팀 전체의 리듬과 협업 방식 자체를 재정비하는 데 집중했습니다.



에자일을 에자일하게 도입하다

에자일 프로세스 도입 이유

고민 끝에, 프로젝트에 시범적으로 에자일 프로세스를 도입하기로 결정했습니다.

에자일을 선택한 이유는 다음과 같습니다:

  1. 팀원 3명으로 구성된 소규모 팀이라, 긴밀한 소통과 유연한 조직에서 효율적인 에자일 방식이 적합하다고 판단했습니다.
  2. 에자일의 특성상, 매 스프린트마다 작업 범위와 목표를 명확히 정의할 수 있어 일정 산출과 진행 관리가 수월하기 때문입니다.
  3. 짧고 반복적인 주기로 리뷰를 통해 빠르게 시행착오를 줄이고, 팀 전체의 생산성과 협업 효율을 끌어올릴 수 있다는 점도 큰 장점으로 판단했습니다.

에자일을 에자일하게

에자일 방법론은 어렵습니다. 에자일에 대해 공부하다 보니 에자일의 장점을 강조하는 글 만큼이나 에자일을 무리하게 도입했다가 실패한 사례도 많이 접했습니다.

저희 팀은 전철을 밟지 않기 위해 에자일 방법론을 에자일하게 도입하기로 결정했습니다. 즉 처음부터 완벽하게 에자일을 적용하려 시도하지 않고 점진적인 적용과 반복적인 리뷰를 거쳐 단계적으로 에자일을 도입해나갔습니다.

사전절차

에자일 방법론을 도입하기 위해, 아래의 사전절차를 실행했습니다

  • 에자일의 철학과 방법을 팀원에게 공유하고
  • 프로젝트의 전체적인 마일스톤을 산정하고
  • 해당 마일스톤을 기준으로 요구사항 정의 및 기능을 작성했습니다.

사전절차를 통해 에자일에 대한 이해를 높이고 요구사항과 기능을 정리한 덕분에 스프린트에 집중할 수 있었습니다.

시각화

또한 간트 차트와 칸반 보드를 유기적으로 연동하여 프로젝트 전반을 시각적으로 조망할 수 있도록 했습니다.

  • 노션의 데이터베이스 기능을 활용해 간트차트와 칸반 보드를 구성했습니다.
  • 이를 통해 작업 간의 우선순위와 선후 관계를 명확히 표현할 수 있었고,
  • 예상 일정을 시각화함으로써 전체 업무 흐름과 병목 구간을 빠르게 파악할 수 있었습니다.

스프린트 진행 상세

아래 절차대로 매 주 스프린트를 진행했습니다.

게시판 기능을 만든다고 가정하고 예시 화면과 함께 설명드리겠습니다.

  1. 스프린트 시작
    1. 정의된 기능을 기준으로 UX/UI, 개발 검토사항 토론 및 기획
      • 양질의 기획을 얻기 위해 개발자 포함 모든 구성원이 함께 진행했습니다.

    b. 토론 결과를 바탕으로 backlog 티켓을 생성

    • 칸반보드 예시

      kanban

    c. backlog 티켓에 날짜를 부여하여 간트차트에도 티켓 표시

    • 칸반보드와 간트차트 view (노션 기준으로는 ‘타임라인’과 ‘보드’ 레이아웃)가 동일한 데이터베이스를 바라보도록 구현했습니다. 덕분에 칸반보드의 티켓에 날짜를 설정하는 것 만으로 간단하게 간트차트에 티켓을 설정할 수 있습니다.

    d. 노션의 ‘관계형’ 기능을 이용하여 티켓 간의 선후관계를 명시

    • 간트차트 예시

      gantt

  2. 스프린트 진행
    1. 매일 데일리스크럼을 진행하며 티켓을 갱신하고 각자의 진행상황을 공유하여 긴밀하게 협업했습니다.
  3. 스프린트 종료
    1. 테스트 및 배포
    2. 리뷰 진행

리뷰 진행 상세

리뷰를 진행하기 전에 생각을 꼼꼼하게 정리하기 위해 팀원들 각자 글로 자신의 생각을 작성했습니다.

회고 양식은 ‘4L’ 및 ‘CSS’을 참고하되 각자 자유로운 방식으로 작성했습니다.

서로의 생각을 공유하는 것에서 그치지 않고 구체적인 Action point를 발굴 및 실천했습니다.

‘4L’ 과 ‘CSS’ 란?
  • 4L 회고
    • Liked (좋았던 점) → 이번 기간 동안 좋았던 점, 마음에 들었던 것들
    • Learned (배운 점) → 새로 배운 지식, 깨달음, 인사이트 등
    • Lacked (부족했던 점) → 개선이 필요하거나 부족했던 점, 아쉬웠던 부분
    • Longed for (바랐던 점) → 있었으면 좋았을 것, 기대했으나 이루어지지 않은 것들
  • CSS 회고
    • Continue (계속할 것)

      → 잘 되고 있으니 앞으로도 유지해야 할 것들

    • Stop (그만둘 것)

      → 효과가 없거나 오히려 방해가 되었던 것들

    • Start (시작할 것)

      → 새롭게 도입하면 좋을 것들, 앞으로 시도할 것



결과

팀원 분들이 저를 믿어 주시고 적극적으로 함께 노력한 덕분에 개발 속도가 3배 이상 극적으로 빨라졌습니다. 진작에 PM을 맡지 않은 것이 아쉬울 정도였습니다.

병목을 찾은 것도 큰 도움이 됬습니다. 병목이 발생하는 작업에 집중적으로 리소스를 투입하여 팀 전체의 속도를 크게 향상시켰습니다.

프로젝트 완료 후 리뷰를 통해 팀원의 의견을 수렴했습니다. 팀원 분들도 에자일 방법론을 적용하는 과정에서 많이 성장했다고 말씀주셔서 큰 보람을 느꼈습니다.

반면 부족했던 점도 있었습니다.

  • 부정확한 일정 산출
    • 산출한 일정의 정확도가 낮았습니다. 때문에 스프린트 내에 티켓을 완료 못하고 다음 스프린트로 일정이 연장되는 일이 잦았습니다.
    • 해결책으로 Worst, Best case도 같이 고려하여 정확도를 높이기로 결정했습니다.
  • 스프린트 리뷰 생략
    • 스프린트 내에 작업을 쳐내는 것도 벅차다 보니 스프린트 리뷰를 생략한 적이 많았습니다.
    • 짧게라도 스프린트 리뷰를 진행했다면 오히려 작업속도가 개선됬을 것 같아 아쉬웠습니다.

이번 프로젝트에서 완벽하게 에자일 방법론을 도입하지는 못했습니다.

하지만 앞으로도 점진적인 적용과 반복적인 리뷰를 거쳐 단계적으로 에자일을 도입할 예정입니다.


번외 : 나의 삶도 에자일하게

‘에자일을 에자일스럽게 도입하기’ 라는 표현은 김창준님의 ‘함께 자라기’ 라는 책에서 빌려왔습니다.

책 ‘함께 자라기’의 내용 중 나 자신의 삶에도 에자일을 적용할 수 있다는 내용이 특히 인상깊어 저도 제 자신에게 에자일 철학을 적용해보고 있습니다.

책을 읽으면서 비고츠키가 제안한 근접발달영역(ZPD)을 찾기 위해 에자일 방법론이 가장 적절하다는 생각이 들었습니다.

조만간 에자일을 제 삶에 적용한 경험을 글로 공유할 예정입니다.

근접발달영역 이론이란?

  • 너무 어렵지도 않고 쉽지도 않은 적절한 영역이 학습에 가장 적합하다는 이론입니다.

    zpd



참고 도서

This post is licensed under CC BY 4.0 by the author.