카테고리 없음

학교 수강평 사이트 개발 및 운영 도전기 (1)

dongsunseng 2023. 7. 2. 02:01

글쓴이는 뉴욕의 주립대학교인 Stony Brook University의 글로벌 캠퍼스인 인천 송도 캠퍼스에 재학중인 학생이다. Technology Systems Management(기술경영)학과 전공, Computer Science(컴퓨터과학)를 첫 번째 부전공, Applied Mathematics & Statistics(응용통계학과)를 두 번째 부전공으로 하고 있다. 

 

뉴욕에 있는 본교와 커리큘럼은 똑같지만 송도에 있는 특이한 학교를 다니며 느낀 장단점은 분명했다. 제일 큰 단점들 중 하나는 한국 대학교들에 비하여 수업 정보가 많이 부실하다는 것이다. 족보가 있기는 커녕 존재의 유무도 모른채 한 학기 내내 고생하는 일도 비일비재했고 이 수업이 과제가 많은지, 시험은 몇 번을 보는지, 팀플이 있는지 없는지에 대한 정보도 선배를 통해 전해 듣는 방법밖에 없었다. 

 

한국 대학교는 '에브리타임'이라는 서비스를 통해 수업에 대한 정보를 열람할 수 있지만 본인이 재학중인 대학교는 한국에 있기는 하지만 뉴욕 소재 대학교이기 때문에 해당 서비스에서 지원하지 않는 기능이 대부분이다. 

 

본인은 이제 뉴욕 본교 캠퍼스로 떠나지만, 후배들은 이런 불편함을 겪지 않았으면 하는 마음이 컸기 때문에 freshmen 때부터 만들고 싶었던 언급한 기능들이 탑재된 웹 애플리케이션을 개발하는 프로젝트를 기획하게 되었다. 

 

팀은 글쓴이 포함 6명으로 역할 분배는 다음과 같이 이루어졌다:

  • UI/UX 디자인 & 홍보: 3 명
  • 팀 운영 & 홍보: 1명 
  • 수업 데이터 크롤링: 1 명
  • 팀 리드 & 앱 개발: 글쓴이 본인

개발한 앱에 대하여 간단한 설명

1. 홈 화면

네이버 웨일 홈 화면처럼 기본 화면을 구현해둬야 조금 더 구색을 갖춘 서비스가 될 것이라는 생각에 시간, 위치에 따른 날씨 정보, 랜덤 명언 등을 구현했다. 

2. School Info 화면

뉴욕대학교 웹사이트를 오마주해서 만들었다. 본인이 재학중인 한국뉴욕주립대학교의 웹사이트는 디자인적 완성도는 높은 편이라고 생각되나 필요한 정보를 찾기에는 다소 복잡하게 구현된 부분이 있다. 학생들에게 가장 필요한 링크들만 모아둔 페이지라고 생각하면 될 것 같다. 

3. Course Manager (수강평)

메인 기능인 수강평 작성 및 열람 페이지이다. 수업에 대한 총점, 과제량, 전체적인 수업의 난이도, 시험 개수, 퀴즈 유무, 팀플 유무에 대한 정보를 강의평에 포함하였고 이를 교수, 학기별로 열람할 수 있게 개발했다. 이외에도 수업별로 게시판 기능을 추가해서 수업을 듣는 학생들끼리 소통할 수 있는 커뮤니티를 마련했다. 

4. 게시판

일반적인 게시판 페이지도 추가하였다. 대학생 게시판은 '에브리타임'이 굉장히 큰 비율을 점유했기 때문에 활성화가 잘 될거라고 기대하지는 않았지만 기획한 서비스의 특성 상 유저들간의 소통 창구가 있는 것은 필수적이라고 생각했다. 

 

이 외에도 light/dark mode, user profile 등의 기능을 구현해서 완성도를 높였다. 

결과

