리눅스 시스템 개발 스토리/임베디드 개발문화-1
[IT에세이] 버그 때문에 IT 회사가 문을 닫는다?
AustinKim
2023. 5. 11. 11:22
* 버그 때문에 우리 회사 문 닫을 뻔했어!
저번에 만났던 어떤 IT 업체의 개발자로 일하고 있는 친구가 했던 말입니다. 말 그대로 어떤 개발자가 짠 코드 때문에 버그가 발생해 회사가 문을 닫을 뻔 했다는 스토리인데요. 버그가 있는 코드를 어떤 양심 불량 개발자가 심어 놓고 도망을 가서 회사가 패널티를 낼 위기를 맞이할 뻔했다고 하더군요. 그 말을 할 때 그 친구의 표정이 잊혀지지 않습니다. 표정이 많을 걸 말해 주던데요.
이렇듯 버그는 IT 제품을 개발하는 개발자나 관리자의 머리를 빠지게 하고 다크 써클을 생기게 하는 최악의 유발자인 듯 합니다. 버그 때문에 회사가 문을 닫을 뻔 하기고 하고, 개발자는 가끔 짤리기도 합니다. 또한 중간에서 관리를 제대로 못했다고 관리자가 옷을 벗기도 합니다. 규모가 있는 IT 업체는 QA라고 부르는, 즉 인증 테스트를 책임지는 부서의 관리자들은 버그를 제대로 잡지 못해 징계를 받기도 합니다.
그런데 개발을 하다보면 다음과 같은 상황을 종종 겪게 됩니다.
* 일정을 맞춰야 하는 상황인데, 일정 내에 잡지 못하는 버그가 있다.
* 그런데 그 버그를 고객에게 절대 알릴 수 없다.
한 가지 예를 들어 볼까요? 과금을 처리하는 소프트웨어 모듈에 심각한 버그가 있다는 사실을 개발 마지막 단계에서 알게 됐습니다. 물론 버그를 쉽게 재현하기는 어려운 상황이죠.
이런 상황을 IT 업체의 중간 관리자들은 종종 겪게 됩니다. 이 때 대부분 IT 업체의 관리자들은 3가지 중 한 가지를 선택합니다.
1. 일정을 연기하고 제대로 버그를 잡고 소프트웨어를 배포한다. 물론 과징금을 낸다.
2. 욕을 먹더라고 고객에게 버그를 알리고 빠른 시일 안에 버그를 잡겠다고 알린다.
3. 버그를 알리지 않고 그냥 소프트웨어를 배포한다.
위와 같은 선택지 중에 1,2번을 선택하면 그나마 합리적인 결정이라고 볼 수 있습니다.
일정을 연기하고 버그를 제대로 잡은 다음 소프트웨어를 납품하는 게 당연하다고 생각할 것 같은데요. 만약 1번이나 2번을 선택한 IT 업체는 어떻게 일을 하게 될까요?
* 제대로 문제를 해결할 때 까지 개발자들은 야근이나 집에 가지 못하게 됩니다.
소프트웨어 납품 일정을 못 맞추면 대부분 패널티를 물게 되거든요. 패널티를 내면서 고객에게 보통 다음과 같은 약속을 합니다.
* 최대한 빠른 시간 내에 버그를 잡겠습니다.
저나 다른 개발자들이 가장 겪기 싫어 하는 상황인데요, 한 두번 쯤은 이런 고비를 맞이하게 됩니다. 많은 개발자들이 야근을 싫어하지만 이런 상황에서는 야근이나 철야는 어쩔 수 없는 것 같습니다. 일정 내에 품질을 맞추면서 소프트웨어를 마무리하는게 개발자의 프로 정신이라고 생각하거든요.