데브옵스 스터디 3~4장

김동영·2025년 6월 8일
0

데브옵스 스터디

목록 보기
2/7

3장

두 번째 방법: 피드백 원칙

  • 목표 - 신속하고 지속적인 피드백
  • 전제 조건 - 실패나 사고가 발생하면 처벌과 비난의 원인이 아닌 학습의 기회로 받아들여야 한다.
  • 방법
    • 피드백 루프 - 과거 발생한 일에 대한 처리
    • 피드포워드 루프 - 미래를 대비한 처리

복잡한 시스템에서 안전하게 작업하기

  • 복잡한 시스템의 문제점
    • 한 명의 사용자가 시스템 전반을 파악하기 어렵다.
    • 컴포넌트 간 상호 연결성이 높아 특정 컴포넌트 문제 발생 시, 격리시키기 어렵다.
    • 동일한 행위에 대해 예측이 어렵고 다른 결과를 초래할 수 있다.
      고객의 요구 사항 등 설계와 어긋나는 예외 케이스 처리?

문제를 발생 시점에 확인하기

  • 제품 관리, 개발, 운영 등 기술 가치 흐름의 모든 단계 작업 수행 시, 빠른 피드백/포워드 루프를 생성하는 것
  • 빠른 피드백을 통해 문제점을 빠르게 찾아 조정하고, 나아가 향후 같은 문제가 발생하는 것을 방지할 수 있다.
  • 퍼베이시브 텔레메트리로 컴포넌트 별 동작을 감지하고 측정한다.
  • 피드백 유형
    1. 개발자 테스트 - 개발자가 작업한 코드가 올바르게 동작하는지?
    2. 지속적 통합과 테스팅 - 작업한 코드가 이전 코드에 영향을 미치진 않는지?
    3. 탐색적 테스팅 - 테스트 케이스 없이 기능을 자유롭게 테스트하는 중 이상이 발생하진 않는지?
    4. 인수 테스팅 - 사용자 관점에서 요구사항을 만족하는지?
    5. 이해관계자 피드백 - 팀 차원에서 해당 기능은 올바르게 작성되었는지?
    6. 사용자 피드백 - 최종 전달된 기능이 고객 관점에서 유의미한 결과를 내는지?

스워밍과 문제 해결을 통한 새로운 지식 축적

  • 스워밍 - 문제 발생 시, 해당 문제에 집중하여 빠르게 해결하는 방식

  • 문제 발생 시, 미루지 말고 즉시 스워밍하여 해결해야 한다.

  • 안돈 코드

    • 일정에 차질이 생기는 등 중대한 이슈 발생 시, 안돈 코드를 당겨 책임자에게 인지시키는 것
    • 빠른 시간 내 해결되지 않을 경우, 모든 일을 멈추고 문제 해결에 집중할 수도 있다.
  • 스워밍 장점

    • 문제가 관계된 컴포넌트로 전파되는 것을 방지한다.
    • 새로운 작업 시작을 방지하여 동일한 문제가 재발하는 것을 막는다.
  • 스워밍을 위한 안돈 코드 당기는 시점 잡기

    • 문제 발생 시 당기기 => 다른 동료에게 부담이 될까봐 당기지 않게 됨.
    • 팀의 의견이 필요할 때 당기기
  • 안돈 코드 효율

    • 자주 당길수록 작업 사이클 타임이 감소하여 업무 효율이 증가한다.

품질 활동을 원천에 더 가깝게 유지하기

  • 의사 결정 단계를 실제 작업 단계와 가깝게 유지해야 한다.
  • 나의 생각
    작업한 뒤 의사 결정까지 시간이 소요된다면 배포 리드 시간이 증가하고 작업 내용을 잊어버릴 수 있다.

다운스트림 워크 센터 최적화하기

  • 외부 고객 - 실제 사용자
  • 내부 고객 - 실무진
  • 아키텍쳐, 성능, 안정성 등 운영상 비기능 요구사항도 최적화하여 원천 품질을 향상시켜 서비스 전체 품질을 향상시켜야 한다.

4장

세 번째 방법: 지속적인 학습과 실험 원칙

  • 높은 성과를 내는 조직은 적극적으로 학습을 장려한다.
  • 작업 시스템은 동적이며, 라인 근로자가 근무하며 개선 및 체계화 시킬 수 있도록 한다.
  • 위와 같은 문화를 위해선 지속적인 학습높은 신뢰의 문화를 생성하는 것이 중요하다.

조직적 학습과 안전 문화 활성화하기

  • 문제 발생 시, 관계된 직원의 이름을 밝히고 수치심을 주는 행위는 안된다.

  • 문제 발생 시, 오류 재발을 위해 더 많은 프로세스와 승인 과정을 만들면, 직원은 문제를 회피하고 경영진에게 보고하지 않을 가능성이 커진다.

  • 문제 발생 시, 비난 없는 포스트모템(회고) 를 통해 시스템 개선을 위한 대응책을 찾도록 조직 학습을 장려하여 생성적인 조직 이 되도록 만들 수 있다.

일상 업무 개선을 제도화하라

  • 일상 업무에 대한 개선 작업을 가시화하고, 꾸준히 수행하여 일상 업무 효율을 증가시켜야 한다.
  • 카이젠 블리츠 - 개선 작업을 위해 소규모 전담 팀을 구성하여 작업을 진행하는 것

국소적인 발견을 조직 전체의 개선으로 전환하라

  • 문제 발생 새, 조직 전체에 공유하고 문제를 해결 함으로써, 모든 팀원이 비슷한 수준의 문제 해결력을 가질 수 있다.
  • 신규 투입된 인원도 조직 단위로 축적된 문제 해결에 관한 지식을 쉽게 얻을 수 있다.

일상 업무에 탄력성 패턴을 추가하라

  • 일상 업무 개선과 성과 증진을 위해 긴장을 계속 주입한다.
  • 탄력성 향상을 위해 임의로 스트레스를 가할 수 있다.(반 취약성)
  • 카오스 엔지니어링
    운영환경에서의 혼란스러운 상황에서 빠른 복원력을 수행하고 또한 복원에 대한 신뢰성을 구축하고자 하는 실험
    • 넷플릭스 - 카오스 몽키
    • 게임 데이 - 전체 데이터 센터 전력 차단 등 대규모 실패를 연습하는 과정

리더가 학습 문화를 강화한다.

  • 리더는 학습과 훈련된 문제 해결의 가치를 높여야 한다.
  • 조직 내 목표를 설정하고, 그에 맞는 반복적인 단기 목표를 설정하여 근로자에게 상기시킨다.
  • 이런 목표를 토대로 일정, 학습 결과, 진행 상태 등을 체크하고 근로자의 일상 업무 문제를 해결하도록 도울 수 있다.

결론

지속적인 학습과 실험 문화 육성을 위해 아래 작업이 필요하다.

  • 일상 업무 개선의 제도화
  • 개인 및 팀의 학습을 전체 학습으로 전환 => 조직 전체에서 활용하도록 지식의 공유
  • 일상 업무에 지속적인 긴장을 주입
profile
k8s, 프레임워크와 함께하는 백엔드 개발자입니다.

0개의 댓글