예외 주도 개발
『코딩호러가 들려주는 진짜 소프트웨어 개발 이야기,』 제프 앳우드 지음, 임백준 역, pp.181~182
예외 주도 개발이란?
구체적이고 실제적인 데이터에 기초한, 사용자들이 실제로 경험하게 되는 문제를 해결하는 것
예외 주도 개발의 구체적 방법은?
최대한 많은 사용자가 이용하게 만들고, 그들이 생성하는 오류 로그를 철저하게 분석하라.
그러한 예외 로그를 활용해 코드의 어느 부분을 집중해야 할지 판단하라. 최상위를 차지하는 3개의 버그가 다시는 나타날 수 없도록 아키텍처를 새롭게 하고 코드를 리팩터링하라. 코드를 전개하고 수정하는 과정을 빠르게 반복하라. 이 같은 데이터 기반 피드백 고리는 너무나 강력하기 때문에 이러한 과정을 몇 번만 반복해서 밟고 나면(최소한 사용자의 관점에서 봤을 때) 바위처럼 단단한 애플리케이션을 만들 수 있을 것이다.
진짜 소프트웨어는 가끔 충돌하기도 한다. 진짜 소프트웨어는 배우기 어렵고, 사용하기도 어렵다. 문제는 코드 안에 얼마나 많은 버그가 있느냐가 아니다. 그런 버그를 얼마나 빠르게 수정할 수 있느냐다. 팀에서 예외 주도 개발을 실천해 왔다면 버그를 지금 당장 수정할 수 있다. 소프트웨어를 개선하는 모습을 가만히 지켜보기만 하라고 자신 있게 말할 수 있을 것이다.
그런 식으로 말하는 것은 모든 사람의 귀에 달콤한 음악처럼 들릴 것이다.
예외 주도 개발이란?
구체적이고 실제적인 데이터에 기초한, 사용자들이 실제로 경험하게 되는 문제를 해결하는 것
예외 주도 개발의 구체적 방법은?
최대한 많은 사용자가 이용하게 만들고, 그들이 생성하는 오류 로그를 철저하게 분석하라.
그러한 예외 로그를 활용해 코드의 어느 부분을 집중해야 할지 판단하라. 최상위를 차지하는 3개의 버그가 다시는 나타날 수 없도록 아키텍처를 새롭게 하고 코드를 리팩터링하라. 코드를 전개하고 수정하는 과정을 빠르게 반복하라. 이 같은 데이터 기반 피드백 고리는 너무나 강력하기 때문에 이러한 과정을 몇 번만 반복해서 밟고 나면(최소한 사용자의 관점에서 봤을 때) 바위처럼 단단한 애플리케이션을 만들 수 있을 것이다.
진짜 소프트웨어는 가끔 충돌하기도 한다. 진짜 소프트웨어는 배우기 어렵고, 사용하기도 어렵다. 문제는 코드 안에 얼마나 많은 버그가 있느냐가 아니다. 그런 버그를 얼마나 빠르게 수정할 수 있느냐다. 팀에서 예외 주도 개발을 실천해 왔다면 버그를 지금 당장 수정할 수 있다. 소프트웨어를 개선하는 모습을 가만히 지켜보기만 하라고 자신 있게 말할 수 있을 것이다.
그런 식으로 말하는 것은 모든 사람의 귀에 달콤한 음악처럼 들릴 것이다.
댓글
댓글 쓰기