개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
프로젝트 시작부터 끝까지 역할 담당 가능한 여러 분야의 인원으로 팀을 꾸려라.
지금은 20세기가 아니다. 도구를 사용하자. 생활화하자.
항상 사용자 입장을 생각하고, 자신이 작성한 코드에 자부심을 가질 수 있도록 충분히 공부하자.
TIL (Today I Learned) 날짜
2022. 04. 05
오늘 읽은 범위
9장. 실용주의 프로젝트
책에서 기억하고 싶은 내용을 써보세요.
Topic 49. 실용주의 팀 (p.378)
TIp 84. 작고 안정적인 팀을 유지하라. 팀은 작고 안정적이어야 한다. 모두가 서로를 신뢰하고 의존해야 한다.
품질은 팀원 모두가 제각기 기여할 때만 보장된다. 품질은 애초에 제품에 포함된 것이지 나중에 덧붙이는 것이 아니다.
성공을 원하는 팀이라면 자신들의 지식과 기술에 투자하는 것을 고려해야 한다.
1. 구형 시스템 유지 보수
2. 프로세스 회고와 개선
3. 새로운 기술 탐험
4. 학습 및 기술 갈고 닦기
훌륭한 프로젝트팀은 뚜렷한 특성이 있다. 생산해 내는 문서는 깔끔하고 정확하며 일관적이다.
여러분은 팀 동료에게 질문을 하고 거의 즉각적으로 답을 받을 수 있어야 한다.
Tip 86. 모든 기능을 갖춘 팀을 조직하라.
도구 제작 역량을 팀내에 꼭 갖추어서 프로젝트 개발과 서비스 배포를 자동화하는 도구를 만들고 적용하라.
각 팀원이 자신의 방식대로 빛나게 하라.
Topic 50. 코코넛만으로는 부족하다 (p.387)
눈에 잘 띄는 결과물을 만드는 데만 투자하면서 기반이 되는 작업이 마법처럼 끝나 있기를 소망하지 말라.
Tip 87. 유행하는 것이 아니라 실제로 잘 맞는 것을 사용하라.
여러 특정 방법론에서 가장 좋은 부분만 가져다가 적절히 조정하여 사용해라.
Tip 88. 사용자에게 필요할 때 제공하라.
Topic 51. 실용주의 시작 도구 (p.392)
어떤 작업이건 간에 일상적인 작업은 모두 자동화해야 한다.
Tip 89. 버전 관리 시스템으로 빌드, 테스트, 릴리스를 운용하라.
Tip 90. 일찍 테스트하고, 자주 테스트하라. 자동으로 테스트하라.
Tip 91. 모든 테스트가 끝날 때까지는 코딩이 끝난 게 아니다.
'단위 테스트'는 하나의 모듈을 테스트하는 코드다.
'통합 테스트(integration test)'는 프로젝트를 구성하는 주요 서브시스템이 다른 부분과 제대로 작동하는지 보여준다.
최종 사용자의 접근 방식에 대해, 그리고 그것이 개발자의 테스트 데이터와 어떻게 다른지에 대해 관심을 기울여라.
실세계 조건에서 성능 요구 사항들을 준수하는지 자문해 보라.
완벽한 소프트웨어를 작성할 수 없기 때문에, 완벽한 테스트 소프트웨어 역시 작성할 수 없다.
Tip 92. 버그를 심어 놓고 테스트를 테스트하라.
필요한 만큼 철저하게 테스트했다고 해서 충분한지는 알 수 없다!
Tip 93. 코드 커버리지만 올리지 말고 상태 조합을 테스트하라.
테스트하려는 코드의 계약과 불변식에 따라 테스트 데이터를 생성하는 '속성 기반' 테스트 기법을 사용하라.
Tip 94. 버그는 한 번만 잡아라.
Tip 95. 수작업 절차를 사용하지 말라.
Topic 52. 사용자를 기쁘게 하라 (p.402)
개발자로서 우리의 목표는 사용자를 기쁘게 하는 것이다.
어떻게 사용자들이 기대하는 것을 밝혀낼 수 있을까? 고객 잔존율, 데이터의 품질, 절감한 비용 등으로 판단할 수 있다.
Tip 96. 사용자를 기쁘게 하라. 그저 코드만 내놓지 말라.
진정한 여러분의 직함은 "문제 해결사"다.
이것이 우리가 하는 일이고, 실용주의 프로그래머의 본질이다.
Topic 53. 오만과 편견 (p. 404)
자신의 작업에 자부심(pride)을 갖고 여러분의 서명을 남겨라.
다른 사람의 코드를 존중해야 한다.
사람들이 코드에 붙은 여러분의 이름을 보고 그것이 튼튼하고 잘 작성되었으며, 제대로 테스트되었을 뿐 아니라 훌륭히 문서화되었을 것이라고 기대하도록 만들자.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
벌써 마지막 장?! 시간이 이렇게 빨리 지나갔나?! 싶어요.
맺음말까지 쭉 마저 읽었는데 도덕적 잣대, 우리의 미래에 대해서 생각해보게 되었어요.
항상 사용자의 입장에 있었고, QA 업무를 담당하던 과거에는 개발자의 책임과 업무를 충분히 이해하지 못했어요. 스스로 너무 쉽게 생각했던 부분도 많았다고 생각했어요.
제가 나중에 작게나마 팀을 하나 담당하게 된다면, 팀원들을 잘 챙기고 계속 공부할 수 있도록 지원해주고 싶어요. 주간에 일하고 여가시간에 공부하라는 것이 아니라, 눈치 보지 않고 의견 낼 수 있고 서로 배울 수 있는 환경을 만들어야겠어요.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
사소해서 딱히 적을만한 내용이 없어요
오늘 읽은 다른사람의 TIL
ckdtjs505님의 TIL (https://nomadcoders.co/community/thread/4249)