엔지니어링 매니지먼트 Nugget #6: Firefighting에서 Architecting으로
Source: Dev.to
문제: 화재 진압 vs. 설계
팀이 화재 진압—사건에 대응하고, 긴급 문제를 해결하며, 막판 에스컬레이션에 대응하는 데 소비하는 시간 비율은 엔지니어링 매니저(EM)에게 중요한 신호입니다. 어느 정도의 화재 진압은 불가피하지만, 이 모드에 머무르는 것은 보통 더 깊은 시스템 결함을 나타냅니다.
화재 진압은 문제를 빠르게 해결하고 “우리가 하루를 구했다”는 느낌 때문에 생산적으로 보일 때가 많습니다. 그러나 이는 계획된 작업에서 노력을 빼앗고 점차 영웅주의 문화를 형성합니다. 시간이 지나면서 지속적인 화재 진압은 다음과 같은 근본 원인을 숨깁니다:
- 불명확한 요구사항 및 기대치
- 약한 소유권
- 깊이 있는 시스템 지식 부족
- 누락되었거나 취약한 프로세스
그 비용은 결국 번아웃, 취약한 전달, 반복되는 문제로 나타납니다.
상황에 영향 주기
EM은 시스템을 설계하여 화재 진압을 최소화함으로써 상황에 영향을 줄 수 있습니다. 여기에는 다음이 포함됩니다:
- 명확한 소유권 및 책임 경계
- 예측 가능한 계획 및 검토 주기
- 명시적인 의사결정 프레임워크
- “완료”와 품질에 대한 공유 정의
- 일반적인 실패 모드를 방지하는 가드레일
목표는 문제를 완전히 없애는 것이 아니라, 문제를 더 일찍 발견하고 다루기 쉽게 만드는 것입니다.
실제 적용 방법
- 반복되는 사고를 추적하고 왜 반복되는지 질문한다.
- 현재 문제를 고치는 것에만 집중하지 말고 다음 실패를 예방하는 데 시간을 투자한다.
- 회고를 사용해 시스템을 조정하고, 비난을 할당하지 않는다.
- 긴급 작업에서 구조적 개선으로 점차 시간을 전환한다.
요점
화재 진압은 오늘의 문제를 해결한다. 사려 깊은 설계를 통해 시스템이 개선되면 비상 상황이 줄어들고—발생하더라도 시간과 노력이 더 효율적으로 사용된다.