방어적인 설계의 이유

왜 우리는 늘 같은 선택을 하는가

by 걷는 아빠

Ⅰ. 우리는 왜 이렇게 설계하게 되었을까

신제품 개발에 착수한다는 말은 늘 부담을 동반한다.

새로운 기술과 디자인보다 먼저 떠오르는 건 일정, 비용, 그리고 실패의 흔적이다. 개발자는 이 프로젝트가 끝났을 때 무엇이 남을지를 너무 잘 알고 있다.


현장에서 만난 개발자들은 대부분 성실하다.

자신이 설계한 제품에 책임을 느끼고, 문제가 생기면 끝까지 해결하려 한다. 일정이 밀리면 야근으로 메우고, 비용이 부족하면 구조를 줄인다. 적어도 개발 과정에서 “대충 해도 된다”는 선택지는 거의 없다.


그럼에도 신제품의 설계는 자주 낯설지 않다.

새로운 이름을 달고 출시되지만, 구조와 판단은 익숙하다. 도전적인 요소는 검토 단계에서 하나씩 사라지고, 남는 것은 이미 검증된 방식이다. 혹여나 누군가 “왜 하던대로만 설계하죠?”라고 물어도, 그 질문은 회의실을 벗어나지 못한다. 지금까지 문제를 만들지 않았던 선택이 가장 안전하기 때문이다.


이 장면은 개인의 소극성으로 설명하기 어렵다.

상상력이 부족해서도, 의지가 없어서도 아니다. 수많은 Gate를 통과해야 하고, Q, C, D 중 하나라도 어그러지면 책임이 개인에게 돌아오는 구조에서 이 선택은 합리적이다. 실패를 감당해주지 않는 조직 안에서, 실패 확률을 낮추는 쪽으로 학습될 수밖에 없었던 결과다.


방어적인 설계는 조직에서 살아남는 법이지, 시장에서 살아남는 법은 아니다.


image.png


Ⅱ. 방어적인 설계는 개인의 문제가 아니다

(개인의 선택처럼 보이는 구조의 작동 방식)

방어적인 설계는 종종 개인의 성향으로 설명된다.

“보수적인 개발자”, “도전하지 않는 조직”, “안전한 선택만 하는 사람들”.

하지만 현장을 조금만 들여다보면, 이 설명은 오래 버티지 못한다.


신제품 설계를 잘한다고 평가받는 사람들의 설계 방식은 쉽게 바뀌지 않는다.

한때 ‘정답’이었던 설계는 시간이 흘러도 그대로 유지된다. 5-7년이 지나도 같은 구조가 반복되고, 그 사이 시장은 달라졌지만 설계의 논리는 거의 업데이트되지 않는다. “왜 이렇게 해야 하는가?”라는 질문보다 “원래 이렇게 해왔다”는 말이 더 빠르게 등장한다.


설계 역량은 점점 개인에게 귀속된다.

조직 차원의 설계 기준이나 사고 프레임이 쌓이기보다는, 특정 인물의 판단이 관성처럼 이어진다. 제품 스터디나 시장 분석은 문화로 자리 잡지 못하고, 경쟁사의 신제품을 분석하거나 우리 제품의 경쟁력을 토론하는 시간은 늘 우선순위에서 밀린다. 당장 눈앞에 있는 개발 일정이 더 급하기 때문이다.


이 구조 안에서 도전적인 설계는 자연스럽게 사라진다.

제품 컨셉과 스펙이 정해진 뒤 디자인이 개발팀으로 넘어오면, 구현이 쉽지 않아 보이는 요소들이 등장한다. 이때 판단은 빠르다. 비용을 늘리지 않고, 일정을 지키기 위해 위험 요소를 제거한다. 기능에 큰 영향을 주지 않는다면 삭제하는 것이 합리적이다. 그렇게 하나의 도전이 조용히 빠진다.


품질 검토 단계에서도 비슷한 선택이 반복된다.

시장에서는 충분하다고 판단되는 수준이 있지만, 사내 기준은 더 높다. 신제품임에도 기존 제품의 기준을 그대로 만족시켜야 한다면 overspec은 피하기 어렵다. 기준을 낮추는 일보다 비용과 일정을 늘리는 쪽이 더 예측 가능하다. 기준은 유지되고, 설계는 그에 맞춰 조정된다.


Gate를 하나 통과할 때마다 학습은 강화된다.

리스크를 줄인 설계는 문제를 만들지 않고, 문제를 만들지 않는 설계는 다음 Gate에서도 환영받는다. 반대로 새로운 시도를 담은 설계는 더 많은 설명과 책임을 요구받는다. 질문이 많아질수록 일정은 촉박해지고, 선택지는 줄어든다.


이 과정을 몇 번만 겪어도 조직의 기대는 몸에 밴다.

