커리어 전환 후 주니어 개발자로 취업한 뒤, 길다면 길고 짧다면 짧다고 할 수 있는 기간 동안 프로젝트를 진행하면서 힘든 점도 있었고 배운 점도 있었다. 기술적인 내용이 아닌 글을 작성하는 것은 아직도 쑥스러운 것은 사실이나 앱이 출시된 이 시점에서 느낀 점에 대해서 두서가 없더라도 한 번은 풀어내야 할 것 같아서 글을 작성하게 되었다.
개발자로서 커리어를 전환하고 웹 개발자로 입사한 나는 회사에서 진행 중인 프로젝트가 시작된지 1/3 지난 시점에 회사의 요청으로 신규 프로젝트의 앱 개발자가 되어야 했고 새로운 포지션에서 새로운 기술을 공부하면서 개발을 진행, 8/9일 신규 앱을 출시하게 되었다.
프로젝트를 진행하면서 좋았던 점은 낯선 기술에 익숙해지기까지 시간은 걸렸지만 결국에는 해냈고 앞으로 내가 모르는 분야의 역량이 필요할 경우에도 할 수 있을 것이라는 자신감을 가질 수 있었다는 것이다. 또한 회사의 구성원으로서 앱의 초기 기획부터 참여해 앱의 구조나 코드의 재사용성 등 향후 유지보수를 고려하여 고민을 녹여낸 코드를 진심으로 짤 수 있었다는 점과 조금이나마 더 나은 개발자가 되기 위해 동료와 함께 고민하고 스스로 노력했던 시간 그 자체였다.
아쉬운 점은 Agile과 XP(extreme programming)를 표방했지만, 방법론에 대한 제대로 된 이해 없이 스프린트라는 모양새만 맞추려고 하다 보니 의미 없는 회의가 진행되는 경우가 많았고 기획의 부재로 인해 한 번으로 끝낼 수 있는 일을 여러번 수정하는 과정이 발생했다는 것이다.
각자의 히스토리를 보면 프로젝트 인원 중 80% 이상이 회사의 투자로 Deadline이 정해진 프로젝트를 위해 새롭게 합류한 멤버들이라는 점에서 앱을 출시한다는 소기의 성과는 달성하였지만, 선택과 집중을 통해 앱의 완성도를 높히면 어땠을까?하는 아쉬움이 있다. 그리고 이 과정에서 개개인의 역량도 중요하지만, 업무 프로세스의 정립, 그리고 매번 말해도 입 아픈 소통의 중요성에 대해서 생각해볼 수 있었다.
B2C 프로젝트의 경우, 기획이 부족한 상황에서 피그마로 디자인된 화면만을 보고 기능을 개발해야 했는데 스토리 보드가 없어 동일한 화면을 보고도 개발자, 디자이너가 각각 다른 해석을 가진 상태에서 작업이 진행되는 상황이 필연적으로 발생하게 되었다. 물론, 그 상태로 개발을 진행했던 것은 아니고 개발 내용을 조금 더 구체화하기 위한 무수히 많은 대화를 시도하였고 그 결과 기획이 구체화 되기도 하였다. 다만, 그 결과 디자인팀은 디자인을 다시 변경해야했고 나는 코드를 새로 작성하는 만큼 삭제해야 했다.
지금의 방식이 스타트업의 제한적인 리소스 안에서 우리가 선택할 수 있는 최선이었을 수도 있지만 한 번 겪은 아쉬웠던 점을 되풀이하지 않기를 바라며 이 글을 마친다.
프로젝트를 하면서 방법론에 대한 이야기를 많이 들었으나 이론과 실제의 괴리(?)가 발생하여 개념을 명확하게 하고자 간단하게 정리를 해보았다. 정답은 없다.
1) Waterfall
2) Agile(기민한, 민첩한)
출처 - 애자일은 옳고 워터폴은 틀렸다?(https://brunch.co.kr/@aykim13/42)