logo
Search검색어를 포함하는 게시물들이 최신순으로 표시됩니다.
    Table of Contents
    7장: 엔지니어링 생산성 측정하기

    이미지 보기

    7장: 엔지니어링 생산성 측정하기

    엔지니어링 생산성의 측정 목적, 지표 선정, 효과적 관리 방법에 대하여

    • 25.06.24 작성

    • 읽는 데 10

    TOC

    참고

    본 내용은 구글 엔지니어는 이렇게 일한다(링크)를 읽고 정리한 내용입니다.
    책의 내용과 함께 개인적인 의견과 생각, 학습을 담아 작성하였습니다.

    엔지니어링 생산성을 측정하는 이유

    • 사업이 번창하여 사업 분야를 확장하려 할 때, 조직의 규모가 커지면 소통 비용은 제곱으로 커진다.
    • 조직의 규모를 키우는 대신, 개개인의 생산성을 높이면 해결된다.
    • 생산성을 높이기 위한 프로세스 효율화 및 개선 역시 비용이었다.
    • 이 개선 사이클의 효율까지 높여야 한다.

    선별: 측정할 가치가 있는가?

    • 생산성을 측정할 방법을 정하기 앞서 지표가 측정할 가치가 있는지를 먼저 알자. 측정도 비용이다. 현명하게 측정하고 평가해야 한다.
    • 팀의 생산성을 측정하려 할 지 결정할 때, 측정하고 싶은 것을 설명하게 하라. 이 질문에 구체적으로 답할수록 얻는 게 많았다.

    가치를 판단할 때 할 수 있는 질문

    • 어떤 결과를 기대하고, 왜 그런가?
      • 어떤 일이 벌어져야 하는지에 대한 예측, 그리고 의도와 다른 결과를 인정해야 한다.
    • 데이터가 기대한 결과를 뒷받침한다면 어떤 조치를 취하겠는가?
      • 기대 결과가 나오더라도 '현상 유지'를 한다면 측정한 의미가 없다.
    • 부정적인 결과가 나온다면 적절한 조치를 취할 것인가?
      • 역시 부정적인 결과가 나와도 결정이 바뀌지 않는 경우가 흔하기 때문
      • 부정적인 결과를 압도하기 위한 또다른 근거를 찾아 추가하곤 한다.
      • 역시나 측정할 가치가 없는 상황
    • 결과에 따른 조치는 누가 결정하고 언제 수행하는가?
      • 측정 의뢰자가 조치를 취할 권한이 있는지 확인
      • 결정권자의 입장과 계획, 측정에 대한 신뢰가 중요하다.

    좋은 질문들 같습니다. 특히, 결과를 받았을 때 어떤 조치를 할 것인지에 대한 질문이 와닿았습니다. 피드백을 받는 것은 쉽지만, 행동하고 조치하는 건 어려우니까요.

    생산성 측정을 하지 말아야 할 합당한 이유

    • 당장 프로세스/도구를 변경할 여유가 없다.
    • 어떤 결과가 나오든 곧 다른 요인에 의해 의미가 없어질 것이다.
      • 조직 개편을 앞두고 있을 때
      • 폐기한 제품의 기술 부채 평가
      • 결정권자의 생각이 확고할 때
    • 측정 결과를 이미 확정된 계획을 뒷받침하는 용도로만 쓴다.
    • 측정할 수 있는 지표들이 문제를 평가하기에 충분히 정확하지 않으며, 다른 요인들 때문에 혼탁해질 우려가 크다.

    구글에서는 정말 생산성 측정을 꼭 필요한 순간에 하기 위해 노력한다는 것이 느껴졌습니다. '측정도 비용이다'라는 앞에서 언급된 말을 뒷받침하는 내용들이네요.

    GSM 프레임워크: 목표와 신호를 뒷받침하는 의미 있는 지표 선정하기

    실제로 의미가 있는 엔지니어링 생산성 지표

    • 목표(Goal): 측정자가 원하는 최종 결과
    • 신호(Signal): 원하는 최정 결과를 이루었는지 판단하는 방법
    • 지표(Metric): 실제로 측정하는 대상

    가장 먼저 목표를 세우고, 신호를 정하고, 지표를 만든다. 덕분에 가로등 효과를 없애준다.

    가로등 효과(streetlight effect)

    • 보이는 곳만 봐서 정작 열쇠가 떨어진 곳은 살펴보지 못하는 상태
    • 진짜 필요한 지표인지와 관계없이 쉽게 구할 수 있고 측정하기 쉬운 지표를 사용하는 것
    • 목표를 이루는 데 실제로 도움이 되는 지표가 무엇인지 생각해보게 한다.

    적절한 지표 선정

    • 원칙에 입각한 적절한 지표들을 선정하게 함
    • 원칙 없이 지표를 선정하면 결과 역시 신뢰할 수 없고, 더 매력적인 지표를 사용하고 싶어진다.
    • GSM은 '목표를 측정할 수 있는 능력'을 기준으로 지표를 선정

    추적 가능성

    • GSM은 측정할 수 있는 영역과 아닌 영역을 알려준다.
    • 모든 목표를 나열한 뒤, 각 목표를 포착할 수 있는 신호들을 찾아낸다.
    • 단, 모든 신호가 다 측정할 수 있는 것은 아니다.
    • 중요한 것은 추적 가능성을 잃지 않는 것

    목표(goal)

    • 원하는 속성을 설명하되, 어떠한 지표도 명시해서는 안 된다.
    • 측정은 불가능하되, 목표 목록을 잘 정의해야 신호와 지표 선정 단계에서 유효한 동의를 얻을 수 있다.

    퀀츠(QUANTS): 구글의 생산성 지표

    아래 5개 요소는 서로 트레이드오프를 만든다. 때문에 특정 요소를 개선하느라 다른 요소를 희생하지 않도록 구글에서는 아래 5개 요소에 대한 각각의 생산성 목표를 잡는다.

    • 코드 품질(QUality of the code)
    • 엔지니어들의 몰입도(Attention from engineers)
    • 지적 복잡성(iNtellectual complexity)
    • 박자와 속도(Tempo and velocity)
    • 만족도(Satisfaction)

    단, 모든 생산성 문제가 5개 영역과 모두 관련이 있지는 않으므로 참고만 한다.

    트레이드오프를 고려해 생산성 지표의 각 목표를 설정한다는 면이 세심하게 느껴집니다. 거기에 제품으로서의 생산성과 함께, 엔지니어의 노동 생산성과 감정까지 고려한 면이 정말 사려 깊다고 느꼈습니다.

    신호(Signal)

    • 목표 달성 여부를 알 수 있는 방법
    • 모든 목표에는 신호가 최소 하나는 필요하다.
    • 어떤 목표들은 같은 신호를 공유하기도 한다.

    지표(Metric)

    • 신호를 측정하는 방법의 최종 형태
    • 측정 가능한 대리이자 표면
    • 그래서 여러 지표를 종합하여 정확도를 높이기도 한다.

    이번 챕터는 전체적으로 가독성 프로세스 사례를 통한 일방적 정보 전달에 가까웠습니다. 현업에서는 생산성을 이렇게 체계적으로 측정할 일이 없다보니 생소한 방식이긴 하나, 측정 목표를 정하고 지표를 확인하여 달성 여부를 확인하는 것, 그리고 후속 작업에 대한 여러 철칙들이 구글이 어떻게 생산성을 계속 높여가고 있는지 다시 한 번 알게 해주는 포인트였습니다.

    profile

    FE Developer 박승훈

    노력하는 자는 즐기는 자를 이길 수 없다