어떤 설계가 무사히 통과되는지, 어떤 선택이 회의 시간을 늘리는지, 무엇이 평가에 불리하게 작용하는지. 방어적인 설계는 누군가 지시해서가 아니라, 이 조직에서 오래 일할수록 자연스럽게 학습되는 방식이다.

그래서 이 설계는 개인의 소극성으로 설명되지 않는다. 오히려 실패를 감당해주지 않는 구조 안에서, 가장 합리적인 선택으로 축적된 결과다. 방어적인 설계는 누군가의 성향이 아니라, 이 조직이 오랫동안 보상해온 행동의 총합이다.



Ⅲ. 그렇게 통과한 설계는, 어디에 도착했을까

방어적인 설계는 대부분 성공으로 기록된다.

사내 품질 기준을 만족했고, 일정은 지켜졌으며, 큰 문제 없이 양산에 들어간다. Gate는 모두 통과했고, 리뷰에서의 지적도 크지 않다. 조직의 언어로 보면, 이 프로젝트는 ‘잘 끝난 개발’이다.

이 과정에서 특정 패턴이 만들어진다. 문제를 만들지 않았던 설계자는 다시 신제품을 맡는다. 이전에도 무탈했기 때문이다. 그렇게 비슷한 판단과 구조가 다음 제품으로 이어진다. 설계의 연속성은 쌓이지만, 방향성은 점점 고정된다.


하지만 시선을 시장으로 옮기면 풍경은 달라진다.

경쟁사의 신제품은 이전 세대와 분명히 다른 메시지를 던진다. 새로운 기능, 새로운 사용자 경험, 때로는 완성도가 다소 부족하더라도 방향이 느껴지는 선택들이다. 반면 우리의 제품은 설명하기 어렵지 않다. 익숙하고, 안정적이며, 큰 흠이 없다.


문제는 그 ‘큰 흠이 없음’이 강점으로 작동하지 않는다는 점이다.

시장에서의 선택은 상대적이다. 소비자는 ‘문제 없는 제품’이 아니라, ‘선택할 이유가 있는 제품’을 고른다. 경쟁력이란 결함의 부재가 아니라, 차별의 존재에 가깝다.


시간이 흐를수록 격차는 누적된다.

방어적인 설계로 만들어진 제품은 조직 내부에서는 신뢰를 얻지만, 시장에서는 존재감이 옅어진다. 반대로 공격적인 선택을 감수한 경쟁사는 시행착오를 거치면서도 방향성을 축적한다. 그 차이는 한 세대 만에 드러나지 않을 수도 있다. 하지만 몇 번의 사이클이 지나면 분명해진다.


Gate를 모두 통과한 설계는 조직 안에서는 완성된다. 그러나 시장의 문 앞에서는 멈춰 서는 경우가 많다. 내부 기준으로는 성공했지만, 외부 기준에서는 선택받지 못한다. 방어적인 설계가 만들어낸 가장 아이러니한 결과다.



Ⅳ. 왜 이 구조는 바뀌지 않을까

방어적인 설계가 시장에서 한계를 드러내고 있음에도, 이 구조는 쉽게 바뀌지 않는다. 그 이유는 단순하다. 이 방식은 조직 내부에서 여전히 잘 작동하고 있기 때문이다.


제품 개발 과정에는 수많은 Gate가 있다.

기획, 설계, 품질, 양산. 각 단계는 명확한 기준과 체크리스트를 가지고 있고, 그 기준을 충족하는 것이 곧 성과로 기록된다. Gate를 무탈하게 통과하는 일은 능력의 증거가 되고, 그 경험은 다음 프로젝트의 신뢰로 이어진다.


이 구조에서 손해 보지 않는 선택은 분명하다.

기존 기준을 충실히 따르고, 리스크를 줄이며, 문제를 만들지 않는 것. 방어적인 설계는 높은 평가를 보장하지는 않지만, 적어도 불리한 평가를 피하게 해준다. 그리고 대부분의 조직에서 ‘손해를 보지 않는 선택’은 오래 살아남는다.


반대로 구조를 흔드는 선택은 항상 추가 비용을 요구한다.

기존 기준을 조정하려면 합의가 필요하고, 합의를 위해서는 설명이 필요하다. 설명에는 시간이 들고, 시간은 곧 일정 리스크가 된다. 누군가는 그 리스크를 감수해야 하고, 그 책임은 대개 개인에게 돌아간다.


Staff 조직과의 관계도 이 구조를 고착화시킨다.

