Trouble Shooting 트러블 슈팅이란?

@Deneb·2022년 1월 14일
32
post-thumbnail

"프로젝트 진행 중 가장 기억에 남는 트러블 슈팅 경험을 말해주세요"
필자 : ?

⛔트러블 슈팅? 그게뭔데

문제가 발생했을때 원인을 규명하고 해결하는 작업을 의미

필자는 고기를 좋아한다. 고기가 없으면 밥을 굶을 정도로 좋아한다. 어느날 고기를 과격하게 위장 한도를 훨씬 넘겨 먹어서 배탈이 났다. 배탈이 나면서 몸에 열이나기 시작해 추운 날씨가 더해져 몸살로 이어졌다. 결국 병원가서 링거를 맞고 주말 내내 누워 있는 과정을 통해 몸상태를 복구하였다.
이 모든 과정을 트러블 슈팅 이라 한다

트러블슈팅이 개발과정에서 중요한 이유는

  • 프로젝트 진행중 필수적으로 나타나는 오류와 버그에 대해 전반적인 과정을 문서화를 통해 예방할 수 있다.
  • 문제해결을 통한 과정을 기록하고 상기하면서 추후 같은 문제가 발생했을시 빠르게 대처가 가능
  • 기술자는 트러블슈팅 절차를 통해 계속되는 추가 질문을 답변하고 해결책 목록을 좁혀나가는 단계를 밟아나가거나 문제 해결에 도움이 될 해결책을 즉시 구현할 수 있다

고기를 좋아하는 필자는 이제 트러블 슈팅과정을 몸으로 경험하며 다시는 내 위장에 안맞게 과도한 고기섭취를 방지할 수 있다.

⛔트러블 슈팅의 기본적인 개념

가장 단순하고 빈도 높은 원인에서 가능성을 지워가는 것

이게 핵심이다.
트러블 슈팅은 제거법의 개념을 기본으로 하고있다.
pc가 멈췄어요 와 같은 트러블에 대해서는 전원의 on/off 여부, 전원플러그는 콘센트에 꽂혀있는가 와 같은 인과관계에서 하나씩 가능성을 제거해나간다.

⛔트러블 슈팅 방법

1. 문제 정의

  • 문제가 되는 동작 혹은 원인 확인
    ex) 배탈나버림

2. 사실 수집

  • 해당 문제에 대한 정보 수집
  • 문제를 재현하는 방법 수집
    ex) 배탈나게 한 음식에 대한 정보 수집

3. 원인추론

  • 확인된 사실을 통해 원인 추론
    ex) 아 고기때문에 배탈난거같다 많이먹었거든

4. 조사방법 결정

  • 증상과 추론 원인을 기반으로 어떤 순서로 문제를 해결할지 결정
  • 보통 가능성이 높은 원인을 우선적으로 조사
    ex) 고기를 얼마나 먹었는지 엄마한테 물어보기로 결정

5. 조사 방법 구현

  • 앞서 결정한 내용을 토대로 문제를 조사
    ex) 엄마 나 얼마나 먹었어? 한 5인분?

6. 결과 관찰

  • 조사 방법을 구현하고 그 결과를 기록
  • 만약 문제가 해결되지 않았다면 4번으로 돌아감
    ex) 아 5인분먹으면 배탈나는구나 이제 5인분말고 4인분까지 먹어야겟다

7. 문서 작성

  • 문제를 해결한 순서를 정리해 문서화함
    ex) 머리에 새겨넣는다

⛔적절한 트러블 슈팅을 실현하기 위해서

예시를 쉽게 들어서 잘 대처할 수 있다고 생각이 들 수도 있지만 실제 운용 측면에서 트러블 슈팅에는 몇 가지 과제가 있어 생각처럼 운용이 되지 않는 경우도 있다.

우선순위에 따라 어떤 대응을 해야하나

  • 개발운영팀에서 우선순위가 매우낮은 트러블이라도 문제가 발생하면 바로 대처해야된다. 우선순위가 매우 낮더라도 무시하지말고 우선도가 낮은 트러블에 대해 대처방안을 수립해야된다

대처 프로세스 체계화

  • 이슈가 생겼을때 해당 이슈를 한명만 처리할 수밖에 없다면 그 한명은 업무쏠림으로 다른 업무에 무리가 갈 수가 있다. 또는 인원부족으로 신입이나 경력이 짧은 직원이 대처해야된다면 이를 어찌 해결해야될까?
    이러한 상황을 피하기 위해 트러블 대응 업무를 체계화하고 매뉴얼로 문서화를 하여 표준화 하는 것이 중요하다. 그렇게 하면 누구라도 동일한 대응이 가능하여 원활하게 해결, 복구가 가능하다

⛔정리

개인적으로 개발이라는 분야는 트러블 슈팅을 통해 실력이 급상승할 수 있다는 생각을 가지고 있다. 처음 시작할때와 프로젝트를 시작하면서 겪었던 모든 오류와 과정을 몸소 겪으며 얻은 경험과 소스와 문서를 추후 다른 프로젝트를 진행하면서 생기는 오류에 대입해볼 수도 아니면 같은 오류일때 바로바로 대처가 가능하기 때문이다.
필자도 파이썬 머신러닝 프로젝트를 진행하면서 환경세팅에만 2주가 걸렸다. 난생 처음해보는 분야이기에 분명 구글에 검색한대로 따라하고 환경변수 설정하고 install하라는 모든 행동을 다했지만 안되어서 멘탈이 박살나기 직전까지 하다가 결국 해결했는데 이는 절대 잊어버릴 수가 없다.

면접에서 트러블슈팅 사례를 말해달라고 하면 당황하지말고 평소 개인 토이프로젝트나 프로젝트에 대한 트러블 슈팅에 대해 잘 숙지하고 정리를 해서 점수를 얻도록 하자

profile
JeongSeob LEE

0개의 댓글