노트

실수 예방이 아닌 실수 관리

Error Management

개발 문화#learning · 연결된 개념 8개

쉽게 말하면

실수 관리는 넘어지지 않는 법만 가르치기보다 넘어졌을 때 빨리 일어나는 법을 익히는 스케이트 수업 같아요. 어차피 넘어지니까 빨리 털고 일어나 왜 넘어졌는지 배우는 쪽이 더 멀리 가요.

비유가 깨지는 곳 스케이트는 혼자 넘어지지만 팀의 실수는 감추면 아무도 못 배워요. 그래서 비난 대신 회복을 돕고, 테스트·CI로 실수를 일찍 드러내며, 비난 없는 사후 분석으로 함께 이야기해요.

실수를 완전히 막는 것은 불가능하다. 그래서 실수가 나쁜 결과로 이어지기 전에 빨리 발견하고 회복하는 것, 그리고 실수에서 배워 다음 계획에 반영하는 것에 집중하는 접근(Error Management)이다. 실수를 막는 데만 힘쓰는 실수 예방(Error Prevention)과 대비된다.

실수 예방 문화실수 관리 문화
실수한 사람비난·처벌빨리 회복하도록 돕는다
실수 정보감추고 이야기하지 않는다공개하고 함께 이야기한다
결과배울 기회가 사라진다학습과 혁신이 늘어난다
  • 『함께 자라기』가 소개하는 연구에서는 실수 관리에 가까운 조직일수록 혁신 정도와 수익성이 높았다
  • 실수가 없으면 학습도 없다. 교육 중에 일부러 실수를 경험하게 하면 배운 것을 다른 상황에 더 잘 적용한다
  • 전문가에게 배울 것은 정답뿐 아니라 실수에 대처하는 방법이다

개발에서의 모습

실수를 이야기할 수 있는 분위기가 먼저다 → 심리적 안전감. 주기적인 회고는 실수를 배움으로 바꾸는 자리다.

출처: 『함께 자라기: 애자일로 가는 길』 김창준

연결된 개념

이 노트를 가리키는 문서

뜻이 가까운 노트

  • 최소 재현

    버그가 여전히 일어나는 가장 작은 코드와 조건을 만드는 것. 원인을 좁히고, 테스트로 고정하고, 남에게 묻기 쉬워진다.

  • 테스트 냄새

    테스트 코드나 테스트 습관에서 나는, 더 깊은 문제를 알리는 신호. 제라드 메스자로스의 xUnit 테스트 패턴 정리가 이름을 붙였다.

  • 소프트웨어 공학의 법칙들

    소프트웨어 시스템과 팀, 의사결정에 반복해서 나타나는 경험칙들을 모아 부르는 말. 법칙이라고 부르지만 대부분 증명된 정리가 아니라 관찰과 격언이다. 판단할 때 떠올릴 이름표로 쓴다. 따로 노트를 둔 것은 링크로, 나머지는 한 줄로 적었다.

  • 예외 처리 원칙

    예외 처리 문법의 목적은 오류가 발생한 지점과 처리하는 지점을 떼어 놓는 것이다. 그래서 잘 처리한다는 건 try-catch를 많이 쓰는 게 아니라 잘 던지고, 사용자에게 대응할 수 있는 경계에서 한 번에 잡는 것이다.

  • 디버깅 문제 정의 5단계

    문제 정의 → 올바른 동작 정의 → 최소 재현과 관찰 → 차이를 만드는 원인 탐색 → 가설 검증 순서로 버그를 좁혀 가는 틀.

보기 옵션