백엔드를 예시로 드는 스타트업에서의 실수 관리

업무를 하다보면 실수는 항상 날 수 밖에 없습니다. 그렇기 때문에 실수는 항상 계산에 넣어두며 실수 비용을 관리해야 하는데요,


실수에 대한 생각을 백엔드 예시와 함께 팀원들에게 공유한 내용을 여기에도 공유드립니다.


1️⃣ 실수는 왜 나는가?

=> 실수는 시스템 탓이다. 사람은 불완전한 존재이며 사람에 전적으로 의존적이 되면 무조건 실수가 날 수 밖에 없다.


2️⃣ 백엔드 오퍼레이션을 할 때 실수가 보통 왜 나는가?

=> 특정 오퍼레이션에 대해 오퍼레이터나 개발자가 DB로 직접 값을 수정하다보니 생긴다. 데이터에 로직을 통해 접근하지 않고, 즉 캡슐화를 뚫고 데이터에 직접 접근하면 실수할 가능성이 커진다.


3️⃣ 이 실수가 안나도록 시스템이 개선되려면 어떻게 해야할까?

=> 오퍼레이션에 대한 비즈니스 룰과 제약조건이 정의된 API로 제공을 해야하며, 타이밍에 대한 로직을 활용할 땐 타이머를 써서 해당 로직이 실행되게 해야한다.


4️⃣ 왜 그렇게 하지 않는가?

=> 현재 우리는 만들어야할게 많고 자주 쓰이지 않는 것들까지 모든 오퍼레이션을 다 로직으로 정의하려면 들이는 시간대비 임팩트가 떨어진다.

그렇기 때문에 실수의 리스크를 짊어지면서 오퍼레이션으로 해결한다.


5️⃣ 그럼 결국 실수할 가능성이 생기는게 있는게 아닌가?

=> 개개인의 꼼꼼함에 의존해야하기 때문에 실수가 발생할 가능성은 어쩔 수 없다.

물론 개인의 역량에 따라 실수가 안날 수 있지만, 그건 그 사람이 아웃라이어인거지 디폴트가 아니다.

오히려 실수가 발생했을 때 그 실수가 끼칠 영향을 최소화하고, 어떻게 수습할건지 대응책이 잘 세워져있으면 된다.


6️⃣ 어쨌든 실수를 했기 때문에 회사에 손해를 끼치는게 아닌가?

=> 실수 비용은 이미 비즈니스 플랜에 포함되어있다. 초기 스타트업에선 비즈니스 계획을 짤 때 꼭 실수비용을 계획에 포함시켜야한다. 그렇지 않으면 리스크 관리가 안된다.

만약 실수가 끼칠 임팩트가 크다고 생각된다면 사전에 논의를 빡세게 해놔야하고 배포시점에 문제상황을 모두가 같이 모니터링해야한다.


7️⃣ 그런 마인드로 가면 실수를 조심하지 않는 마인드가 확산되지 않을까?

=>그래서 채용이 중요한거다. 지금 있는 팀원들은 충분히 프로의식이 있다고 생각하고 있다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 11월 24일 오전 10:26

댓글 0