DRBFM(Design Review Based on Failure Mode)은 제품이나 프로세스의 설계 단계에서 진행되며,
설계 단계에서 발생할 수 있는 잠재적인 문제점을 분석하고 분석된 문제점을 사전에 예방하기 위한 방법론입니다.
린(Lean) 방법론과 마찮가지로 Toyota 에서 시작되었습니다.
개인적으로, 이 글을 접하는 모든 분들께 꼭 추천드리는 방법론입니다.
다른 방법론과 조금 다른 것은 이 방법론은 제품의 오류를 최소화하고, 제품의 안정성을 향상시키는데 중점을 둔다는 것입니다.
자동차라는 특수성이 있어서 더 부각되는 것 같습니다.
DRBFM을 진행하기 위해서는 필수적으로 설계 문서가 준비되어야 합니다. 하지만 현실적으로 많은 개발 회사에서는 설계 단계를 충분히 거치지 않거나, 임시로 만들거나 아예 생략하는 경우가 많습니다. 이로 인해 DRBFM을 실행하기 어려운 상황이 현실입니다.
설계를 철저히 수행하는 조직이라면 DRBFM을 진행하는 것이 부담스럽지 않을 것입니다. 그러나 설계가 충분하지 않은 조직은 이를 수행하기 어려울 수 있습니다. 따라서 최근에 제가 경험한 내용을 공유드리겠습니다. ( 너무 아쉬워서요. )
설계 문서가 없더라도 현재의 제품 또는 서비스를 기반으로 상황을 살펴보면, 개선할 수 있는 부분을 발견하는 것이 가능합니다.
간단히 예를 들었습니다.
DRBFM의 이론적인 부분부터 접근하면, 조직원들이 너무 어려워하기 때문에 조금은 어설프지만, 중요한 핵심만 살려서 진행해도 너무 좋은 방법론입니다.
제가 생각하기에 제일 중요한 부분은 실패 상황에 대한 가정입니다.
물론, 모두 개발을 너무 잘 하시기 때문에 문제 없는 코드를 작성하셨으리라 생각됩니다.
다만, 고객의 입장에서 불편함은 언제나 생기고 있습니다. 그 이유는 너무나 많습니다.
보통 우리는 고객에게 불편함이 발생된 이후에 대응하는 방법을 택하게 됩니다, 그러니 매일 매일이 시급성을 다투는 문제 해결로 시간을 모두 쓰고, 정작 중요한 기능 개발에는 시간이 부족함을 느끼는 것일 테죠.
경험이 충만한 개발자는 어느 정도 경험을 바탕으로 모든 상황을 충분히 고려하여 코드를 작성하겠지만, 그렇지 않은 개발자는 어떻게 할까요?
코드리뷰만으로 충분할까요?
정말 필요한 문서는 이러한 문서라고 생각합니다. 공유되어야하고, 활용되어야만 합니다.