Scrum, Scrumban with Trello

Reading time ~5 minutes

최근 소프트웨어 마에스트로 과정에서 멘토님들의 지도를 받으면서 Agile 기반의 프로젝트를 진행하고 있다. 많이 배우고 좋은 경험을 하고 있다는 생각이 들어서 느낀점과 함께 기록하여 남겨두고자 한다. 오늘은 오전에 Trello를 이용한 스크럼반에 대해 멘토링을 받았고 저녁에는 스크럼(백로그, 스프린트)에 대한 멘토링을 받았다. 몇 가지 개념을 정리하고 현재 프로젝트에 적용하고 있는 범위 내에서 작성했다. 나중에 다시 찾아봤을 때 지금의 경험을 상기할 수 있도록 하기 위함이다.


스크럼반

스크럼과 칸반이 합쳐진 말로 스크럼의 방법론을 가지고 칸반을 적용 한다는 뜻이다.

핵심 가치

  • 주기 : 프로젝트의 전체 기간을 한 번에 계획하여 진행 했을 때 발생하는 문제들을 프로젝트를 짧은 주기로 나눠서 반복함으로써 시행착오를 점검하고 회고하여 단점들을 보완해간다.
  • 투명성 : todo, doing, done을 구분하여 프로젝트 현재 진행 상황을 한 눈에 파악할 수 있도록 한다. 무엇이 누구에 의해, 얼마정도 진행되고 있는지, 다음 작업을 위해서 무엇이 필요한지, 병목이 어디인지 알 수 있기 때문에, 프로젝트 관리 오버헤드를 감소시킨다.
  • 팀의 성장 : 스크럼에서는 회고를 중요시 한다. 회고를 짧게라도 반드시 해서 ‘어떻게 하면 단점을 보완할까?’를 생각한다.

프로젝트 관리

  1. 백로그 쌓기
    시간, 자원 등을 고려하지 않는 무궁무진한 아이디어를 카드를 통해 누구나 쌓을 수 있다.

  2. 그루밍
    수염의 잔털을 제거한다는 뜻으로 백로그에서 가치 있고 중요한 것을 스프린트의 todo로 넘기는 것을 말한다. 카드를 넘기는 것이 중요한 것이 아니라 뭐가 가장 중요한지, 우선순위가 무엇인지를 파악하여 가치 있는 하는 것이 중요하다. 넘겨지는 카드 제목에는 ‘왜?’, ‘무엇?’ 이 명확해야 하고 description에 ‘어떻게?’를 명시해야 한다. 카드에 해당하는 작업을 할 사람을 선정하고 얼마나 시간이 걸릴지를 예상하여 point로 기록한다.

  3. 스프린트 정의

스프린트가 끝났을 때 가치있고 가시적인 실질적인 결과물이 나와야한다. 결과물은 잠재 고객에게 실제로 사용 해보도록 해서 평가와 피드백을 받을 수 있어야한다. 그루밍을 통해 todo로 넘겨진 카드들의 point와 팀원들이 임할 수 있는 시간을 산정한 point를 기준으로 적절히 조절하여 스프린트를 정의한다.

trello

하나의 스프린트는 Todo, Doing, Done 으로 나눈다. Todo의 카드를 작업할 때 Doing으로 옮기고 완료되면 Done으로 옮긴다.

밥먹는 시간 등을 고려하여 실제로 개발할 수 있는 시간을 계산한다. 그것은 비용이 되는 것이고 그 시간 동안 할 수 있는 일이 매우 가치가 있어야 한다는 것이다. 실제로 필요한 기능인가를 끊임 없이 생각해야 한다.

현재 프로젝트에서 잘못된 카드의 예로 ‘리액트에 대해 스터디를 진행한다’ 라는 카드였다. 이번 스프린트의 결과물에 영향을 미치지 않고 리액트를 실제로 사용하게 될것이라는 것도 불투명하기 때문에 이번 스프린트에서 제거하기로 결정했다. 스프린트는 가시적인 결과물이 나와야 하는데 이런 작업들은 거기에 해당하지 않는다는 것이다.


느낀점

멘토링 후에 스크럼과 칸반, 스크럼반에 대해 찾아봤는데 차이점이 있는 듯하다. 지금 어느 한쪽이 맞다고 판단하기 보다는 여러가지의 의견을 들어보고 실제로 프로젝트에 적용하면서 느낀 것을 바탕으로 각자의 방법론에서 이야기하는 내용들이 어떤 것을 의미하는지 이해해보는 것이 좋겠다는 생각이 들었다.

프로젝트를 짧은 주기로 반복하는 것을 통해 자주 성공을 맛보고 ‘잘 할 수 있을것 같은데?’라는 생각을 가질 수 있다는 점에서 많은 공감이 됐다. 현재 부족한 의욕을 채울 수 있으며 재밌고 열정적으로 프로젝트에 임할 수 있을 것 같다.

매일 스크럼 회의를 진행하고 있는데 오늘 아쉬웠던 점을 얘기하면서 자연스럽게 회고하는 시간을 갖게 되었다. 스크럼 회의를 통해서 팀원들 간의 프로젝트 진행 상황을 공유하는 것 뿐만 아니라 프로젝트를 진행하는데 부족한 부분을 깨닫고 돌이켜보며 문제의 원인을 파악 수 있었다. 다음에 같은 실수를 반복하지 않기 위한 방안들을 생각하고 노력하고자 다짐했다.

프로젝트 혹은 나 자신의 부족한 점을 파악하고 반복적인 실수를 하지 않기위한 노력은 매우 중요하다고 생각된다. 현재 우리 팀은 이를 해결하기 위해 우리끼리의 몇 가지 규칙을 정했다.

  • 주기가 끝날 때마다 잠재고객과 약속을 잡고, 실행한다.
  • “이게 중요한 것인가?” 라는 질문을 수시로 한다.
  • 회의 중에는 회의에만 집중한다.

멘토님께서 한 말씀 중에 “문화는 협의한 규칙들의 집합” 이라는 말이 인상깊었다. 규칙을 꾸준히 지켜나가면 그 집단의 문화가 된다.

Start SpringMVC project in IntelliJ

IntelliJ에서 SpringMVC 프로젝트로 “Hello world”를 띄우는데 막히는 부분이 있어서 정리해놓고 나중에 참고하고자 한다. 단순히 SpringMVC Project를 생성한다고 해서 동작하지 않고, 프로젝트를 생성할 때 자동...… Continue reading