[컴] 버그와 개발

테스트와 개발 / TDD / 완벽한 개발

버그

몇달전 reddit 에 올라온 링크가 있다. 이글을 통해 소프트웨어 개발과 버그에 대한 고민을 좀 해보자.

이 NASA 의 글에서 Test 는 정말 엄청나다. 새로운 기능을 하나 구현하는데 그들은 2년이 걸렸다. 그들은 수많은 테스트를 시행했지만 결국 그들의 프로그램이 완전무결하다는 것을 보증할 수 없었다고 한다.
  1. Developing software for the space shuttle : programming, 2017년 12월31일
  2. Computers in the Space Shuttle Avionics System, Computers in Spaceflight: The NASA Experience
우리가 계속 사용하는 software들도 계속 버그가 나타난다.
  1. 윈도우10 레드스톤3 벌써부터 버그 발생? | 케이벤치
  2. 인텔 CPU 커널 버그 총정리 : 대규모 보안 결함으로 성능 악영향 가능 - ITWorld Korea
  3. 씨넷코리아 | 맥OS의 어이없는 버그 “루트 권한 프리패스?”



개인적 결론

개발자가 버그를 너무 무시하는 것은 좋지 않다. 그것은 정말 안좋은 프로그램을 만들 수도 있기 때문이다.

하지만 빠른 개발을 위해서라면, 핵심에 집중하는 것이 낫다. 중요한(critical) 버그가 아니라면 그저 넘어가는 것이 낫다.

이것의 핵심은 어떤 기능이 가져다줄 가치가 버그로 인해 잃어버리게 될 가치보다 충분히 크다면 개발에 집중해야 한다고 본다.

그래서 결론은 reddit의 comment 에도 있지만, 우리가 버그를 잡는데에 공을 드리기 보다는 빠르게 prototype 을 만들고, 그것의 실패을 통해 bug를 잡는 방법(예를 들면, open beta test 등)을 확장하는 것이 더 나은 방법이라고 여겨진다.

물론 안타깝게도 개발자는 소프트웨어의 책임자가 아니라서, 매니저가(또는 사장)이 이런 방법에 동의할 수 있어야 할 듯 하다.









댓글 없음:

댓글 쓰기