2016년 11월 10일 목요일

원거리 인도 개발자와의 협업 (3) - 재현 안되는 문제 분석하기

  얼마전 A 프로젝트에서 이슈가 나왔다. 현재 나는 B 프로젝트의 일을 진행 중 이어서, 해당 이슈의 처리를 인도 개발자에게 맡겼다. 해당 이슈는 재현율이 100%가 아니기 때문에, 반복적인 테스트가 필요했다. 인도 개발자에게 재현 방법을 알려주며, 재현율이 100%가 아니기 떄문에 반복해서 테스트하라고 요청했다.

  그리고 하루 뒤, 인도 개발자가 하루 동안 재현을 해봤는데 재현이 안된다고 말한다. 현재 B 프로젝트로 바쁜 상태여서 알았다고 말한 뒤, 내 업무를 수행했다.

  집에 돌아오는 길에 곰곰히 생각해보니, 그대로 놔두면 시간만 지나가고 문제는 해결되지 않아 결국 내가 해당 문제를 처리할 것 같았다. 어떻게 할까 곰곰히 생각해 보았다. 어떻게 하면 인도 개발자에게 일을 잘 시키고, 그가 문제를 해결할 수 있도록 도와줄 수 있을까 고민해 보았다.

<인도개발자에게 일을 맡겨도, 그 일이 걱정되서 밤에 잠이 오지 않는다 ㅜㅜ>

그래서 인도 개발자에게 하기와 같이 문제를 분석하라고 시켰다.

(1) 이슈 재현 경로에 대한 코드의 흐름을 정리
=> 문제가 나온 기능의 상태 (state) 변경 흐름과 상태 변경 조건을 중심으로 정리

(2) 코드의 흐름에서 해당 문제를 일으킬 만한 변수 (신호)들을 리스트업

(3) 테스터에게 재현 테스트를 하면서 해당 변수 (신호)값들을 로깅해달라고 요청
=> 이때 테스터에게 메일로 로깅을 요청하면서, 상기 (1)과 (2)의 내용을 포함하여 메일을 작성하여 송부하도록 했다. 이것은 내가 단순히 그를 관리하려고 시킨 것은 아니고, 코드의 흐름을 정리하고 글로 쓰는 과정에서 문제의 요인을 발견할 수도 있기 때문이다.
  실제로 내가 그런 경험을 가지고 있다. 다른 사람에게 코드에 문제가 없다는 장문의 설명 메일을 작성하면서, 문제의 원인을 발견한 경험이 있다.ㅋㅋ 그때 얼마나 깜놀했는지... ㅋㅋㅋ

(4) 테스터에게 요청 후, 개발자는 리스트 업 한 변수들을 중심으로 다시 한번 코드 및 스펙 리뷰

  사실 위의 절차는 대단한게 아니고, 내가 문제 해결할 때 수행하는 작업을 글로 옮긴 것 뿐이다. 그리고 그에 따라서 인도 개발자에게 일을 수행하라고 요청한 것 뿐이다. 또한 아마 대부분의 개발자들이 위의 절차대로 문제를 해결하고 있을 것이다.

  요즘 들어서 다른 이에게 일을 시키려니 (특히나 원거리에 있는 개발자에게) 개발하는 절차나 방법에 대해서 많이 생각해보게 된다. 또한 내가 평소에 개발해 오는 방법을 글로 작성해 보니, 나의 개발 방법에 대해서도 뒤돌아 볼 수 있는 기회가 생기는 것 같다.

블로그내 관련 글
1. 원거리 인도 개발자와의 협업 (1) - 좋은 질문 하도록 유도하기
2. 원거리 인도 개발자와의 협업 (2) - 좋은 질문하도록 유도하기의 후기글
3. 원거리 인도 개발자와의 협업 (4) - 문제 유발자

0 개의 댓글:

댓글 쓰기