우리는 일상 속에서 핸드폰이나 자동차 같은 수많은 물건들을 소비합니다. 그리고 보통 그 물건들은 기업에 의해 생산되어 공급됩니다. 그리고 일반적인 대기업이라면, 판매하는 물건에 구매부터 일정 기간까지 품질을 보증한다는 식의 조항들을 삽입해 놓고 있습니다. 우리는 이 같은 문구를 당연하게 생각합니다만 물건을 제조하고 판매하는 입장에서 그게 어떻게 가능한지는 보통 생각하지 못합니다. 오늘은 기업이 품질보증을 하는 데 필요한 간단한 통계적 논리에 대해 말해보고자 합니다.
1. 검수와 샘플 테스트
첫번째로 불량품이 고객으로 흘러가지 않도록 하기 위해서 기업은 검수(inspection)를 하게 됩니다. 검수를 통해 기업들은 규격에 맞지 않는 제품이나, 원하는 동작을 하지 않는 제품을 걸러낼 수 있습니다. 하지만 모든 제품 불량이 검수를 통해 걸러지는 것은 아니고, 또 많은 불량들이 품질보증기간 내에서 열화되면서 생겨나기도 합니다. 이런 불량품들은 판매 단계에서는 정상적으로 동작하지만 제품 내구도가 취약하여 4개월 후 발현된다거나 하는 특징을 보입니다. 이 경우 기업은 막대한 손해를 보아야 합니다. 또한 반도체처럼 사람의 눈이나 현미경으로 제품이 제대로 만들어졌는지 확인이 사실상 불가능한 경우가 있습니다. 이 경우 테스트를 통해 간단한 hard성 불량은 검출할 수 있지만 열화 불량을 잡아내기는 어렵습니다.
두번째로 샘플 테스트(sample test)가 있습니다. 이 경우 실제 제조되는 물량 중 몇 개를 임의로 뽑아 물건을 테스트하며 나머지 불량들에 대한 신뢰성을 검증합니다. 하지만 이 또한 두 가지 문제가 있습니다. 특정 설비나 특정 라인이 문제가 있는 경우가 있으므로 샘플이 대표성을 갖기 위해서는 설비별, 라인별로 충분한 물량이 확보되어야 합니다. 하지만 충분한 물량을 테스트에 사용하면 전체 생산성에 악영향을 주게 됩니다. 두번째로 ppm단위로 불량을 검출해야만 하는 경우, 원하는 신뢰성을 보장하기 위한 샘플 사이즈는 물량 증가 속도의 제곱만큼 불어납니다.
통계학에서는 p-value라는 유의성 검정 절차가 있습니다. 특정 물량이 기존 물량에 비해 차이가 벌어졌는지 아닌지를 1종 오류(α)의 크기를 갖고 허용하는 식입니다. 만약 특정 물량의 평균이 기존 물량의 평균에 비해 1%에 해당하는 곳에 위치한다면, 이 특정 물량의 평균이 기존 물량의 평균과 같다는 귀무가설(null hypothesis)을 기각하고, 둘 사이에는 차이가 유의하게 있다라고 판정합니다. 다양한 분야에서 이런 방식을 사용한다고, 통계학 교과서에서는 말합니다.
이런 p-value 검정의 한 가지 문제는 제조업처럼 물량이 mass단위로 쏟아져 나오는 경우, 공학적으로 유의하지 않은 차이가 통계학적으로 유의하게 나타난다는 것입니다. 예를 들어 불량률이 1ppm과 2ppm짜리 두 개의 물량이 있다고 했을 때, 둘 차이에 진짜 차이가 있는지 엔지니어적 입장에서는 확신할 수 없습니다만 p-value값은 거의 0에 수렴합니다. 샘플 사이즈가 백만 단위가 되어버리면, 약간의 차이로도 p-value값이 0에 수렴해버리는 문제가 있습니다. 따라서 이런 방식의 유의차를 보기 위해서는 p-value와 같은 통계적 방법론으로는 답이 없습니다.
다시 샘플 테스트로 돌아와서, 따라서 원하는 만큼의 오차 정밀도(resolution)을 확보하기 위해서 생기는 샘플 사이즈의 문제, 검수의 한계 등으로 우리가 생각하는 검수나 표본검사는 제조업에서 원하는 만큼 불량을 검출해낼 수 없습니다.
또한 결정적으로, 여기서 말하는 품질은 현재 상태에서 제품이 정상 작동하는지 아닌지를 판별할 뿐, 제품의 미래에 대해서는 말하고 있지 않습니다. 즉, 제품의 수명을 말하기 위해서는 품질과는 다른 개념이 필요합니다. 이 때 신뢰성(reliability)라는 개념이 등장하는데, 신뢰성은 어떠한 제품이 규정된 환경에서 정해진 기간 동안 의도한 기능을 만족스럽게 수행할 수 있는 능력을 말합니다. 이런 신뢰성 평가 테스트에 사용되는 방법론이 바로 욕조곡선(bath-tub curve)이라는 통계적 방법론을 사용합니다.
2. 욕조곡선(bath-tub curve)
일반적인 제품의 수명을 볼 때, 고장률은 처음에 높고, 다시 안정적인 수준을 유지하다가, 다시 올라가는 모양의 곡선을 띈다고 알려져 있습니다. 이를 마치 욕조의 모양과 비슷하다고 해서 욕조곡선이라고 합니다. 제품이 이 곡선을 따라가는 이유는, 초기에는 검출되지 않은 초기불량(infant failure)들로 인해 고장률이 높고, 이 초기고장이 모두 스크린되면 안정적인 수준을 유지하다가(random failure 구간), 다시 제품 수명이 다하면 마모고장(wear-out)이 시작되기 때문입니다.
예컨대 infant failure에서 random failure로 진입하는 시기가 약 1000시간 정도이고, random failure에서 wear-out까지가 10년 정도인 제품이 있다고 합시다. 만약 기업이 1000시간 정도까지 제품을 사용한 상태에서 불량이 나지 않은 제품을 고객에게 공급한다면, 10년까지는 원하는 불량률을 유지한 상태로 품질보증이 가능하다는 뜻입니다. 그래서 기업은 초기불량이 스크린되기까지의 스트레스(온도, 동작, 전압 등)을 제품에게 가하고, 살아남은 제품들을 고객에 공급하며, 마모고장 전까지의 기간을 품질보증기간으로 잡습니다.
하지만 1000시간은 너무나도 긴 시간입니다. 만약 어떤 제품의 초기불량을 검출하기 위해 1000시간(약 7주)를 기다려야 한다고 하면 전체 생산은 말도 안 되는 차질이 있게 됩니다. 특히 제품이 양산된 상황이라면 모르겠지만, 신제품을 개발하고 다시 피드백하는 과정에서 공정 개선 때마다 7주를 기다려야 한다고 하면 기업간의 경쟁에서 살아남을 수 없습니다. 따라서 기업은 이 1000시간을 줄여야만 합니다. 이 때 사용되는 것이 가속계수(Acceleration Factor, AF)입니다.
가속계수는 실제 제품에 가해지는 스트레스보다 더 가혹한 스트레스를 줌으로서 1000시간 만큼의 스트레스를 단기간에 확보하는 방식입니다. 예를 들어 핸드폰의 액정이 2년 동안 작동하는지 확인하기 위해서는 1.5m에서 10시간 동안 떨어트려서 멀쩡한지 봐야 한다고 합시다. 이 때 1.5m에서 10시간 동안 떨어트리는 스트레스가 3m 높이에서 1시간 동안 떨어트리는 스트레스와 동일하다면 3m/1시간 스트레스를 주면서 초기불량을 검출하게 됩니다. PC제품의 수명이 55℃/1.5V에서 1000시간을 테스트해야 한다면, 130℃/2.5V를 10시간만 줘서 1000시간을 보장하는 식입니다.
3. 가속계수의 유의점
가속계수를 사용할 때 유의해야 할 점은 첫째로 가속으로 인한 불량은 반드시 원래 불량과 동일한 메커니즘으로 일어나야 한다는 것입니다. 즉, 3m가 1.5m를, 2.5V가 1.5V를 대변해야 합니다. 우리가 원하는 것은 1.5V에서 1000시간을 버티지 못하는 제품들이 2.5V, 10시간에서 버티지 못하게 하는 것 뿐만 아니라, 1.5V 1000시간을 버틸 놈들은 2.5V, 10시간에서 버텨야만 한다는 것입니다.
과거 스파르타에서는 전사가 될 아이만 필요로 했기 때문에 태어날 때부터 결함이 있는지를 보고, 신체가 작거나 골격에 이상이 있다면 절벽에 떨어트려 죽였다고 합니다. 이를 제품에 대입하면 양품이 되지 않을 인원들을 조기 스크린하는 것과 유사하다고 할 수 있습니다. 하지만 만약 전사가 될 아이만 키운다는 명목 하에 갓 태어난 아이들을 끓는 물에 넣으면 어떻게 되겠습니까? 원래 전사가 될 아이들까지 죽고 말 것입니다. 따라서 가속계수를 사용할 때 단순한 식으로 증가하는 것뿐만 아니라 어디까지 가속이 가능한지 판별해야만 합니다.
가속 매커니즘이 동일한지 판정하는 기준은 욕조곡선의 식으로부터 구할 수 있습니다. 욕조곡선은 제품의 수명을 나타내는 대표적인 분포인 와이블 분포(Weibull Distribution)를 통해 표현될 수 있는데, 이 와이블 분포에는 크게 두 가지 모수(parameter)가 존재합니다. scale parameter와 shape parameter인데, 여기서는 shape parameter값이 동일한지 아닌지에 따라 동일한 불량인지 아닌지를 결정합니다.
(스트레스>
두번째로 이런 스트레스 가속이 뒤쪽의 노화불량기간(위 그림에서는 25year값)에 영향을 미쳐서는 안됩니다. 즉, 어느 정도의 수명 단축은 필연적이더라도 장기신뢰성에 치명적일 정도로 수명을 줄이게 되면, 스트레스를 가했다는 것 자체만으로 품질보증기간을 줄일 수 있습니다. 이 경우 기업은 큰 손해를 보기 때문에, 일정량의 출하된 물량들을 지속적으로 스트레스를 주면서 25년치의 가속을 주면서 언제 노화불량(Wear-out)이 시작되는지 모니터링하기도 합니다.
이외에도 동시에 다양한 bath-tub가 겹칠 때의 문제, 제품에 가하는 스트레스가 테스트 설비의 오류로 원하는 값만큼 인가되지 않을 때 등의 문제도 있습니다만 거기까지 얘기하면 너무 길어지기 때문에 생략하겠습니다.
이런 불량을 어느 정도 조기발현시키더라도 공차와 마진이 존재하는 제조 산업의 특징상 불량품은 발생하게 되어 있습니다. 특히 안정적인 평형 구간에서도 사용자신뢰성이나, 제품의 근본결함 등의 이유로 제품의 불량은 발생하게 되는데 이 때의 불량을 random failure 불량, 혹은 intrinsic 불량 등으로 말합니다. 이 단계에서의 불량이 기업이 계약한 불량률 이상으로(ROI가 나오지 않을 정도로) 발현된다면 제품은 근본적인 설계 결함이 있는 것이기 때문에 처음부터 재설계할 필요가 있습니다.
여기까지의 논리적 흐름을 이해한다면, 기업이 발생한 불량의 유형에 따라 어떻게 대처해야 할지도 알 수 있습니다. 소비자로부터 불량 제품 claim이 들어올 경우, 제품의 불량이 회사 안에서도 재현되는지 테스트해 보고, 제품이 원래 스크린되었어야 하는 불량인지 확인합니다. 원래 스크린되었어야 하는 물량이었으면 테스트 조건을 강화해서 동일한 불량이 고객에게 전달되지 않도록 하고, 제품 불량이 스크린 할 아이템이 아니었다면 아이템을 추가하는 식으로 대응합니다. 이외에 shape parameter값이 0에 가까운 불량이 나타난다면 제품 설계의 결함으로 간주하고 기존 제품을 다시 재설계하는 과정을 거칩니다.
기업이 대응할 수 없는 최악의 claim은 Wear-out 불량으로, 품질보증기간 내에 노화불량이 발생한 경우입니다. 이 경우 한 곳에서 claim이 터지는 순간, 현재 판매된 모든 제품이 다 claim이 시작되었다고 간주해야 하며, 이 경우 제품의 전면적인 리콜이나 막대한 손해보상을 피할 수 없습니다.