본문 바로가기

회고/프로젝트 회고

백엔드 개발자의 우당탕탕 PL 회고

배드 엔딩으로 시작

 

 



 

한 달 반이라는 시간 동안 이끌어온 나의 애지중지 우당탕탕 금쪽이 프로젝트.

아쉽게도 결말이 그리 좋지는 않았지만 주절주절 기록이라도 남겨보고 싶다.

내가 언제 어디가서 또 이만한 규모의 프로젝트를 리딩해볼 수 있을까?

좋은 경험이었다.

 

 

어쩌다 PL이 되었나

 

사실 이번 프로젝트가 처음이 아니라, 이미 3번의 프로젝트를 진행한 바 있다.시작은 속어로 표현하자면 짬 떠넘기기(..) 식으로 하게 됐던 건데, "내가 우리 회사에 필요하다고 생각하는, 그리고 내가 하고 싶은 일을 하면서" 회사에 기여할 수 있다는 부분에서 큰 매력을 느꼈다.

다른 사람이 이끄는 프로젝트에 참여하면 조금의 구멍만 발견해도 의구심을 품게 되기 마련인데, 내 새끼는 그렇지 않으니 말이다.

 

그러나 내가 간과한 게 있었으니.. 이전의 프로젝트들은 모두 규모가 정말 작은 프로젝트였고, 크게 팀을 리딩하고 이끌어가야 할만한 일이 없었다.

반면 이번 프로젝트는 신경 써야할 부분이 정말 많았고, 조금의 실수도 용납해서는 안되는 중요한 프로젝트였다는 점이다.

이런 중요한 프로젝트를 이끌기에 나의 리딩 역량은 너무 부족했다.

 

 

어떤 부분이 힘들었나

 

 

기존의 프로젝트들은 킥오프 회의 한번 진행하고, 이후 몇 번의 논의를 거친 후 "이렇게 저렇게 해주세요. 일정 산정 부탁드립니다." 외에는 그다지 내가 할 게 없었다.

하지만 이번 프로젝트는 달랐다. 고객 경험과 아주 아주 밀접한 관계가 있는 프로젝트였기 때문에, 수없이 많은 회의를 진행하는 과정에서 프로젝트의 계획은 끊임 없이 수정되었고, 나중에는 우리가 직전 회의에 결정한 게 무엇이였는지 헷갈릴 지경이였다.

끊임없이 팀원들이 현재 무엇을 하고 있는지 체크해야 했고, 일정을 수정해야 했으며, 코드를 갈아 엎어야 했다.

 

초기에는 나의 프로젝트 리딩 능력 부족으로 같은 프로젝트에 속한 기획 팀원분들이 꾸준히 챙겨주셨고, 옆에서 정말 많이 보고 배웠다.

하지만 당연히 모두가 바쁘다보니 나중에는 내가 팀 리딩을 주도적으로 해야만 했고, 이 부분이 정말 힘들었다.

"팀 리딩만 한다면" 그렇게 힘들지 않았을지도 모르지만.. 프로젝트 내에서 백엔드 개발도 진행해야 하고, 해당 프로젝트 외에도 나는 해야할 일이 산더미처럼 쌓여있는 상황에서 지속적으로 프로젝트 진행 상황을 체크한다는 것 자체가 부담이였다.

 

가장 힘들었던 것은 안드로이드 외주와의 커뮤니케이션..

외주와의 협업은 말 그대로 전쟁이었다.

일정, 품질, 소통 무엇하나 쉬운 게 없었다.

 

솔직히 외주 문제만 작성해도 a4 10장 분량 정도 작성할 수 있을 것 같지만..

어차피 이렇게 된 이상 의미 없다.

이번 사건을 계기로 안드로이드 개발도 내재화할 것을 약속 받았음으로 이쯤하고 넘어가자.

 

 

왜 망했나(ㅋㅋ)

 

전혀 예상하지 못했다.

왜냐면 정말 열심히 했기 때문에.. 무언가를 열심히 했다고 해서 반드시 긍정적인 결과가 나오는 것이 아니라는 것 쯤은 잘 알고 있지만, 주말과 내 개인 시간까지 투자해서 끊임없이 체크하고 체크하고 또 체크했기 때문에.. "완벽한 결과물"까지 바라지는 않았지만 이런 대형 사고가 터지는 것은 완벽히 내 예상 밖의 일이었다.

 

