NH오늘농사

프로젝트

Markup
퍼블리싱 100%
2022.08.01 ~ 2023.02.28

NH오늘농사 리뉴얼, 디지털 종합영농플랫폼 구축 프로젝트 참가

담당업무

퍼블리싱 파트 PL로 참석하여 공통 영역과 스크립트 부분을 담당하며 2명의 팀원과 함께 프로젝트를 진행하였다.

도전해 본 것들

드라마 도깨비의 명대사를 인용하고 싶다.

너와 함께한 시간 모두 도전이었다. 날이 좋아서, 날이 좋지 않아서, 날이 적당해서 모든 날이 도전이었다.

접근성 심사 통과를 위한 코딩에는 항상 관심이 있고 심사를 받지 않더라도 신경 쓰며 조심스럽게 하는 편이지만, 좀 더 친화적인 코드를 만들고자 노력하였는데 심사를 받던 과정을 생각하면, 기본적으로는 나쁘지 않은 결과를 볼 수 있었던 것 같다. 오랜만의 PL 업무가 가장 큰 난제로 중요한 도전 항목이었고 원만한 팀원들 덕분에 많은 도움을 받을 수 있었다.

어떤 프로젝트나 스크립트는 항상 도전의 장이다. 특히 이번 프로젝트에서는 업무 비중에서 스크립트가 차지하는 비중이 높다 보니 자연스럽게 도전 과제들이 많았다. 적당한 표현을 찾지 못하겠는데 꾸역꾸역 어찌어찌해서 기능을 만들어 놓고 자화자찬하다가 버그가 나오면 좌절하기를 반복했는데 생각해 보면 주위에서 던져주는 당근이 더 달리게 만들었던 것 같다. 결과적으로 이전보다 스크립트, jQuery를 좀 더 이해할 수 있었던 기회였고 힘들었던 만큼의 보상이라 생각한다.

새로 배운 것들

대표적으로 mobiscroll, rMate Chart 라이브러리를 적용하며 새롭게 배울 수 있는 기회가 되었다.

mobiscroll은 한국어 서비스가 지원되지 않고 한국어 레퍼런스도 전무한 편이어서 구글번역기에 의존하며 공식문서를 보고 현지 담당자와 이메일을 통해 부족한 정보를 채우며 작업했고 덕분에 100%는 아니지만 기획된 UI를 어느 정도 구현시키는 과정을 충족시킬 수 있었다. 가장 기억에 남는 부분은 버전 4와 버전 5를 조합해야만 구현 가능했던 UI였다. 작업하면서 의아했던 건 상위버전에서 하위버전의 기능을 완전히 배제시켜 놓은 것인데 완전 배제보다는 별도 옵션으로 관리되었어야 할 부분이라 생각되었기 때문이다. 업무 중 가장 많은 시간을 할애한 부분 중 하나였다.

rMate Chart는 한참 전에 오래된 버전은 작업해 봤지만 접근성 프로젝트에서 적용시켜 본 경험은 없었기에 새롭게 접근해 볼 수 있었던 부분이다. 처음에는 옵션이 잘 적용되지 않아 한참을 돌았으나 적용 후 시각, 청각 장애를 가진 사용자에게 필요한 기능을 구현할 수 있었다. 다양한 옵션을 다루는 일은 재미있기도 하지만 어렵기도 했는데 접근성 이슈도 대응 가능한 라이브러리여서 다행이었다. 라이브러리에서 제공되는 자동생성되는 DOM의 제어가 약간 귀찮았고 특정 부분에서는 좀 더 코어 영역을 건드려야만 할 것 같아서 건드리면 에러를 뿜어내며 라이브러리가 화를 내서 패스했다.(스크립트적인 문제인지는 모르겠으나 스크립트 문제라 여기며 통감했다.)

namo 에디터는 정말 생소했다. 이슈가 개발 영역이었기에 퍼블리싱 측에서 관여할 일은 거의 없었으나 담당 개발자와 함께 관련 API를 확인하면서 Css, Csslist 속성을 사용해서 기능 중 일부를 구현할 수 있었는데 특이 케이스에 대해선 결국 답을 찾지 못했던 부분은 무척 아쉽다.

