비개발 의사결정자를 위해 기술을 명확하게 설명하는 법 [번역글]
(blogbyash.com)-
조직 내에서 기술 명확성을 제공하는 엔지니어의 역할이 가장 핵심임을 강조.
- 기술 명확성이란 비개발 리더들이 소프트웨어 시스템의 변화를 충분히 이해해 합리적 결정을 내릴 수 있도록 하는 상태를 의미함.
-
기술 명확성이 조직 내에서 드물고 쉽게 확보되지 않는 이유.
- 소프트웨어가 매우 복잡하며, 엔지니어조차 자신의 시스템을 완전히 이해하기 어려움.
- 비기술 리더는 시간과 배경지식이 제한되어 있음.
-
실질적인 기술적 질문의 예시.
- 새로운 기능을 배포할 때 비기술 리더가 반드시 알아야 할 대표 질문:
- 유료 기능을 무료 사용자에게 안전하게 제공할 수 있는가?
- 점진적 배포가 가능한가?
- 문제 발생 시 안전하게 롤백이 가능한가?
- 조기 접근 권한 제공이 가능한가?
- 용량 이슈 발생 시 유료 사용자 우선 처리 가능한가?
- 새로운 기능을 배포할 때 비기술 리더가 반드시 알아야 할 대표 질문:
-
공식적/비공식적 기술 조언자의 의미와 그 중요성.
- 스태프 엔지니어 또는 시니어 엔지니어가 비개발 리더의 ‘대리인’처럼 시스템의 복잡성을 추상화해 쉽게 설명하는 역할을 맡음.
- 기술 명확성을 잘 제공하는 엔지니어가 조직의 신뢰를 얻고 주요 프로젝트에 배치됨.
-
엔지니어가 겪는 불확실성과 그 균형.
- 엔지니어는 본인의 전문성에 대해 항상 약간의 불안과 경계심을 유지하며, 대부분 95%의 확신만을 가짐.
- 비개발 리더에게는 이에 대한 걱정이나 모든 기술적 디테일을 다 드러내지 말고, 핵심만 명확히 전달해야 함.
-
불확실성을 드러내는 것이 항상 옳은 것은 아님.
- 엔지니어가 기술적으로 지나치게 자세한 정보를 제공하면서 명확성(단순화된 이해)을 희석시키면, 의사결정자가 올바른 결정을 내리기 어려움.
- 핵심 추천과 위험 요소만 명확하게 정리해 전달할 것.
-
기술 명확성을 전달하는 법의 3가지 원칙.
- (1) 무엇을 언급하고 생략할지 구분하는 직관.
- (2) 시스템에 대한 깊은 기술적 이해(직접 코딩 및 프로젝트 수행).
- (3) 관리층에게 자신 있게 단순화된 그림을 제시하기.