저는 보통 리팩토링 스프린트를 대략 3 ~ 4 개월마다 한 번씩 시작합니다. 우리가 2 주 스프린트를 실행한다고 가정하면, 그것은 대략 7 회의 스프린트마다 하나의 리팩토링 스프린트이다.
다른 스프린트와 마찬가지로 리팩토링 스프린트를 엄격하게 2 주간 제한 시간 동안 실행합니다. 때로는 1 주 리팩토링 스프린트 (급한 일이 발생했을 때)를 실행하기도합니다.
리팩토링 달리기 때주의 사항 : 너무 야심하지 않습니다
- 는 리팩토링 무한 사이클 실현 : 당신은 항상 일을 할 수있는 더 좋은 방법을 찾을 수 있습니다.
- 리펙토링해야하는 것의 10 % 만 리펙토링하면 정상입니다.
- 다른 스토리와 마찬가지로 리팩토링을 처리하여 리팩터링 대상을 우선으로하고 리팩토링이 가장 필요한 코드의 위치를 알아야합니다. 유일한 차이점은 스토리를 리팩토링 할 때 개발자가 우선 순위를 설정하게했습니다.
- 부분 리팩터는 코드를 리펙터가없는 상태보다 더 나은 상태로 유지합니다. 또한 리팩터링을 쉽게하는 경향이 있습니다.
- 리팩토링은 스토리 작업시 리팩터링 스프린트 외부에서도 발생하지만 리팩토링이 스토리 완성을 방해하지 않는 낮은 매달린 과일 인 경우에만 발생합니다.
개인적으로 리팩토링 가이드로 사용합니다. 리팩토링을 관리 할 수있을뿐만 아니라 과도한 작업을 수행 할 때 유용한 지표 역할을합니다.
하나 더 내가 할 수있는 경우 - 그것은 명시 적으로 *을 개선하기 위해 설계 * 때 민첩 TDD와 민첩이 제대로 아키텍처 코드의 담당자를 얻을 때 나를 슬프게 지속적인 개선을 통한 코드 아키텍처. –
TDD는 잘 설계된 시스템을 종종 동일시하지 않습니다. 또한 TDD는 "적절한 경우"접근 방식으로 사용해야합니다. 내가 초록색 굴절 망원경에 동의하는 동안, 나는 많은 사람들이 이것에 매달려서 결과적으로 개발이 크게 지연 될 것이라고 믿습니다. TDD는 앱의 미세 부분에 초점을 맞추기에 좋습니다. 분명히 더 잘 설계된 워크 플로우로 확장되고 성장할 것입니다.하지만 실제로는 항상 좋은 매크로 디자인으로 이어지지는 않습니다. 스프린트 레벨 굴절 기는이를 위해 매우 중요합니다. – Chance
@ Chance : (1) ** 모든 ** 방법론이 잘못 적용되었거나 잘못 적용되면 아키텍처가 제대로 작성되지 않은 시스템이됩니다. (2) TDD는 전반적인 민첩 프로세스 내에서 적용되는 개발 방법론이며, 특히 TDD가 아닌 ** 민첩한 개발 **에 대한 내용을 읽으면 의견을 말하게됩니다. TDD를 사용하여 아키텍처와 같은 상위 수준의 문제를 해결하려고하면 실패합니다. TDD는 오로지 운전 테스트가 오믈렛을 요리하는 능력을 측정하지 못하는 것처럼 잘 설계된 시스템과 동일하지 않습니다 **! 그러나 잘 수행 된 TDD는 ** 상황을 악화시키지 않습니다 **. –