이전 프로젝트에 이어 동일한 Swiper를 사용하게 되었으며 이전보다 다양한 옵션을 다룰 줄 알게 되었다. 함수화 해서 여러 곳에 돌려쓰는 방법을 시험해 봤는데 나름 잘 작동하는 걸 보면서 스스로의 잔머리를 칭찬하기도 했었다. 페이지별로 다양한 종류의 슬라이더가 필요했던 관계로 소스가 비대해지는 것 같아 공통으로는 사용하지 못하고 일정 부분에 한계를 둘 수밖에 없었던 부분은 아쉬움으로 남는다. 몇 가지 개발적인 이슈까지는 해결을 못해서 속상하기도 했었는데 라이브러리에 정통하기는 어려운 것 같다. 이래서 개발이 어려운가 보다.

언제나 새로운 것을 배울 때마다 느끼는 것은 배울 것이 넘치고 먼저 고행의 길을 걸어간 선구자들이 존경스럽다는 거였다.

접근성

접근성 프로젝트를 진행하는 데 있어 프로젝트 성격에 따라 함께 사용되는 솔루션들의 접근성 대응 문제가 생각보다 어렵다는 것을 항상 느끼게 된다. 실질적으로 솔루션의 도입 과정에서부터 각종 기능에 대한 면밀한 정의가 내려져 있지 않다면 심사기준을 통과하기가 수월하지 않다는 것을 체험할 수 있었다. 결과적으로는 심사를 통과할 수 있었으나 일정 부분에서는 솔루션을 사용하지 않았다면 좀 더 원활하지 않았을까 생각해 본다. (다른 방법으로 내가 동일한 기능을 구현할 수 있느냐 물으면 답할 수 없지만..-_-)

남들이 어떻게 받아들이던, 실 사용자들은 별거 아니라 생각할지도 모를 몇몇 영역에 사용한 스크립트, ARIA의 조합은 개인적으로 무척 만족스럽다. 하나의 기능에 시간을 투자한 만큼의 결과가 느껴질 때 그동안의 고생이 없어지는 신기한 경험은 경험해 본 당사자만이 느낄 수 있는 특권이라 생각된다. 또한 시간이 좀 지나서 그 코드를 보면서 어떻게 만들었지라는 신기한 경험도 할 수 있다.

심사에 대해서는 어려움이 항상 따르는 것 같다. 의견의 차이가 나오기도 하고 타협점(?)이 발견되기도 한다. 전문가 심사를 거쳐 사용자 심사를 하게 될 경우 긴장도가 더 올라가는 것 같다. 사용자의 경우 실제 장애를 가진 분들이 진행하는 만큼 숙련도와 경험이 많은 부분을 차지할 것 같아 더 걱정했던것 같다. 심사원분들이 알려주시는 가이드에 따라 추가로 작업해야 하는 작업도 녹록지는 않았는데 결국 조용히, 개인적으로 세웠던 100%라는 목표는 이루지 못했다.

어디까지나 애매한 기억에 의존하고 있는 부분이지만 몇년전에 했던 접근성 프로젝트보다 많은 부분에서 더 강한 규칙을 적용하고 있다는 인상을 받았다. 모든 것은 바뀐다. 접근성 쪽 생태계도 웹 기술 발전만큼 계속돼서 발전되는데 그것을 만족시킬 기술을 익히는 게 점점 난이도가 올라가는 것 같은 느낌이다.

아쉬운 점

항상 프로젝트 초반에는 다양한 포맷에 대응 가능한, 컴포넌트화된 템플릿 형식의 구조를 고집하는 편이다.(결국 뒤로 갈수록 초반의 형태를 유지하기는 힘들지만..) 그래서 디자인도 그런 방향에 맞게 나오길 바라는 편이지만 이건 어디까지나 이상적인 이야기라는 것을 다시 느낄 수 있었다. 이해관계를 떠나 일을 하는 입장에서만 바라본다면 지키고 싶은 규칙이 있고 그걸 관철시키고 싶지만 여느 프로젝트와 마찬가지로 어른들의 사정상 그렇지 못했다.

팀원들과 함께 최대한 정해진 일정, 시간 내에 결과물을 내놓기 위해 노력했다고 자신 있게 말할 수 있지만, 초기의 일정보다 한참 줄어든 시간 내에 마무리 짓기 위해서 들어간 마이너스적인 시간비용은 코딩을 이상적으로 진행할 수 없었고 이 부분이 가장 아쉽게 여겨진다.