위의 기능들을 모두 구현하고 배포하기까지 약 2달 정도 걸린 것 같다. 학기 중이었다는 것과 배포까지 한 첫 프로젝트라는 것을 감안하면 mvp를 목표한 시간 내에 최소한의 완성도를 갖춰서 만든 것 같아 나름 뿌듯하다. 

 

감사하게도 이번 수강신청 기간동안 유저는 100명, 모은 수강평은 300개가 넘었다. 재학생들 전부가 약 800명 정도라는 것을 생각하면 정말 많은 학생들이 관심을 가져준 것이다. 앞으로는 active user를 높일 수 있는 수강신청 기간 외에도 학생들에게 도움이 될 수 있는 기능들을 기획, 개발할 생각이다. 지금은 Cross platform mobile application 개발 & 웹 앱의 코드들도 최적화 및 보완 작업을 진행하고 있고 더 나은 서비스를 만들기 위해 유저들을 대상으로 설문 조사를 진행중이다. 최소한 졸업할 때까지는 계속해서 이 프로젝트를 진행할 생각이므로 느낀 점들이나 고민, 결과물들을 공유하고 싶다. 

앱을 출시하는 과정을 거치며 느낀 점

1. 유저들의 pain point를 정확히 파악하는 것이 서비스의 성공/실패 여부를 결정한다

2. '린 스타트업'이라는 책에서도 언급한 것 같이 완벽한 계획을 추구하고 진행을 미루기보다는 유저들의 pain point와 서비스의 필요성만을 검증하고 최대한 빨리 MVP를 개발하고 나서 유저들과의 소통을 통해서 서비스를 구체화, 완성화 시켜나가는 것도 좋은 방법인 것 같다. Done is better than Perfect :)

3. 사람들은 생각보다 서비스의 성능을 신경 안 쓴다. 다시 말해, 서비스의 성능의 완성도보다 디자인의 완성도를 높이는 것이 개발자가 아닌 유저들에게는 더 나은 선택일 수도 있다는 말이다. 따라서 그 여러가지 요소들 사이에서 trade-off를 분석해서 상황에 맞게 목표를 설정하는 것이 현명한 것 같다. 

4. 생각보다 이런 간단한 CRUD 서비스를 만드는 것도 굉장한 시간과 노력이 필요하다. 에러나 개발적인 부분이 안 풀려서 힘든 부분이 크다기보다는 이 프로젝트는 수업 정보 크롤링을 제외하고는 전부 글쓴이 혼자 개발했기 때문에 개발적인 고민을 같이 나눌 사람이 없어서 더 힘들었던 것 같다. 

5. 유저들이 우리가 원하는대로 행동하게끔 하는 것은 굉장히 어려운 일이다. 프로젝트 특성상 유저들이 본인이 들었던 수업들에 대한 수강평을 입력해야 유지되는 서비스이다. 또한, 학교 자체에서 운영하는 사이트가 아니므로 강제적으로 채우게끔 할 수도 없다. 따라서 등록된 수강평들을 열람하기 위해서는 회원가입이 필수, 회원가입 할 때 강제로 3개의 강의평을 등록하게끔 하는 방법을 선택했다. 매 학기까 끝날 때마다 3개의 강의평을 추가적으로 입력해야 지속적으로 서비스를 이용할 수 있게 구현했다. 결과적으로 300개의 적지 않은 수의 수강평을 모을 수 있었지만, 강의평을 입력하는 단계에서 회원가입을 중단하는 유저들도 적지 않은 것으로 파악되었다. 

6. 마지막으로 이런 프로젝트나 스타트업에 있어서 가장 중요한 것은 사람(팀원)인 것 같다. 나를 믿어주는 팀원들이 있다는 것과 내가 기획한 프로젝트를 학기중임에도 열심히 참여해주는 팀원들이 있다는 사실이 이 프로젝트를 목표한 기한 내에 완료할 수 있게 한 가장 큰 동력으로 작용했다.