1. 프로젝트를 진행하다보니 방법론은 항상 옳은가? 라는 고민이 든다.
나는 흔히들 말하는 TDD, 클린코드같은 방법론이 마치 절대 선이라 믿었던것 같다.
그러나 실제 프로젝트에 TDD와 클린코드를 도입하여 진행해보면서
TDD는 TDD에 정말 능숙한 리드 개발자가 존재하지않는환경에서 (내가 진행한 프로젝트가 그랬다. 신입 개발자 4명이서 진행한 프로젝트) 심각한 생산성의 저하가 나타난다는걸 느끼게 되었고,
클린코드를 도입함으로서 오히려 가독성이 떨어지는 경우도 많았다.
적절하게만 사용하면 장점만 다 뽑아먹을 수 있을거 같은데
그래본 경험이 없어서 극단적으로 사용한건 아닌가 라는 생각이 들고,
예를들면 TDD가 아닌, 서비스 코드를 먼저 짜고 그에 맞게 작동과 예외처리를 보장하는 테스트코드를 짜 일정 퍼센티지 이상의 테스트코드률을 보장 한다던지 하는 합의점을 찾는게 중요하지 않을까 ? 라는 생각이 든다
2. 이또한 프로젝트를 진행하다보니 든 생각인데, 예전에는 Redis, ES, Kafka같은 뭔가
멋있어보이고 좋아보이고, 재밌어보이는 기술스택은 무조건 도입해 보려 했던 기억이 난다.
실제로 도입하고 프로젝트를 진행하는과정에서 러닝커브라는게 정말 중요하다고 생각했고(기한은 정해져 있으니)
스택을 도입하기 위해선 프로젝트의 리소스를 정말 잘 관리해야한다는 고민이 들었다.
러닝커브라는것도 일종의 비용이니 결국 프로젝트의 리소스인것 같고,
신규 스택을 도입함으로서 얻는 리턴과 사용되는 리소스사이에서 무엇이 더 나은 선택인지를 항상 고민하고
잘 선택할 수 있도록 노력해야 하지 않을까. 이렇게 두가지의 고민같은 생각이 들었는데 다들 어떻게 생각하는지 궁금함
블로그에 적어논 그대로 가져온거라 말투랑 글씨체 이상해도 양해부탁함
1. 방법론은 말그대로 방법일 뿐임 +클린코드햇는데 클린하지않으면 클린코드가 뭔지 모르는거고 2. 당연한거임
무조건 도입하려고 목적을 갖고 하니까 그런거임