500K 줄 이상의 코드베이스로 작업합니다. 리팩토링이 심각하게 필요합니다. 일반적인 2 주 스프린트보다 오래 걸리는 리팩토링 노력이 확인되었습니다. 이 사이트의 다른 답변에서 제안한 것처럼 작은 작업으로 나눌 수 없습니다. 반복 종료시 제품이 작동해야하며 부분 리팩토링은 항목 간의 종속성이 끔찍하므로 시스템을 사용할 수없는 상태로 둡니다. 그렇다면이 장애물에 접근하는 가장 좋은 방법은 무엇입니까? 다시 말하지만, 작은 조각으로 나누는 것은 옵션이 아니며 이미 완료되었습니다.
업데이트 : 사람들은 왜 이것이 2 주 스프린트에 적합하지 않은지에 대한 설명이 필요한 것 같습니다. 코드를 작성하는 것보다 스프린트에 더 관여합니다. 테스트 없이는 코드가없는 정책이 있습니다. 해당 정책이 항상 존재하는 것은 아니며 코드베이스의 많은 부분에 해당 정책이 없습니다. 또한 일부 통합 테스트는 여전히 수동 테스트입니다. 문제는 리팩토링 자체가 너무 크다는 것이 아닙니다. 작은 변경 사항이 시스템의 많은 부분에 영향을 미치므로 해당 부분이 여전히 올바르게 작동하는지 확인해야합니다.
월별 핫픽스가 있으므로 스프린트를 해제하거나 연장 할 수 없습니다. 따라서 스프린트를지나 연장되는이 변경은 핫픽스에 추가 된 다른 작업을 중지 할 수 없습니다.
리팩토링 및 재 설계 : 개발 프로세스가 2 주 주기로이 리팩토링을 처리하기에 충분하지 않기 때문에 재 설계로 이름을 바꿀 필요는 없습니다. 앞으로 프로세스가 개선됨에 따라 2 주주기 내에 정확히 동일한 작업을 수행 할 수 있다고 생각합니다. 여기서 문제가되는 코드는 매우 오랫동안 변경되지 않았으며 매우 안정적입니다. 이제 회사의 방향이 변화에 적응하기 쉬워 짐에 따라 코드베이스의이 부분이 나머지 부분과 마찬가지로 적응하기를 원합니다. 리팩토링해야합니다. 여기에 대한 답변을 바탕으로 일반 스프린트의 시간 프레임에서이 리팩토링 작업을 수행하는 데 필요한 스캐 폴딩이 누락 된 것이 분명해졌습니다.
대답:
Corbin March가 처음 제안한 브랜치 및 병합 접근 방식을 수행하여 이러한 문제 영역과 누락 된 테스트를 식별하는 방법에 대해 자세히 알아볼 수 있습니다. 앞으로는 Buhb가 테스트에서 누락 된 영역을 식별하고 먼저 구현 한 다음 리팩토링을 제안하는 접근 방식을 취해야한다고 생각합니다. 여기에서 많은 사람들이 항상 리팩토링의 경우라고 말한 것처럼 정상적인 2 주 스프린트주기를 유지할 수 있습니다.