버그와의 만남이 말해주는 것

김성원·2022년 12월 17일
0

essay

목록 보기
2/5

품질과 관련된 잦은 버그로 인해 개발 조직 간 마찰이 있었다.
결론적으로 서로의 업무에 대한 이해도 부족으로 생긴 마찰이었다.
개발 조직에게 버그라는 것에 대한 나의 생각을 공유해 조직 간 업무 이해도 증진과 앞으로도 많은 버그와 만날 개발 조직이 어떻게 발전해나가야 하는지 이야기해보고자 준비한 주제다.

버그란 무엇인가?

프로그램 상의 결함에 의해 하드웨어나 소프트웨어가 오작동하는 현상


버그란 왜 생길까?

많은 환경적 요소와 기술적 요소가 존재하겠지만 정말 단순한 사고로 생각해보자.

개발자

- 의심을 많이 하지 않아서
- 자연재해
- 비즈니스 로직 검증 미흡

연구자

- 해피패스
    - 환경, 조건, 입력 값, 사용자 등의 변수가 가장 이상적인 상태일 때만 고려

서비스 운영자

- 소통 & 정보 공유 부족
- 시스템 이해 관계 부족

QC

- 사용자의 다양성 이해 부족

다 일리가 있는 의견이다.

나는 ‘각자의 위치에서 무언가 해보고 있어서’ 라고 생각한다.

버그는 시스템을 계속해서 개선하고 높은 품질의 결과물을 내고 싶어서 일을 하다 보니 발생하는 것이다.
그 말인 즉 우리가 일을 하면서 절대 피할 수 없는 어떠한 것이라는 의미다.

만나기 싫어도 만나야 한다.
그렇다면 ‘우리는 어떻게 버그를 만나왔는가’에 대해서 생각해볼 필요가 있다.


우리는 어떻게 버그를 만나왔는가?

개발자

- 발생하면 수정하고 발생하면 수정하는 버그 픽스 5분 대기조

연구자

- 개발 목적에 대한 고뇌

서비스 운영자

- 직접 해결할 수 없어서 발만 동동 구르고 있음
- 버그 상황 전파

QC

- ???

이 또한 그럴 수 있다.

나는 ‘티 타임을 가져야 한다’고 생각한다.

개발자는 당장 불을 끄기 위해 작업을 하는 것이 아니라 왜 버그가 발생했는지, 간과한 부분은 무엇인지, 같은 이유로 유사한 버그가 발생하지 않게 하려면 어떻게 해야 하는지 고민하는 시간이 필요하고

연구자는 본인이 가고 있는 방향이 최선의 방향인지 고민하는 시간이 필요하고

서비스 운영자와 QC는 버그를 직접 해결하진 못 하더라도 어떻게하면 최소화할 수 있을지, 자신이 도움이 될 수 있는 부분이 무엇일지 고민하는 시간이 필요하다고 생각한다.

결론적으로 커뮤니케이션을 통해 생각과 정보를 공유해야 한다는 의미다.

마지막으로 버그와의 만남이 의미하는 것은 무엇일까?


버그와의 만남이 의미하는 것

너무 긍정적인 해석일 수 있지만 나는 아래와 같이 생각한다.

- 각자의 자리에서 무언가를 하고 있다는 증거
- 개발 조직에 부족한 부분이 있다는 증거
- 개발 조직에 성장 가능성이 남아 있다는 증거

정리하자면…

버그라는 것은 각자의 자리에서 무언가를 하고 있다는 증거다.

그리고 버그는 발전하고자 하는 조직에서 피할 수 없는 이벤트이기 때문에 현명하게 대처하는 모습이 필요하다.

버그가 발생한 상황을 덮으려는 스탠스가 아닌 왜 발생했는지, 어떻게 하면 재발을 방지할 수 있는지 등의 요소를 공유하고 실천해야 한다.

개발 조직은 커뮤니케이션의 중요성을 이해하고 실천하는 순간 지속적으로 성장할 수 있을 것이다.

그렇지 않으면 부족한 조직으로 머물 가능성이 높다.

profile
질문 중독 개발자

0개의 댓글