본문 바로가기

잡동사니

Clean Agile #4 - 팀 실천 방법

팀 실천 방법

- 팀 구성원 사이의 관계, 그리고 팀원과 팀이 만드는 제품 사이의 관계를 다룬다.


메타포

- 팀 내에서 효과적으로 의사소통을 하려면, 개념을 나타내는 어휘와 용어를 명확하게 정의하여 일관되게 사용해야 한다.
- 메타포는 어휘를 만들어 팀 내 의사소통을 효율적으로 만든다. 반면에 고객을 모욕하는 어리석은 메타포도 있을 수 있다.

1. 도메인 주도 설계
프로그래머, QA, 관리자, 고객, 사용자를 모두 포함한 모든 사람이 해결하려는 문제 도메인의 모델을 동의하는 어휘로 표현해야 한다.


지속 가능한 속도

.... 지치지 않게 속도 유지

1. 초과 근무
가장 말도 안 되는 실수를 하는 때는 늦은 밤 정신없이 일하는 도중이라는 것을 깨달았다. 밤에 저지른 실수를 만회하느라 진짜 제정신인 시간을 계속해서 써야만 했다.

2. 마라톤
관리자가 당신에게 무리하게 더 빨리 달리라고 할 수도 있다. 그 말을 따르면 안 된다. 끝까지 일할 수 있도록 당신 자신을 관리하는 일은 당신의 몫이다.

3. 헌신
헌신적인지 보여 주고 싶을 때, 야근은 좋은 방법이 아니다.
야근이 증명하는 것은 당신이 계획을 잘못 세운다는 것, 동의하지 않았어야 하는 일정에 동의했다는 것, 하지 말았어야 하는 약속을 해버렸다는 것, 전문가가 아니라 다루기 쉬운 초보자라는 것뿐

4. 잠
자산의 몸이 몇시간을 자야 하는지 잘 파악하고, 이 시간을 확보해야 한다.


공동 소유

애자일 프로젝트에서는 아무도 코드를 소유하지 않는다. 팀 누구나 언제든지 어느 모듈이든 체크아웃해서 개선할 수 있다.
공동 소유를 실천하면, 지식이 팀 전체에 퍼진다. 팀 구성원 모두가 모듈 사이의 경계나 전반적인 시스템 동작을 더 잘 이해하게 된다.
그 결과, 팀 내 의사소통이 훨씬 원활하게 이루어지고, 더 좋은 결정을 내릴 수 있게 된다.

1. 엑스 파일
...고오급 프린터


지속적 통합

애자일 초기에는 지속적 통합이 한두 시간에 한 번 정도 소스 코드를 체크인하고, 주 브랜치에 merge 한다는 뜻이었다.
핵심은 지속적 통합은 통합을 지속적으로 할 때만 제대로 동작한다는 것이다.

1. 지속적 빌드의 등장
여러가지 지속적 빌드 도구가 나왔다. 젠킨스, 뱀부, 팀시티 등등..
켄트가 처음 주장한 한두 시간은 몇 분으로 바뀌었다. 지속적 통합은 지속적 체크인이 되었다.

2. 지속적 빌드 원칙
절대 깨지지 않아야 한다.

  • 윤전기를 멈춰 - 지속적 빌드는 절대 깨지지 않아야 한다.
  • 속임수를 쓴 대가 - 지속적 빌드를 깨진 채로 방치 == 자살행위


스탠드업 미팅

  • 미팅 참석은 필수가 아니다.
  • 꼭 매일 할 필요는 없다.
  • 10분이 넘게 걸리면 안 된다. 팀이 크더라도..
  • 회의는 다음과 같이 단순한 방식으로 진행한다.
    • 지난 스탠드업 미팅 이후 무엇을 했는가?
    • 다음 스탠드업 미팅까지 무엇을 할 것인가?
    • 어떤 장애물이 있는가?

모든 사람이 30초 정도 안에 세 가지 질문에 대한 답을 해야 한다.
끝. 완료.

1. 돼지인가? 닭인가?
핵심은 개발자만 말해야 한다는 것이다.
하지만 10분 이내로만 끝난다면 누가 말을 하는지는 크게 상관없는 것 같다.

2. 감사 인사
누구에게 감사하고 싶은가?


결론

이 실천 방법은 팀 내에서 의사소통할 때 사용하는 언어를 정하도록 도와준다. 그리고 팀원들이 서로를 어떻게 대하고, 프로젝트를 어떻게 대해야 할지 가늠할 수 있도록 해 준다.


'잡동사니' 카테고리의 다른 글

2020년 회고  (0) 2020.12.29
[study: OS] — ?. Segmentation  (0) 2020.09.14
Clean Code #2 - 의미 있는 이름  (0) 2020.09.13
Clean Code #1 - 깨끗한 코드  (0) 2020.09.08
List Interface  (0) 2020.07.27