[실용주의 프로그래머] TIL(2022.04.06) 9장. 실용주의 프로젝트

다시보려고 쓰기·2022년 4월 5일
0
post-thumbnail

실용주의 프로그래머 (The Pragmatic Programmer)

오늘 TIL 3줄 요약

  • 실용주의 팀
  • 유행이 아니라 정말 실용적인 것이란
  • 문제 해결사

TIL (Today I Learned) 날짜

2022.04.06

오늘 읽은 범위

9장. 실용주의 프로젝트


책에서 기억하고 싶은 내용을 써보세요.

실용주의 팀

실용주의 팀은 작다. 구성원이 대략 10 ~ 12명 이하여야 하고, 구성원이 추가되거나 빠지는 일은 드물어야 한다. 모두가 서로 잘 알고, 신뢰하며, 의존해야 한다. (p.387)

팀 전체에 실용주의 기법들을 어떻게 적용시킬 수 있는지 ?

  • 깨진 창문을 없애라
    팀 전체가 깨진 창문을 용납하지 않아야한다. 반드시 제품의 품질에 책임을 져야한다.
  • 삶은 개구리
    모든 사람이 적극적으로 환경 변화를 감시하도록 권장하라.
  • 여러분의 지식 포트폴리오를 계획하라.
    성공하는 팀이라면 마찬가지로 자신들의 지식과 기술에 투자하는 것을 고려해야 한다.
    • 구형 시스템 유지 보수
    • 프로세스 회고와 개선
    • 새로운 기술 탐험 (후보 기술 프로토 타입만들기)
    • 학습 및 기술 갈고 닦기
  • 팀의 존재를 소통하라
    훌륭한 프로젝트팀은 뚜렷한 특성이 있다. 이들이 생산해내는 문서는 깔끔하고 정확하며 일관적이다. 팀은 한 목소리로 이야기한다.
  • 반복하지 말라
    DRY를 지키려면 서로 관심을 유지하라. 좋은 의사소통은 중복을 피한다.
  • 팀 예광탄
    처음에는 작고 제한적일지라도 시스템의 끝에서 끝까지 전체에 걸쳐 있는 단일 기능을 개발할 것을 추천한다.
  • 자동화
    도구 제작 역량을 팀 내에 꼭 갖추어서 프로젝트 개발과 서비스 배포를 자동화하는 도구를 만들고 적용하라.
  • 멈춰야 할 때를 알라
    프로젝트가 가치를 만들어 내기에 딱 좋을 만큼의 구조를 제공하라. (~ p.385)

코코넛만으로는 부족하다

맥락의 중요성 : 유행하는 것이 아니라 실제로 잘 맞는 것을 사용하라. 잘 맞는 것 같은 좋은 부분만 유지하고 나머지는 낭비나 비용일 뿐이므로 버리면 된다. (p.388)

만병통치약은 아무 병도 못 고친다 : 어떤 특정한 방법론에서 가장 좋은 부분만 가져다가 적절히 조정하여 사용해야 한다. 인기 있는 방법론만 좇지 말고, 다른 것들로도 눈길을 돌려야 한다. (p.389)

진짜 목표 : 진짜 목표는 작동하는 소프트웨어를 제공함으로써 사용자가 즉각적으로 새로운 일을 할 수 있게 되는 것이다. 모든 목표가 그렇듯 계속 올바른 방향을 바라보는 것이 중요하다. 사용자가 필요로 할 때마다, 사업적으로 배포가 의미 있을 때마다 배포하는 것이다. (p.391)


실용주의 시작 도구

버전관리, 회귀 테스트, 전체 자동화

단위테스트, 통합테스트, 유효성 평가 및 검증, 성능테스트, 테스트를 테스트하기, 철저한 테스트

마지막으로 테스트에서 가장 중요한 개념을 밝히고자 한다. 인간 테스터가 버그를 찾았다면 더는 인간 테스터가 그 버그를 만나서는 안 된다. 해당 버그를 확인할 수 있게 자동화 테스트를 수정해야 한다.
왜냐햐면 그런 일은 앞으로 다시 일어날 것이기 때문이다.
(~ p.400)

버전관리, 가차 없는 테스트, 전체 자동화라는 세 기둥이 있다면 여러분의 프로젝트에 필수적인 견고한 기반이 생긴 것이다. (p.401)


사용자를 기쁘게 하라

개발자로서 우리의 목표는 사용자를 기쁘게하는 것이다.
소프트웨어는 사업 가치를 달성하기 위한 수단일 뿐이다. (p.402)

여러분의 직함이 명목상으로는 "소프트웨어 개발자"나 "소프트웨어 엔지니어" 비슷한 이름일지 몰라도 진정한 여러분의 직함은 "문제 해결사"다. 우리는 문제를 해결한다. (p.404)


오만과 편견

자신의 코드만 좋게 보고 동료들의 코드는 깎아 내리는 편견을 갖게 된다. 다른 사람의 코드를 존중해야 한다. 개발자 사이의 황금률("남에게 대접받고자 하는 대로 너희도 남에게 대접하라.")과 상호존중이라는 기반이 꼭 필요하다. (p.405)

사람들이 코드에 붙은 여러분의 이름을 보고 그것이 튼튼하고 잘 작성되었으며 제대로 테스트되었을 뿐 아니라 훌륭히 문서화되었을 것이라고 기대하도록 만들자. (p.406)



오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요



궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 린 lean 방식
    1996년 James Womack과 Daniel Jones이 다음 다섯 가지 핵심 원칙으로 구성된 정의를 제시하였다: '특정 제품별로 정확한 가치를 명시하고, 각 제품의 가치 흐름(value stream)을 파악하며, 가치 흐름(value flow)이 중단되지 않도록 하고, 고객이 생산자로부터 가치를 이끌어낼 수 있게 하며, 완벽함을 추구하도록 한다'



오늘 읽은 다른사람의 TIL

0개의 댓글