728x90
반응형

깨진 유리창의 법칙(Broken Windows Theory)

깨진 유리창을 방치하면 그 지점을 중심으로 범죄가 확산된다는 사회학 이론

 

만약에 맨 처음에 불안정한 테스트 케이스를 발견한 개발자가 해당 테스트 케이스를 제외하지 않고 불안정한 원인을 찾아서 고쳤더라면 어땠을까요?

 

우선 팀 전체가 이 문제를 정확히 인지할 수 있도록 공론화하고 개발자들과 현 상태를 더 이상 방치할 수 없다는 공감대를 형성하였습니다. 무엇보다 테스트를 실행하지 않아 테스트를 작성하지 않는 악순환을 끊는 것이 우선이었습니다. 우선 테스트가 없는 코드에 대해서는 무관용 원칙을 세우고, 실패하는 테스트가 하나라도 있을 경우 아예 코드를 머지할 수 없도록 CI/CD 설정을 변경했습니다. 이를 위해서 초반에는 실패하고 있는 모든 테스트 케이스가 실행되지 않도록 하는 것도 감수해야 했습니다. 그리고 개발자들은 본인이 건드린 코드와 직접적인 관련이 없더라도 어떤 테스트가 실패하면 미루지 않고 즉시 원인을 찾아 고쳐야 했습니다. 상당히 고통스러운 과정이었지만 저는 열심히 개발자들을 독려하였고, 이로 인한 단기적인 퍼포먼스 저하와 팀의 우선순위에 대해서 저를 불러들인 매니저와 적극적으로 소통하였습니다. 얼마나 많은 테스트 케이스가 정상화되는지 팀원들에게 매주 진척도를 공유하였고, 마침내 제외되었거나 깨져있던 100여개의 테스트 케이스를 모두 안정적으로 CI/CD를 통해 자동으로 돌릴 수 있게 되었습니다. 

 

https://www.daleseo.com/broken-windows/

 

깨진 유리창의 법칙

Engineering Blog by Dale Seo

www.daleseo.com

 

728x90
Posted by Mr. Slumber
,