엄밀히 말하자면 사건의 원인이 프로젝트 내에 있지는 않았다.

옛날 옛적부터 클라이언트 로직에 어떤 문제가 있었지만, 큰 문제가 아니라고 무심결에 모두가 넘겨왔던 어느 부분과 이번 프로젝트의 배포가 맞물려 거대한 폭탄이 터지고 말았다.

더 신경 썼다고 해서 체크할 수 있었던 부분이었나?

그렇다고 나의 잘못이 아니라고 말할 수 있을까?

다른 팀원들은 몰라도 프로젝트의 PL이자 개발자인 나는 책임에서 자유로울 수 없다.

 

중요한 건 우리의 결과물을 배포한 시점부터 9시간 동안 회사 서비스에 심각한 장애가 발생했다는 것이다.

CS 팀은 끊임 없이 CS를 처리해야 했고, 영업팀은 영업을 해야하는데 앱이 정상 실행되지 않는 황당한 일을 겪었다.

프로젝트에 속하지 않은 모든 백엔드 개발 팀원들이 모여서 원인을 트래킹하느라 하루 동안 리소스를 낭비했다.

 

 

폭탄이 터졌을 때 어떤 기분이였나

 

처음 문제를 인지한 시점부터 5시간동안 매 시간마다 분노의 5단계를 거쳐갔다.

 

1단계 부정 - 내가 얼마나 다방면으로 체크했는데 이런 문제가 발생한다고? 분명히 다른 원인이 있을거야.

2단계 분노 - 왜 하필 내 프로젝트와 직접적인 연관도 없는 문제가 이 시기에 터진 거지? + 외주의 오장육부를.. (생략)

3단계 타협 - 생각해보니 타협은 없었다.

4단계 우울 - 이 프로젝트는 망했어. 내가 더 신경 썼어야 했는데. 내 안일함 때문에 모두가 피해를 입고 있어.

5단계 수용 - 탓하고 후회해봤자 소용 없다. 내가 더 꼼꼼히 체크하지 못한 잘못이고, 실수는 했지만 배운게 있으니 다행이다. 나는 회사에 입힌 피해보다 더 많이 기여를 할 수 있는 능력이 있는 사람이니, 앞으로 더 열심히 하면 된다.

 

지금도 5단계의 마음은 변하지 않았다.

아직 대표님이랑 눈 마주치기 무섭긴 하지만 ㅎ.. 돈을 더 많이 불러올 수 있는 개발자가 되겠습니다.. 사랑합니다..

 

 

좋았던 것들, 느낀 점들

 

1. 기획자들은 정말 고생이 많다. 기획자들한테 잘해주자.

2. 나 혼자서는 여기까지도 오지 못했을 프로젝트.. 혼자서는 아무것도 할 수 없다. 좋은 팀원들과 함께한 것 자체가 행복한 시간이었다.

3. 외주와의 협업은 지옥이다. 피할 수 없다면 정말 시간 단위로 체크하며 감시하는 수 밖에 없다.

4. 장애 대응 시나리오는 아무리 열심히 생각해도 부족하다. 떨어지는 낙엽도 조심하자.

5. 내가 담당하는 프로젝트가 끝이 아니다. 진행 중인 다른 프로젝트나, 기존 프로젝트와의 영향도 끊임없이 고민해야 한다.

6. 수평 조직에도 목소리의 힘에는 차이가 있다. 어쩔 수 없는 것.

7. 다들 정말 각자의 자리에서 열심히 일하고 있구나. 나도 더욱 최선을 다해야겠다.

 

 

 

부록 - 기억에 남는 일

 

기획자 : 은찬님, 혹시 이런 식으로 추가 기능 개발할 수 있을까요?

나 : 음.. 가능은 하겠지만 로직을 좀 더 검토해봐야 할 것 같아요. 그리고 지금 일이 좀 많아서..

기획자 : 그렇군요.. 29CM는 이거 되던데..

나 : 당장 개발할게요, 무조건 할 수 있어요 ㅡㅡ

 

우리 기획 팀원 분께서 나를 다루는 방법을 터득하신 것 같음.