I. 프로젝트 소개
대기환경 모니터링 시스템은 교내 캡스톤 과정의 일환으로 약 1년간 진행한 8인 프로젝트이다. 교내 가로등에 설치된 센서노드를 통해 데이터를 측정 및 저장하고, 사용자는 캠퍼스 대기환경정보를 열람할 수 있는 서비스이다.
첫번째 학기(23-2)에는 환경조사, 문제정의, 토이프로젝트 등을 진행하였고 두번째 학기(24-1)에는 대기환경 모니터링 시스템 구축을 본격적으로 진행하였다.
II. 캡스톤 매칭과정
우리 학교의 캡스톤 과목 진행방식은 교수님 별 프로젝트 주제들이 공개되고 학생이 흥미있는 주제를 신청하여 팀 빌딩이 이루어지는 방식이다. 일반적으로 한 분의 지도교수님에 2~4인 팀과 특정한 주제가 있기 마련인데 내가 캡스톤을 신청하는 학기에는 처음으로 포항시 환경문제를 중심으로 하는 8인팀의 자유연구 주제가 생겼다. 정해진 연구주제에 비해 진취적으로 문제를 탐색하고 해결할 수 있다는 점이 매력적으로 다가왔다. 지도교수님도 다섯 분이 계셨고, 하드웨어부터 소프트웨어까지 개발하는 팀이었기에 다양한 경험을 통해 성장할 수 있을 것이라는 기대가 생겼다. 고민없이 해당 주제를 신청하였다.
III. 환경문제 조사
1. 조사과정
가장 처음에 한 일은 포항시 북구의 환경문제를 조사하는 것이었다. 우리 팀은 온라인 기사 서치로 문제를 찾아나서기 시작했고 더욱 실질적인 정보를 얻고자 환경운동가와 기자분들을 찾아가 인터뷰를 진행하기도 하였다. 뙤약볕에 근처 마을답사를 진행하며 하며 주민분들과 여러차례 이야기를 나누기도 하였다.
가장 어려웠던 것은 점은 특정한 이슈에 대해서 시민, 환경운동가, 기업 별로 서로 다른 입장을 취하고 있어 객관적인 문제 발견이 힘들었던 것이다. 기사나 환경운동가, 일부시민들은 문제를 제기하고 이를 고발하는 다큐멘터리 영상도 찾아볼 수 있었다. 그러나 기업, 공무원, 일부시민들은 그런 문제들이 전혀 없다고 주장했다. 게다가 각 측의 주장 근거로 제시된 자료의 수치도 서로 달라서 객관적인 기준을 세우기 어려웠다.
이처럼 환경이슈에 관한 일관된 문제 혹은 주장을 찾을 수 없었고 그저 입장에 따라 현상을 다르게 보는 것 같았다. 이러한 과정을 거치면서 도저히 무엇이 문제이고 무엇이 진실인지를 모르겠다는 생각을 수없이 했다. 그리고 대부분의 사람들은 환경에 대해 큰 관심이 없다는 것도 알게 되었다. 개인적으로는 기술은 수단이 되어야 하고 그 목적은 세상을 이롭게 하고 이웃을 돕는 것이 되어야 한다고 생각한다. 프로젝트의 첫 단추를 리서치로 시작했던 것은 이러한 맥락으로 문제를 정확히 포착하기 위함이었지만 그러기 쉽지 않았던 것 같다.
2. 문제정의
그러가 교수님의 권유로 학교 근처 산업단지 조성사업에 관한 조사를 시작했다. 환경보전방안서, 사후환경영향조사 등 수천페이지 분량의 보고서들을 읽어보며 산단조성 과정과 현황에 대해 공부했다. 보고서 상의 미흡한 점들을 발견할 수 있었고 이를 기반으로 문제를 정의하기 시작했다. 우리 팀이 주목한 것은 사후환경 조사과정에서 진행되는 대기환경 모니터링의 주기,위치,시기와 관련하여 미습한 부분이 존재한다는 것이었다. 모니터링은 분기별 1회(연간 4회) 진행되고 있었고 1회 측정시 2~3일 측정하였다. 또한 전원공급이 가능한 일부 장소에서만 진행되고 있었다. 측정데이터 중 일부는 비가 오는 날 혹은 비가 온 이후 측정되기도 하여서 평소 대기상황과 차이가 클 것으로 예상되었다.
이러한 문제의 해결방안으로 독자적인 모니터링 시스템을 구축을 구축하기로 하였다. 기존 모니터링 방식을 보완하고 독립적인 대기환경 데이터를 확보하여 산단으로 인한 대기환경 영향과 그 추이를 측정할 수 있도록 하는 것이다. 더불어 이러한 시도 자체가 기업들에게 경각심들 심어주거나 시민들에게 환경에 대한 관심을 갖게 할 수 있을 것이라는 기대도 할 수 있었다.
IV. 프로젝트 진행
하드웨어부터 소프트웨어까지 모두 우리 팀이 제작해야 했기에 나름 대형 프로젝트였던 것 같다. HW 부분에서는 재료 주문부터 시작해서 센서노드 제작, 방수 테스트, 설치, 유지보수 등을 진행하고 SW 부분에서는 센서 네트워크 게이트웨이 구축, 웹 디자인, 관리자/클라이언트 웹 제작 등을 진행하였다. 나는 서버 개발을 중점으로 맡았지만 로라 모듈 통신 테스트 및 아두이노 센서노드 로직 작성 등을 함께하며 하드웨어에 관해서도 경험을 쌓을 수 있었다. 프로젝트 초기에 로라 모듈 linear 통신 테스트, 아두이노 시리얼통신 관련 트러블 슈팅을 하면서 ‘오 됐다!’하면서 기뻐했던 것이 기억에 남는다.
주로 담당한 작업들을 나열해보자면 다음과 같다.
- 시스템 아키텍처 설계
- Firebaes Collection 구조 설계
- 관리자 웹 API 서버 개발
- 클라이언트 웹 API 서버 개발
- Raspberry PI Gateway 개발
- 통계 데이터 생성을 위한 cron-job 루틴 구현
- Arduino 센서노드 로직 일부 구현
- 클라이언트 페이지 UI 일부 구현
- 센서노드 제작/테스트/설치/유지보수 (센서노드 관련해서는 노가다성 작업을 많이 했던 것 같다. 컨트롤박스 구멍뚫기, 통신 테스트, 실리콘바르기, 가로등에 고무패드 붙이기, 센서고정하기 등)
V. 조직관리
캡스톤 마치고 나니 소프트스킬에 대해서도 많이 고민하고 배운 것 같다.
1. 효율적인 프로젝트를 위한 조직관리 방법 제안
첫 학기에는 팀원 8명 모두 환경조사 과정에 참여했고 함께 문제를 탐색해 나갔다. 각자가 조사하는 분야과 내용이 달랐고 팀을 나누어 진행하기도 하였다. 그러다보니 정보가 산발적으로 흩어져 팀원 별로 인지하고 있는 내용들이 달랐다. 이때 8명의 팀원들이 마음을 모아 함께 소통하면서 프로젝트를 진행하는 것이 생각보다 어려운 일이라는 것을 많이 느꼈던 것 같다. 조사내용을 공유하고 서로 싱크를 맞추기 위해 notion 문서화와 진행상황을 공유하는 시간을 따로 갖는 것을 제안했다. 또한 회의 시간에도 이야기를 하다보면 체계가 안잡히고 언제 끝날지 모르는 회의가 되는 경우가 종종 있었는데, 안건을 명확히 하고 회의 시간을 정하는 방식으로 문제를 해결할 수 있었다. 우리 팀만의 체계가 조금씩 갖춰지면서 팀원 간 의사소통이 개선되는 것을 느낄 수 있었다.
2. 팀원 간 열정/태도의 차이
프로젝트를 대하는 열정의 정도가 모두 달랐던 점이 힘들었던 것 같다. 누군가는 적극적으로 시도하고 문제가 발생하면 해결하려는 태도를 가진 반면 누군가는 일을 주어지지 않는 이상 스스로 나서서 하지 않는 소극적인 태도를 갖고 있었다. 몇 차례 이런 태도의 차이로 인해 발생하는 서운함을 터놓았지만 상황이 달라지는 않았다. 프로젝트를 대하는 온도나 마인드가 사람마다 다른 것이니 내가 어떻게 할 수 있나 하는 생각이 들었다. 사람 마음을 움직이는게 가장 어려운 일이니 말이다. 그래서 다른 사람의 열정은 신경쓰기 보단 열정있는 사람들과 먼저 열심히 하다보면 서로 으싸으싸할 수 있지 않을까하는 생각으로 최선을 다하려고 했다. 하지만 여전한 일부 팀원의 모습에 점점 일부 팀원에 대한 기대를 잃었던 것 같다. 돌아보면 너무 빨리 일부 팀원에 대한 기대를 포기한 것이 아닐까 하는 생각도 든다. 8명이 함께 만들어가는 프로젝트인데 하나되지 못했던 것에 모습에 아쉬움이 남는다. 그럼에도 불구하고 이러한 문제의식과 감정들을 터놓고 대화하면서 그러한 과정이 필요하고 또 의미있는 것이라는 것을 알게 되었다. 솔직한 피드백과 소통이 협업에서 가장 중요한 요소 중 하나라는 것을 1년 간의 시간을 통해 알게 된 것 같다. 앞으로도 성공적인 협업을 위한 의사소통이 무엇일지 고민하며 배워가는 시간을 갖고 싶다.