(책) NHN은 이렇게 한다. 소프트웨어 품질 관리
누군가의 말을 빌리자면 품질 관리의 바이블(?)이라고 하는.
내용면에서는 특별한 건 없지만, 그래도 국내에서는 SW를 잘한다고 하는 사람들이 많이 가는 회사이고, 누구못지 않게 SW 문화가 좋을 거라고 생각하는 회사라 어떤 고민을 하고 어떻게 SW 품질을 위해 노력하는 지 알 수 있게 해주는 유일한 책이다.
외국의 많은 회사처럼 사내에 노하우 등을 많이 공유하는 좋은 모습을 보이고 있고, 실제 제공되는 서비스의 독점성이나 중립적이지 못한 언론 관련 내용은 맘에 들지 않지만 그래도 개발자 입장에서는 이렇게 현실적인 내용을 공유해주는게 감사할 따름
2009년, 2010년에 있던 일이라 벌써 옛날 이야기이고, 지금도 그러는 지는 알 수 없다는 게 아쉬울 따름.
SW의 생산성에 대해서도 참고할 만한 정의를 내리고 있다. 특별히 SW 생산성 보다는 품질 지표로 생산성을 보겠다는 생각에는 나도 동감. 관리하는 사람이 그렇게 보질 않아 문제지만.
Coding Convention
Code Review
Code coverage
Static Analysis
Complexity analysis
5가지 면에서 어떤 도구를 사용해서 어떤 점을 측정하고, 개선하려고 노력하는 지, 그리고 목표 수준은 어떤 지 등을 설명하고 있다. 실제 각 항목 별로 100점 만점을 목표로 하는 것이 아니라 현실적인 수준과 NHN의 현재 수준을 실제로(2009년 정보지만) 보여주고 있어 참고할 만 하다.
각 항목별 개발자들의 피드백을 보면 비슷하다(아니 5년 전 내용이니 5년 정도 뒤떨어졌다고 봐야 하나? 그렇지는 않을 듯)
뭔가 변화를 주는 것이나, 의미없는(?) 수치화, 기존 코드의 수정에 대한 부담감. Test coverage 를 높이기 위해 들이는 노력에 대한 부담감, Online code review만으로 부족해 결국 offline code review를 하고 다시 online code review를 해야 하는 불합리성에 대한 고민 등은 내가(스스로 그리고 주변 사람들로부터) 보고 느낀 것과 크게 다르지 않다.
적용 효과 순
적용 비용 순
책을 쓴 사람들은 품질관리하는 부서에 있는 사람들이다 보니 실제 저런 활동의 주체가 되어야 하는 개발자들의 의견은 피드백으로 기술된 내용으로 한정된다. 그래도 저 책에 기술된 내용과 크게 다르지 않을 것 같다. 그렇지 않으면 저 책을 쓴 사람들이 회사내에서 욕 먹을 각오를 했어야 하는데 그렇게까지 없는 내용을 쓰지는 않았을 테니.
결국 개발 문화를 변화시키는 대는 개개인의 노력이 가장 중요하지만, 합리적인 접근을 통해 점진적인 변화를 유도해 가는 것이 가장 중요하다고 생각된다. 그렇지 않으면 실제 품질이 높아져 품질 지표가 올라가는 것이 아니라 품질 지표만 올라가는 현실과 동떨어진 숫자만 남게 될 수 있기 때문이다. 아울러 이런 활동을 할 때는 개발자들에게 의도부터 방법까지 충분한 설명을 통해 공감을 얻어야 하고, 개발자들이 필요한 정보를 충분히 받을 수 있도록 지원 체계를 만들어야 한다.
지금처럼 주먹구구식으로 감시 항목만 늘어나는 한 숫자 뿐인 품질 수치만 좋아질 거다. 적어도 개발자들이 고통받는 혹은 들이는 노력에 비해 품질 향상은 아주 미비할 것이다. 누굴 위한 노력인지 정말 궁금할 뿐.