오늘 TIL 3줄 요약
-
버전 관리, 회귀 테스트, 전체 자동화를 프로젝트에 도입하라.
-
실용주의 팀을 조직하라.
-
코드에 붙은 내 이름을 보고 그것이 튼튼하고 잘 작성되었으며 제대로 테스트되었을 뿐 아니라 훌룡히 문서화되었을 것이라고 기대하도록 만들어라.
TIL (Today I Learned) 날짜
2022/04/05
오늘 읽은 범위
9장. 실용주의 프로젝트
책에서 기억하고 싶은 내용을 써보세요
- 실용주의 팀
- 실용주의 팀은 작다. 구성원이 대략 10 ~ 12명 이하여야 하고, 구성원이 추가되거나 빠지는 일은 드물어야 한다. 모두가 서로 잘 알고, 신뢰하며, 의존해야 한다.
- 작고 안정적인 팀을 유지하라.
- 모든 사람이 적극적으로 환경 변화를 감시하도록 권장하라. 범위의 확장, 일정 단축, 추가 기능, 새로운 환경 등 무엇이건 간에 애초에 인지하고 있던 것과 다른 것들을 늘 깨어서 의식해야 한다. 새 요구사항에 대한 수치를 관리하라.
- “시간이 나면 그때” 하겠다는 것은 “영원히 하지 않겠다”는 것이다. 할 일을 백로그로 관리하든 업무 목록이나 업무 흐름 도구를 사용하든 간에 기능 개발로만 몽땅 채우지는 말라. 새로운 기능을 만드는 것 외에도 해야 할 일들이 있다.
- 구형 시스템 유지 보수
- 프로세스 회고와 개선
- 새로운 기술 탐험
- 학습 및 기술 갈고 닦기
- 모든 기능을 갖춘 팀을 조직하라.
- 자동화는 모든 프로젝트 팀에게 필수 불가결한 요소다. 도구 제작 역량을 팀 내에 꼭 갖추어서 프로젝트 개발과 서비스 배포를 자동화하는 도구를 만들고 적용하라.
- 코코넛만으로는 부족하다
- 유행하는 것이 아니라 실제로 잘 맞는 것을 사용하라.
- 제품을 몇 년에 한 번꼴로 출시하고 있다면, 주기를 몇 달에 한 번으로 줄이도록 노력해 보라. 몇 달에서 또 몇 주로 줄여 보라. 4주 단위 스프린트를 2주로 줄여 보라. 2주에서 1주로도 줄여 보라. 그리고 하루로, 마지막으로는 필요할 때마다 출시하는 것을 목표하라. 필요할 때마다 출시한다는 것이 끊임없이 1분에 한 번씩 배포한다는 뜻은 아니다. 사용자가 필요로 할 때마다, 사업적으로 배포가 의미 있을 때마다 배포하는 것이다.
- 실용주의 시작 도구
- 버전 관리, 회귀 테스트, 전체 자동화. 이 셋은 모든 프로젝트를 지탱하는 기둥이다.
- 버전 관리 시스템으로 빌드, 테스트, 릴리스를 운용하라.
- 일찍 테스트하고, 자주 테스트하라. 자동으로 테스트하라.
- 모든 테스트가 끝날 때까지는 코딩이 끝난 게 아니다.
- ‘단위 테스트’는 하나의 모듈을 테스트하는 코드다. 관련 모듈이 모두 각각의 개별 테스트를 통과하고 나면 다음 단계로 넘어갈 준비가 된 것이다.
- ‘통합 테스트’는 프로젝트를 구성하는 주요 서브시스템이 다른 부분과 제대로 작동하는지 보여준다.
- 성능 테스트 혹은 스트레스 테스트 역시 프로젝트의 중요한 측면이다. 소프트웨어가 실세계 조건에서 성능 요구 사항들을 준수하는지 자문해 보라.
- 버그를 심어 놓고 테스트를 테스트하라.
- 코드 커버리지만 올리지 말고 상태 조합을 테스트하라.
- 버전 관리, 가차 없는 테스트, 전체 자동화라는 세 기둥이 있다면 여러분의 프로젝트에 필수적인 견고한 기반이 생긴 것이다.
- 사용자를 기쁘게 하라
- 모든 팀 구성원이 사용자가 기대하는 바를 완전히 이해해야 한다.
- 사용자를 기쁘게 하라. 그저 코드만 내놓지 말라.
- 오만과 편견
- 자신의 코드만 좋게 보고 동료들의 코드는 깍아내리는 편견을 갖게 된다. 경계심 때문에 여러분의 코드를 참견하는 사람으로부터 방어하려고 해서는 안 된다. 같은 맥락에서, 다른 사람의 코드를 존중해야 한다.
- 사람들이 코드에 붙은 여러분의 이름을 보고 그것이 튼튼하고 잘 작성되었으며 제대로 테스트되었을 뿐 아니라 훌룡히 문서화되었을 것이라고 기대하도록 만들자. 전문가가 만든 진정으로 전문가다운 결과물.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 실용주의 시작도구에 나온 사항들을 실천해보아야겠다. github의 main branch에 push 또는 merge 되는 코드들을 ci/cd 도구를 테스트하고 테스트에 통과한 코드들은 클라우드에 자동으로 배포되도록… 책에 나온 말처럼 “시간이 나면 그때”가 아닌 5월안으로…