품질, 프로세스, 기준을 담당하는 팀은 바쁜 일상 속에서 기존 체계를 유지하는 쪽을 택한다. 새로운 기준을 만드는 일은 리스크가 크고, 보상은 불분명하다. 개발 조직이 요구하는 변화는 쉽게 ‘추가 업무’로 인식된다. 그래서 한 번 만들어진 표준과 기준은 잘 변하지 않는다. 변하면 그 책임 또한 물어야 하기 때문이다.


결국 변화에는 리더의 행동이 필요해진다.

개발팀은 Gate와 기준의 변화를 필요로 느끼지만 없앨 수도, 바꿀 수도 없다. 여러 조직 간의 이해관계를 조정하고, 실패 가능성을 감당해 줄 누군가가 필요하다. 하지만 그런 역할은 평가 항목에 명확히 드러나지 않는다. 그래서 자연스럽게 우선순위에서 밀린다. 리더가 먼저 Gate와 기준을 바꾸는 시도와 함께 협의를 해줘야 한다.


이렇게 구조는 유지된다.

시장에서는 점점 경쟁력을 잃고 있다는 신호가 보이지만, 조직 내부에서는 큰 문제가 감지되지 않는다. 내부 기준으로는 여전히 ‘잘 돌아가는 시스템’이기 때문이다. 방어적인 설계는 그래서 멈추지 않는다.



Ⅴ. 만약 질문을 바꾼다면

방어적인 설계를 줄이기 위해 가장 흔히 던지는 질문은 이것이다.

“왜 더 도전적으로 설계하지 않는가.”

하지만 이 질문은 현장에서 오래 버티지 못한다. 의지나 태도의 문제로 프레이밍되는 순간, 대화는 개인의 성향으로 흘러간다. 그리고 대부분의 개발자는 이미 충분히 노력하고 있다.

질문을 바꿔야 한다. 도전하지 않는 이유를 묻기보다, 도전했을 때 무엇이 달라지는지를 먼저 봐야 한다.

예를 들면 이런 질문이다.

“도전적인 설계가 실패했을 때, 그 책임은 어디까지 개인의 몫인가.”

“일정이 지연되거나 비용이 늘어났을 때, 누가 그 선택을 승인했는가.”

“그리고 그 결정은 다음 평가에서 어떻게 기록되는가.”

또 다른 질문도 가능하다.

“개발하지 않아도 평가받을 수 있는 성과는 존재하는가.”

“제품이 아니라 컨셉과 기획, 제품 사용 시나리오를 고민한 시간은 어떤 가치로 남는가.”

“Gate를 통과하지 않은 고민은 모두 실패로 분류되는가.”

이 질문들은 설계의 수준을 묻지 않는다. 조직이 어떤 선택을 보호하고, 어떤 선택을 방치하는지를 묻는다. 방어적인 설계를 만든 것은 개인의 판단이 아니라, 이 질문들에 대한 조직의 답이었다.

만약 조직이 바뀌어야 할 것이 있다면, 설계 방식보다 질문의 순서일지 모른다.

무엇을 만들었는가보다, 왜 그렇게 만들었는가를 묻는 것.

결과보다 판단의 맥락을 기록하는 것. 그 작은 차이가 선택의 방향을 바꾼다.


image.png

Ⅵ. 방어적인 설계를 비난하기 전에

방어적인 설계는 늘 아쉬움의 언어로 이야기된다.

“좀 더 공격적으로 갔어야지.” “왜 또 안전한 선택을 했을까.”

하지만 그 말들이 오갈 때, 정작 빠져 있는 질문이 있다.

"그 선택이 합리적이었던 환경은 무엇이었는가."

현장의 개발자들은 대체로 현실적이다. 기술이 부족해서가 아니라, 실패의 비용을 계산할 줄 알기 때문에 보수적으로 움직인다. 한 번의 실패가 다음 프로젝트의 기회를 지우는 구조에서, 실험은 용기가 아니라 도박이 된다. 그래서 방어적인 설계는 개인의 성향이 아니라, 집단의 기억이다. 이전 프로젝트에서 어떤 선택이 살아남았는지, 어떤 선택이 기록에서 지워졌는지에 대한 학습의 결과다.


조직은 말로 문화를 만들지 않는다. 반복된 결과로 문화를 만든다. 만약 조직이 정말로 다른 설계를 원한다면, 설계자를 설득하려 들기보다 먼저 스스로를 설계해야 한다.


어떤 실패를 허용할 것인가.

어떤 시도를 성과로 인정할 것인가.

그리고 무엇을 ‘하지 않은 선택’으로 기록할 것인가.

방어적인 설계는 조직에서 살아남는 법이다. 다만 그 방식이 시장에서도 통할지는, 전혀 다른 문제다.



이 글이 누군가에게

“왜 우리는 늘 같은 선택을 하는가”라는 질문으로 남는다면,

그걸로 충분하다.

작가의 이전글아버지 없이 아빠가 된다는 것.