Profile picture

[BDD] 스프링 스터디 운영 일지 - 1

Amaranth2023년 11월 13일

들어가며


전 학습 스터디를 운영함에 있어 가장 큰 시간과 노력을 요구하는 것 중 하나가 학습 자료를 준비하는 것이라고 생각합니다. 그래서 BDD에서 프로젝트를 진행하기 위해 기초 지식을 학습하는 스터디가 필요한 상황이었음에도, 개인 일정 상 스터디를 열기가 부담스러운 상황이었습니다.

그러던 중 우연히 우테코 코치 브라운, 브리가 기획하고 계셨던 스터디 프로젝트의 목표와 제가 운영하고 있던 BDD의 목표가 어느정도 일치했던 덕에, 스터디 운영에서 코치님들의 도움을 받을 수 있게 되었습니다.

가장 큰 고민거리였던 학습 자료를 코치님들로부터 제공받아, 저는 스터디 운영과 스터디원들을 케어하는 데 집중할 수 있게 되었습니다.

기회를 마련해준 브라운, 브리 코치께 감사의 인사를 남깁니다.


그래서 이 시리즈에서는 스터디를 어떻게 기획하고, 어떤 식으로 진행했는지 그 과정을 정리해보려고 합니다.

비슷한 유형의 학습 스터디를 운영하려는 다른 분들에게 도움이 되길 바랍니다.

스터디 운영을 위해 제공된 환경


제공받은 학습 자료

제공받은 학습 자료의 학습 주제는 크게 4가지로 구성되어 있었습니다.

  1. 웹 요청과 응답을 처리하기 위한 Spring MVC의 기능
  2. 데이터베이스 접근을 위한 Spring MVC의 기능
  3. 스프링의 객체 관리 기능을 위한 Spring Core
  4. 스프링 애플리케이션의 기본적인 구조인 Layered Architecture

초보자가 스프링을 경험해보기에 더없이 좋은 구성이라고 생각했습니다.

다음으로 학습 자료가 권장하고 있는 학습 커리큘럼은 미니 강의 -> 실습 -> 학습테스트 -> 미션 4개 과정으로 구성되어 있었습니다.

각 과정의 목적은 다음과 같았습니다.

  • 미니 강의를 통해 이론적인 지식을 학습하고, 실습과 학습 테스트를 통해 이론적 지식을 코드로 이해한다.
  • 미션을 통해 요구사항을 구현해보며 학습 주제에 대한 깊이있는 이해와 학습을 한다.

스프링 경험이 없는 사람이 스프링의 메커니즘을 익히기에 필요한 요소는 다 갖춰져있어 더할나위 없이 좋은 자료였습니다.

스터디 간 교류

이런 기회를 얻은 건 저 뿐만이 아니었습니다. 저처럼 학교로 돌아가서 우테코 문화를 전파하려고 했던 크루가 몇 더 있었는데, 코치님의 제안으로 저희는 협력 관계를 맺어서 앞으로 스터디 운영 과정에서 경험하는 시행착오와 각자의 케이스를 공유하기로 했습니다.

스터디는 각자의 재량으로 운영하는 것이 기본이었지만, 학습 공유를 위해 디스코드 채널을 파고 각자의 스터디원들을 한 데 모아 질의응답을 할 수 있는 환경을 조성했습니다.

모인 인원마다 스터디의 목적이 달라 신기했습니다. 저는 프로젝트에 목적을 두고 있었고, 누군가는 개개인의 학습 그 자체에, 다른 누군가는 동아리 신입부원을 위한 온보딩 활동에 목적을 두고 있었습니다.

BDD의 운영 계획 상 제가 운영할 스터디가 가장 빨리 시작하는 스터디였는데, 그만큼 좋은 본보기가 될 수 있도록 노력해야겠다 생각했습니다.

스터디 기획하기


스터디의 목적 정립하기

저는 이 스터디를 구상하면서 다음 겨울 방학에 진행할 프로젝트에 목적을 두었기 때문에, 스터디의 목표를 다음과 같이 잡았습니다.

  1. 프로젝트 업무에 필요한 기본적인 Spring 문법을 학습합니다.
  2. 프로젝트에서 수행할 코드리뷰 문화를 미리 경험해봅니다.

그래서 저는 학습 자료가 권장하는 4가지 학습 과정 중 '미션'에 집중하기로 했습니다.

스터디원들이 코드리뷰 문화를 경험할 수 있도록 미션 과정에 코드리뷰를 추가했습니다.

비대면 스터디 운영하기

저는 현재 서울에서 생활하고 있고, 스터디원들은 대학 수업을 병행하고 있었기 때문에 스터디는 비대면으로 기획되었습니다.

비대면 스터디의 최대 단점은 동기부여가 약하고 각자의 진행상황을 제 때 파악해서 페이스를 조절하는 것이 어렵다는 것인데, 이를 보완하고자 그래서 스터디원 각자가 자신의 스터디 진행 상황을 기록할 수 있는 대시보드를 구성했습니다.

[!NOTE] 여담 여기서 노션의 수식 속성(사진의 달성률 속성)을 처음 도입해봤는데, 스터디원들이 성취감을 느낄 수 있도록 진행도를 시각적으로 확인할 수 있게 만들었습니다. 사용한 수식은 다음과 같습니다.

round((if(미니 강의 == true, 1, 0) + if(실습 == true, 1, 0) + if(학습테스트 == true, 1, 0) + if(미션 제출 == true, 1, 0) + if((본인의) 리뷰이 코드리뷰하기 == true, 1, 0) + if(미션 완료하기 == true, 1, 0) + if(1주차 피드백 작성하기 == true, 1, 0)) / 7 * 100) / 100

빠른 피드백 사이클을 얻기 위해 매 주차가 끝난 후 피드백을 작성하는 공간도 마련했습니다.

스터디 일정 짜기

학습 자료의 분량이 3주를 염두하고 만들어진 것이기 때문에 스터디 기간도 3주로 잡았습니다.

고민 끝에 완성된 일정표는 다음과 같았습니다. 이번 스터디는 미션에 초점을 맞추고 코드리뷰 과정도 추가했기 때문에, 미션 수행 기간을 길게 잡았습니다. 스터디원들 개인의 스케줄을 고려해 미션 제출 데드라인을 제외하고는 필수가 아닌 권장으로 두었습니다.

코드 리뷰

코드리뷰 방식은 스터디원끼리 서로 리뷰를 하는 것으로 기획했고, 인당 한 명의 리뷰어를 랜덤 배정했습니다.

코드리뷰가 처음인 부원들도 있었기 때문에, 진행에 차질이 없도록 가이드 문서를 작성했습니다.

마무리


이렇게 완성된 기획 자료를 스터디원들에게 공지했고, 오늘(11/13)부터 스터디를 시작하게 되었습니다.

다음 글은 1주차를 마무리한 뒤 작성하도록 하겠습니다.

여담으로, 처음에는 프로젝트를 진행하기 위한 스터디였기에 일회성 스터디로 기획했었는데, 많은 준비를 갖추고 시작해서인지 애착이 생겨서 소모임이 유지되는 한 주기적으로 스터디를 열어 기수제 운영을 해볼까하는 생각이 들었습니다. 우선은 이 스터디와 프로젝트를 성공적으로 마무리하는 것이 중요하니, 추후 깊이 고민해봐야겠습니다.


Loading script...