좀 더 프로젝트를 수월하게 이끌 수 있지 않았을까 하는 부분은 항상 프로젝트 후반부에 드는 생각으로 '나는 과연 만족스러운 결과를 도출해 낸 것일까?' 자문하게 된다. 관리직 자리가 그렇듯 프로젝트의 성공적인 마무리를 위해 좀 더 일하고 좀 더 확인하고 좀 더 챙겨야 하는 자리인데 제대로 했던 것일까라는 의구심이 남는다.

프로젝트의 꽃은 역시 첫 인상을 좌우하는 디자인이다. 기획이 좋으면 디자인이 좋고 프로젝트 스타트가 빨라져서 뒤로 고생하는 경우가 줄어들게 된다. 이번 프로젝트의 경우 디자인 결정이 빠르게 나와서 퍼블 진행이 약간은 수월했지만, 역시 고질적인(?) 문제가 프로젝트 후반에 고개를 들어 올렸다. 정말 100% 세상 어떤 프로젝트도 피해 갈 수 없는 부분인 것 같다.

마무리(프로젝트를 돌아보며, 개인적인 단상)

난 분명 마크업을 위주로 한 작업을 수행했으나 후반으로 갈수록 경계가 좀 더 프런트 쪽으로 치우쳐진 애매한 상황이었다. 기획자의 요구사항, 개발자의 요구사항을 충족시키는 일이 쉽지 않았는데 프로젝트에서 스크립터의 자리가 갈수록 커짐을 체감할 수 있었다. 언제나 느끼지만 스크립트가 어렵다. 그래서 더 욕심이 나는 건 무언가 내 손으로 만들어 낸 것이 제대로 동작할 때의 재미가 동반되기 때문일 것 같다.

계속되는 속도이슈를 해결하기 위해 마지막까지 개발자와 이것저것 건드리며 적용해 본 것들이 좋은 피드백을 받게 되었을 때, 상호 간 의견을 조율하면서 진행하는 핑퐁에 어려움이 없고 대화 중에 좀 더 좋은 방향이 발견되었을 때, 역시 경력과 경험을 기반으로 오픈마인드가 필요하다는 걸 알 수 있었다.(프로젝트마다 가끔 헉하는 경험을 하다 보면 필연적으로 보수적으로 변하게 된다..) 서로 간의 부족한 부분에 대해 이해하고 공격이 아닌 상호 보완해 가며 구현 가능한 범위를 찾아가는 과정의 중요성을 체감할 수 있었다.

웹과 앱이 공존하는 서비스라서 접근성을 위해 디버깅을 하는 과정에서 앱의 작업 방식도 가까이서 들여다볼 수 있어 공부가 되었다. 한 땀 한 땀 만들어가는 과정은 앱이든 웹이든 별반 차이가 없는 것 같다. 단지 앱은 웹처럼 디자인-퍼블-개발의 분업이 세세하게는 이루어져 있지 않은 것 같아 보였다. 정말 한 땀 한 땀..

개인적인 견해차이일 수 있고 당시의 환경의 영향일 수도 있겠지만 일본에서 일하던 당시의 PL 업무보다 한국에 들어와서 진행하게 된 PL 업무의 강도가 훨씬 높다는 생각이 들었다.(왜일까..) 이번 프로젝트에서는 전체 멤버 중 괄괄한 사람이 별로 없었다는 것이 그나마 다행이었다고 할 수 있겠다. 이런 경우는 흔하지 않은데 정말 다행이었다.


마지막으로... 프로젝트 종료시점에 서비스가 세상에 나올 때 대대적인 홍보가 진행되는 것을 보면 (아는 사람들끼리만 알겠지만) 진짜 힘들긴 했어도 보람도 느끼게 된다. 내가 들인 시간이 누군가에게는 귀중한 자원이 된다는 것은 확실히 좋은 일이다. 더욱더 좋은 서비스로 거듭나길 바라며 다음 프로젝트가 잡힐 때까지 얼마나 쉴지는 모르겠으나 좀 쉬면서 공부해야(쉬어야...) 겠다.